Serveur dans les nuages : préparez-vous au lancement

В article sur la régate Nous avons mentionné qu'en août, il y aura un concours avec des prix pour tous les Habrazhitels. Le moment est venu de lever le voile du secret. D'une manière ou d'une autre, nous avons eu l'idée que l'expression « serveur dans les nuages ​​» pouvait être prise au pied de la lettre. Lançons réellement un serveur fonctionnel dans le ciel qui peut être pingé ! Au début, l'idée semblait folle, mais après l'avoir déformée de toutes parts et en avoir discuté de toutes les manières, nous avons finalement trouvé un moyen d'envoyer le serveur vers les oiseaux. Un lancement historique aura lieu fin août, mais pour l'instant nous travaillons sur la partie matérielle du projet. Détails sous la coupe.

Serveur dans les nuages : préparez-vous au lancement

  1. Le serveur sera basé sur Raspberry Pi 3

    Il serait intéressant de soulever dans les airs un serveur monobloc, mais son poids + le poids de l'onduleur... Tout cela nécessiterait une force de levage considérable. Et pourquoi, si sur la base d'un Raspberry Pi 3 compact on pouvait déployer un serveur tout à fait correct, avec une puissance de calcul plusieurs centaines de fois supérieure à la machine sur laquelle Tim Berners-Lee s'amusait en 1991.

  2. Lançons le serveur en montgolfière

    Nous avions l'idée de soulever le serveur avec une sonde à hélium, mais le serveur ne faisait pas de ping longtemps avant que le ballon n'éclate à haute altitude dans une atmosphère raréfiée et que la structure entière ne tombe au sol. Je voulais étendre la « fenêtre » de temps d’antenne à une heure et demie. Et puis ils ont décidé d’utiliser un ballon. La durée du vol est de deux heures. De plus, bien que le vol ne soit pas entièrement contrôlable, il peut y avoir notre ingénieur dans la nacelle qui, en cas de dysfonctionnement, peut rapidement, sur place, « l'allumer et l'éteindre ».

  3. Nous utiliserons les communications cellulaires comme réseau de transport

    Les antennes WiFi modernes peuvent « percer » des distances assez longues, mais pour cela, il faudrait construire un complexe de communication dont les paramètres ne sont pas très inférieurs à ceux d'une station radar militaire. Et pour 1,5 à 2 heures de communication, cela n'a aucun sens de construire un tel système, car à l'altitude du ballon, les communications cellulaires doivent fonctionner de manière stable.

Après avoir formulé ces « postulats », le projet ne semblait plus irréalisable et bientôt nous avons commencé à travailler dans les trois directions à la fois.

Tout d'abord, nous nous sommes tournés vers les gars de Nearspace.ru, qui a mangé le chien en lançant toutes sortes de morceaux de fer dans les airs (avec recherche et sauvetage ultérieurs).

Ensuite, nous avons sorti le Raspberry Pi 3, qui se trouvait sur la table de chevet de notre administrateur, et avons commencé à l'installer.

Serveur dans les nuages : préparez-vous au lancement
Connecté la caméra :

Serveur dans les nuages : préparez-vous au lancement
Et nous l'avons testé sur notre « Semyon » :

Serveur dans les nuages : préparez-vous au lancement
Semyon est très pratique en tant que mannequin et assistant - il ne demande pas de nourriture, n'est pas distrait par le téléphone, est toujours de bonne humeur et avec un large sourire sur tout son casque. Bien sûr, nous n’avons pas besoin d’une telle combinaison spatiale pour le vol, mais elle crée la bonne atmosphère au bureau.

Le schéma du projet est le suivant :

Serveur dans les nuages : préparez-vous au lancement
Powerbank est utilisé pour les tests au sol ; quelque chose de plus fiable est nécessaire pour le lancement.

L'élément matériel le plus intéressant est peut-être une carte permettant de recevoir les données de tous les capteurs :

Serveur dans les nuages : préparez-vous au lancement
Les gars de Nearspace.ru Nous avons longtemps lutté avec divers analogues, puis nous avons fabriqué nous-mêmes un ordinateur de bord, car la fiabilité est d'une importance décisive, le sort de l'ensemble du projet dépend des données télémétriques. L'ordinateur de bord se charge de recevoir les données de tous les capteurs connectés et de les transmettre au Raspberry Pi.

Nous l'avons lancé, configuré, et après quelques semaines de programmation et de squats avec des tambourins, nous avons réussi à obtenir des données de télémétrie et une photo de Semyon à partir d'une caméra grand angle :

Serveur dans les nuages : préparez-vous au lancement
Les données de télémétrie sont transmises sur une seule ligne sous la forme suivante :

Serveur dans les nuages : préparez-vous au lancement
Ce code convertit ensuite la chaîne en tableau et affiche les données sur le site :

$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);

Description de quelques données :

  • N : 2432 ; — nombre de paquets de données, toujours croissant
  • T:40m39s; — temps à partir du moment où le contrôleur de vol est allumé
  • MP.Étape : 0 ; — étape de vol (0 — au sol ou à moins de 1 km, 1 — ascension, 2 — vol stationnaire en altitude, 3 — descente)
  • MP.Alt:54; — altitude barométrique en mètres par rapport au niveau de la mer — elle doit être affichée
  • MP.VSpeed:0.0; — vitesse verticale en mètres par seconde avec filtre médian
  • MP.AvgVSpeed : 0.0 ; — vitesse verticale en mètres par seconde avec filtre de moyenne
  • Baro.Press:1006.49; — pression barométrique en millibars
  • Baro.Alt:54; - altitude selon le baromètre
  • Baro.Temp:36.99; - température du baromètre lui-même
  • Coordonnée GPS : N56d43m23s,E37d55m68s ; — coordonnées actuelles
  • GPS.Accueil:N56d43m23s,E37d55m68s; — coordonnées du point de départ
  • GPS.Alt:165 ; — Altitude GPS en mètres
  • GPS.Dst:10 ; — distance du point de départ en mètres
  • DS.Temp :[fc]=34.56 ; - capteur de température sur la carte

À quoi ressemble le résultat :

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 
)

Que faire si la communication cellulaire « tombe » ? Dans ce cas, nous disposons d'une deuxième carte ; deux cartes SIM sont insérées dans le modem (un emplacement à la fois) :

Serveur dans les nuages : préparez-vous au lancement
Il peut automatiquement passer à un canal de réserve si le canal principal cesse soudainement de répondre.

Que se passe-t-il si les deux réseaux cellulaires deviennent indisponibles ?

Serveur dans les nuages : préparez-vous au lancement(Garçon de numéro "Yeralash" n°45 Ce n’est pas pour rien qu’il lit « La Théorie des Probabilités »)

Dans ce cas, nous aurons un tracker GPS indépendant qui envoie un signal sur sa localisation. Veuillez noter qu'il ne le fait pas via un réseau cellulaire, dont la disponibilité sur de longues distances n'est garantie par personne, mais via un satellite.

Serveur dans les nuages : préparez-vous au lancement
Oui, le traceur GPS est un peu plus grand que celui implanté sous la peau de James Bond. Puisque notre compétition dépend des coordonnées du serveur volant, cette partie des données reçues du tableau sera la plus importante. Mais nous en reparlerons dans le prochain post. Bientôt, suivez notre blog !

Nous croyons tellement au succès de l'ensemble de l'entreprise que nous avons même annoncé un concours pour ceux qui veulent soudainement deviner où la balle va atterrir. Détails dans notre nouveau poste.

Source: habr.com

Ajouter un commentaire