Anatomie d'un « Space Data Center ». Serveur vertigineux : regardez sous le capot

Anatomie d'un « Space Data Center ». Serveur vertigineux : regardez sous le capot

Demain, nous enverrons notre serveur dans la stratosphère. Pendant le vol, le ballon stratosphérique distribuera Internet, filmera et transmettra des données vidéo et télémétriques au sol. Nous avons écrit à plusieurs reprises que nous parlerions de l'aspect technique de notre projet « Space Data Center » (précédemment répondu au nom «Serveur dans les nuages ​​2.0"). Nous l'avons promis : nous livrons ! Sous la coupe se trouvent une poignée de composants matériels et de code.

serveur Web

Même dans le précédent projet "Server in the Clouds", lorsque nous montions dans un ballon à part entière avec un équipage de deux personnes, emmener avec nous un serveur à part entière avec une batterie n'était, disons, pas rationnel. Et maintenant, nous parlons d'un petit ballon stratosphérique, qui devra gravir 30 km, pas 1. Nous avons donc choisi le même Raspberry Pi comme serveur web. Ce micro-ordinateur générera une page HTML et l'affichera sur un écran séparé.

Connexion satellite

En plus du Raspberry, des modems des réseaux de communication par satellite Iridium et Globalstar embarqueront à bord. Comme vous vous en souvenez, nous avions prévu d'ajouter un modem pour le réseau domestique des Gonets à leur entreprise, mais nous n'avons pas eu le temps de le recevoir à l'avance, nous l'enverrons donc sur le prochain vol. Grâce aux modems satellite, le serveur Web recevra vos messages, qui pourront être envoyés à page du projet. Ces messages seront transmis au Raspberry Pi, qui les mettra en file d'attente et les affichera sur une page HTML.

Point important : la limite de longueur d'un message texte en russe est de 58 caractères (espaces compris). Si le message est plus long, il sera coupé lors de la transmission. De plus, tous les caractères spéciaux seront supprimés du texte, par exemple : /+$%&;''""<>n etc.

Étant donné que le Raspberry Pi ne dispose que d'un seul port UART, nous connecterons les modems satellites via un hub intermédiaire, qui collectera les données des modems et les enverra au Raspberry Pi.

Modem radio

Le serveur Web affichera non seulement tous les messages reçus de votre part sur l'écran, mais les transmettra également à la Terre via un modem radio LoRa. Nous souhaitons donc tester l’idée de diffuser Internet depuis la stratosphère (un hommage au projet Google Loon). Bien sûr, notre ballon stratosphérique n'est pas un répéteur de communication à part entière, mais même si ses capacités sont suffisantes pour une transmission de données stable, sans pertes importantes d'informations, alors des systèmes spécialisés seront certainement en mesure de distribuer Internet depuis le pré-espace.

Télémétrie

De plus, nous prévoyons d'afficher les données de télémétrie sur la même page HTML. Le Raspberry Pi les prendra à partir d'un contrôleur de vol séparé.

Anatomie d'un « Space Data Center ». Serveur vertigineux : regardez sous le capot

Il interroge différents capteurs qui peuvent être placés à l'intérieur et à l'extérieur de la boîte hermétique matérielle, rassemble les informations dans une pile, les passe au peigne fin et les donne sous une forme pratique à ceux qui le demandent. Dans notre cas, il demandera Raspberry Pi. Nous enregistrerons la pression, l'altitude, les coordonnées GPS, la vitesse verticale et horizontale et la température.

Les données du contrôleur de vol sont transmises par de longues lignes, qui sont alors, à l'aide de ce code :

$str = 'N:647;T:10m55s;MP.Stage:0;MP.Alt:49;MP.VSpeed:0.0;MP.AvgVSpeed:0.0;Baro.Press:1007.06;Baro.Alt:50;Baro.Temp:35.93;GPS.Coord:N56d43m23s,E37d55m68s;GPS.Home:N56d43m23s,E37d55m68s;Dst:5;GPS.HSpeed:0;GPS.Course:357;GPS.Time:11h17m40s;GPS.Date:30.07.2018;DS.Temp:[fc]=33.56;Volt:5.19,0.00,0.00,0.00,0.00,0.00,0.00,0.00';
parse_str(strtr($str, [
	
':' => '=',
	
';' => '&'
]), $result);
print_r($result);

transformer en un tableau sous une forme pratique à afficher :

Array 
(
       [N] => 647
       [Т] => 10m55з
       [MP_Stage] => 0
       [MP_Alt] => 49
       [MP_VSpeed) => 0.0
       [MP_AvgVSpeed] => 0.0
       [Baro Рrеss] => 1007.06
       [Baro_Alt] => 50
       [Baro_Temp] => 35.93
       [GPS_Coord] => N56d43m23s,E37d55m68s 
       [GPS_Home) => N56d43m23s,E37d55m68s 
       [Dst] => 5
       [GPS_HSpeed] => 0
       [GPS_Course] => 357
       [GPS_Time] => 11h17m40s
       [GPS_Date] => 30.07.2018
       [DS_Temp] => [fс] ЗЗ.56
       [Volt] => 5.19, 0.00,0.00,0.00,0.00,0.00,0.00,0.00 
)

Nous diffuserons également des données télémétriques sur Terre avec vos messages. Pour ce faire, nous déploierons une station de réception sur le site de lancement.

Affichage et caméra

Afin que vous puissiez être sûr que le serveur reçoit réellement vos messages via communication satellite et qu'il a effectivement volé dans la stratosphère et ne se trouve pas dans notre bureau, nous avons décidé d'afficher tous les messages avec télémétrie sur un écran qui sera capturé par une GoPro. Il y avait peu de temps pour préparer le projet (comment peut-il y en avoir beaucoup ?!), nous ne nous sommes donc pas souciés d'Aliexpress et d'un fer à souder, mais avons plutôt pris un appareil prêt à l'emploi. C'est largement suffisant pour nos besoins. Nous connecterons l'écran au Raspberry via HDMI.

Nous prévoyons également de diffuser la vidéo de GoPro via un canal radio séparé, mais on ne sait toujours pas comment cela fonctionnera - peut-être que les nuages ​​​​bas réduiront considérablement la portée de communication. Mais dans tous les cas, après avoir trouvé le ballon stratosphérique atterri, nous publierons une vidéo de la caméra et vous pourrez voir par vous-même quels messages notre « centre de données pré-spatial » a reçu et à quelle altitude il a grimpé - la télémétrie sera affichée dans la même page HTML, De plus, un morceau d'horizon sera visible.

Nourriture

Toute la beauté décrite ci-dessus sera alimentée par un ensemble de batteries au lithium assemblées selon le circuit 3S4B - trois en série, quatre en parallèle. La capacité totale est d'environ 14 Ah à une tension de 12 V. Selon nos estimations, cela devrait suffire, mais après l'assemblage final, bien sûr, nous mesurerons la consommation réelle et, si nécessaire, ajouterons des batteries supplémentaires.

Ajoutez à tout cela les balises GPS, que nous utiliserons pour rechercher le ballon stratosphérique atterri. Et le boîtier hermétique sera la « maison » du serveur et des autres appareils.

Anatomie d'un « Space Data Center ». Serveur vertigineux : regardez sous le capot

Il protégera les équipements délicats des changements de température et de pression. Dans le même temps, cela réduira également la dose de rayonnement, même si cela ne joue aucun rôle pour notre projet, le serveur volera dans la stratosphère pendant un temps trop court et le fond n'y est pas aussi élevé que sur l'ISS.

En plus d'envoyer des messages à site du projet, vous pouvez participer à un concours et deviner où la sonde va atterrir. Le prix principal est un voyage à Baïkonour pour le lancement du vaisseau spatial habité Soyouz-MS-13.

Anatomie d'un « Space Data Center ». Serveur vertigineux : regardez sous le capot

Source: habr.com

Ajouter un commentaire