Servitore in i nuvuli: preparatu per lancià

В post nantu à a regata Avemu mintuatu chì in Aostu ci sarà una cumpetizione cù premii per tutti i Habrazhitels. Hè ghjuntu u tempu di strappò u velu di u sicretu. Qualchì manera avemu avutu l'idea chì a frasa "servitore in i nuvuli" pò esse presa literalmente. Lancemu veramente un servitore di travagliu in u celu chì pò esse ping! À u principiu l'idea pareva pazza, ma dopu a torcia in questu modu è quellu, discutendu in ogni modu, avemu infine ghjuntu cù una manera di mandà u servitore versu l'acelli. Un lanciamentu di l'epica hà da esse realizatu à a fini d'aostu, ma per avà avemu travagliatu nantu à a parte hardware di u prugettu. Dettagli sottu u cut.

Servitore in i nuvuli: preparatu per lancià

  1. U servitore serà basatu annantu à Raspberry Pi 3

    Saria interessante per elevà un servitore unicu unità in l'aria, ma u so pesu + u pesu di l'UPS... Tuttu questu averebbe bisognu di una forza di elevazione considerable. E perchè, se nantu à a basa di un Raspberry Pi 3 compactu pudete implementà un servitore abbastanza decentu, cù una putenza di computing parechji centu volte più grande di a macchina nantu à a quale Tim Berners-Lee hà divertitu in 1991.

  2. Lanciamu u servitore in un globu d'aria calda

    Avemu avutu l'idee per elevà u servitore nantu à una sonda di l'heliu, ma allora u servitore ùn hà micca ping per longu prima chì u palloncino sfondava à alta altitudine in una atmosfera rara è tutta a struttura cascassi in terra. Vuliu allargà a "finestra" di l'aria à una ora è mezza. E poi decisu di utilizà un pallone. A durata di u volu hè di duie ore. Inoltre, ancu s'è u volu ùn hè micca cumpletamente cuntrullabile, pò esse u nostru ingegnere in a cesta chì, in casu di malfunzionamentu, pò rapidamente, in u locu, "accende è spegne".

  3. Adupremu a cumunicazione cellulare cum'è una reta di trasportu

    L'antenni WiFi muderni ponu "perce" distanzi abbastanza longu, ma per questu hè necessariu di custruisce un cumplessu di cumunicazione chì ùn hè micca assai inferjuri in i so paràmetri à una stazione di radar militare. È per l'ora di 1,5-2 di cumunicazione, ùn hà micca sensu di custruisce un tali sistema, perchè à l'altitudine di u globu, a cumunicazione cellulare deve travaglià stabile.

Dopu à furmulà sti "postulati", u prugettu ùn pareva più impracticable, è prestu avemu principiatu à travaglià in tutti i trè direzzione à una volta.

Prima di tuttu, avemu vultatu à i picciotti da nearspace.ru, chì hà manghjatu u cane mentre lanciava ogni tipu di pezzi di ferru in l'aria (cù a ricerca è a salvezza sussegwente).

Allora avemu pigliatu u Raspberry Pi 3, chì si trovava in a tavola di u nostru amministratore, è hà cuminciatu à stallà.

Servitore in i nuvuli: preparatu per lancià
Cunnette a camera:

Servitore in i nuvuli: preparatu per lancià
È l'avemu pruvatu nantu à u nostru "Semyon":

Servitore in i nuvuli: preparatu per lancià
Semyon hè assai cunvene cum'è mudellu è assistente - ùn dumanda micca l'alimentariu, ùn hè micca distractatu da u telefunu, hè sempre in un grande umore è cun un sorrisu largu da tuttu u so cascu. Di sicuru, ùn avemu micca bisognu di un tali spaziu per u volu, ma crea l'atmosfera ghjustu in l'uffiziu.

U schema di u prugettu hè u seguente:

Servitore in i nuvuli: preparatu per lancià
Powerbank hè adupratu per a prova in terra; qualcosa di più affidabile hè necessariu per u lanciu.

Forsi u pezzu più interessante di hardware hè un tavulinu per riceve dati da tutti i sensori:

Servitore in i nuvuli: preparatu per lancià
Ragazzi da nearspace.ru Avemu luttatu per un bellu pezzu cù diversi analoghi, è dopu avemu fattu un computer à bordu noi stessi, perchè a fiducia hè d'impurtanza decisiva, u destinu di tuttu u prughjettu dipende di e dati di telemetria. L'urdinatore di bordu hè rispunsevule per riceve dati da tutti i sensori cunnessi è trasmette à u Raspberry Pi.

L'avemu lanciatu, cunfiguratu, è dopu à un paru di settimane di prugrammazione è squat cù tamburini, avemu riesciutu à ottene dati di telemetria è una foto di Semyon da una camera wide-angle:

Servitore in i nuvuli: preparatu per lancià
I dati di telemetria sò trasmessi in una linea in a forma seguente:

Servitore in i nuvuli: preparatu per lancià
Stu codice poi cunvertisce a stringa in un array è trasmette i dati à u situ:

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

Descrizzione di qualchi dati:

  • N: 2432; - u numeru di pacchetti di dati, sempre crescente
  • T: 40 m 39 s; - tempu da u mumentu chì u cuntrollu di volu hè stata attivata
  • MP.Stage: 0; — tappa di volu (0 — à terra o sottu à 1 km, 1 — ascensione, 2 — volata in altitudine, 3 — discesa)
  • MP.Alt: 54; - altitudine barometrica in metri da u livellu di u mari - deve esse affissatu
  • MP.VSpeed: 0.0; - vitezza verticale in metri per seconda cù filtru medianu
  • MP.AvgVSpeed: 0.0; - vitezza verticale in metri per seconda cù filtru mediu
  • Baro.Press:1006.49; - pressione barometru in millibars
  • Baro.Alt: 54; - altitudine secondu u barometru
  • Baro.Temp: 36.99; - a temperatura di u barometru stessu
  • GPS.Coord: N56d43m23s, E37d55m68s; - coordenate attuali
  • GPS.Home:N56d43m23s,E37d55m68s; - coordenate di u puntu di partenza
  • GPS.Alt: 165; - Altitudine GPS in metri
  • GPS.Dst: 10; - distanza da u puntu di partenza in metri
  • DS.Temp:[fc]=34.56; - sensore di temperatura nantu à u bordu

Ciò chì l'output pare:

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 
)

Cosa da fà se a cumunicazione cellulare "cade"? Per questu casu, avemu una seconda carta; duie carte SIM sò inserite in u modem (un slot à volta):

Servitore in i nuvuli: preparatu per lancià
Pò cambià automaticamente à un canale di riserva se u principale si ferma di colpu di risponde.

Chì succede se e duie rete cellulari ùn sò micca dispunibili?

Servitore in i nuvuli: preparatu per lancià(U zitellu da emissione "Yeralash" n ° 45 Ùn hè per nunda chì leghje "A Teoria di a Probabilità")

In questu casu, averemu un tracker GPS indipindente chì manda un signalu nantu à a so situazione. Per piacè nutate chì questu ùn hè micca attraversu una rete cellulare, a dispunibilità di quale nantu à longu distanzi ùn hè garantita da nimu, ma per un satellita.

Servitore in i nuvuli: preparatu per lancià
Iè, u tracker GPS hè un pocu più grande di quellu chì hè statu implantatu sottu a pelle di James Bond. Siccomu a nostra cumpetizione dipende di e coordenate di u servitore volante, sta parte di e dati ricevuti da u bordu serà u più impurtante. Ma parleremu di questu in u prossimu post. Prestu, seguitate u nostru blog !

Cridemu in u successu di l'impresa sana tantu chì avemu ancu annunziatu una cumpetizione per quelli chì di colpu volenu induvinà induve a bola sbarcarà. Dettagli in u nostru novu postu.

Source: www.habr.com

Add a comment