V Naznačili sme, že v auguste čaká všetkých hubráčov súťaž s cenami. Prišiel čas odkryť závoj tajomstva. Raz nás napadlo, že frázu „server v oblakoch“ môžeme chápať doslovne. A čo tak naozaj vypustiť do vzduchu fungujúci server, ktorý bude možné pingovať! Najprv sa myšlienka zdala bláznivá, ale po tom, čo sme si ju prebrali zo všetkých strán a diskutovali o nej do detailov, sme predsa len prišli na spôsob, ako poslať server medzi vtákmi. Na konci augusta sa uskutoční historické spustenie a zatiaľ pracujeme na hardvérovej časti projektu. Podrobnosti pod katom.
- Server bude na báze Raspberry Pi 3
Bolo by zaujímavé vzlietnuť s jednojadrovým serverom, avšak jeho hmotnosť + hmotnosť UPS... Na to by bola potrebná značná vztlaková sila. A prečo, keď na báze kompaktnej Raspberry Pi 3 môžeme nasadiť celkom slušný server, ktorého výpočtová kapacita je niekoľko stokrát väčšia, než stroj, na ktorom sa v roku 1991 bavil Tim Berners-Lee.
- Server spustíme na balóniku
Mali sme nápady na vzlet so serverom na heliovom balóne, ale vtedy by sa server pingoval len krátko, než by balón praskol vo veľkej výške v zriedenej atmosfére a celá konštrukcia by spadla na zem. Chceli sme predĺžiť „okno“ vysielacieho času na jeden a pol hodiny. A tak sme sa rozhodli použiť vzduchový balón. Dĺžka letu - dve hodiny. Okrem toho, aj keď let nie je celkom riadený, môže byť v koši náš inžinier, ktorý v prípade poruchy môže priamo na mieste „zapnúť a vypnúť“.
- Ako dopravnú sieť využijeme mobilnú sieť
Moderné WiFi antény dokážu „preraziť“ pomerne dlhé vzdialenosti, ale na to by bolo potrebné vybudovať komplex spojení, ktorý by svojim parametrami sotva ustúpil vojenskej radarovej stanici. A pre 1,5-2 hodiny spojenia nemá zmysel budovať taký systém, veď vo výške letu balónu by mobilná sieť mala fungovať stabilne.
Po formulovaní týchto „postulátov“ projekt prestal vyzerať ako nemožný a čoskoro sme sa pustili do práce súčasne vo všetkých troch smeroch.
V prvom rade sme sa obrátili na chlapcov z , ktorí majú bohaté skúsenosti so štartmi rôznych zariadení do vzduchu (s následným hľadaním a záchranou).
Potom sme vytiahli Raspberry Pi 3, ktoré sa váľalo v zásuvke nášho administrátora, a začali sme ho nastavovať.

Pripojili sme kameru:

A otestovali sme ju na našom „Semyonovi“:

Semyon je veľmi pohodlný model a pomocník — nežiada jedlo, neodvádza pozornosť na telefón, vždy má vynikajúcu náladu a široký úsmev od ucha k uchu. Samozrejme, taký skafander nám na let nepotrebný bude, ale vytvára správnu atmosféru v kancelárii.
Základná schéma projektu sa črtá nasledovne:

Powerbank sa používa na pozemné testovanie, na spustenie potrebujeme niečo spoľahlivejšie.
Najzaujímavejšia súčiastka je doska na zber údajov zo všetkých senzorov:

Chlapci z sa dlho trápení s rôznymi alternatívami, potom si sami vyrobili palubný počítač, pretože spoľahlivosť je rozhodujúca, osud celého projektu závisí od údajov telemetrie. Palubný počítač zodpovedá za prijímanie údajov zo všetkých pripojených senzorov a prenáša ich na Raspberry Pi.
Spustili sme, nastavili, a za nejaké dva týždne programovania a cvičení s bubon sa nám podarilo získať telemetrické údaje a fotografie Semyona z širokouhlej kamery:

Telemetrické údaje sa odosielajú v jednom riadku v tomto formáte:

Následne tento kód prevedie riadok na pole a zobrazí údaje na stránke:
$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);Opis niektorých údajov:
- N:2432; — číslo dátového paketu, ktoré sa vždy zvyšuje
- T:40m39s; — čas od zapnutia letového kontroléra
- MP.Stage:0; — fáza letu (0 — na zemi alebo pod 1 km, 1 — stúpanie, 2 — držanie sa vo výške, 3 — klesanie)
- MP.Alt:54; — barometrická výška v metroch nad morom — mala by byť zobrazená
- MP.VSpeed:0.0; — vertikálna rýchlosť v metroch za sekundu s medzičlánkovým filtrom
- MP.AvgVSpeed:0.0; — vertikálna rýchlosť v metroch za sekundu s priemerovacím filtrom
- Baro.Press:1006.49; — tlak podľa barometra v milibarách
- Baro.Alt:54; — výška podľa barometra
- Baro.Temp:36.99; — teplota samotného barometra
- GPS.Coord:N56d43m23s,E37d55m68s; — aktuálne súradnice
- GPS.Home:N56d43m23s,E37d55m68s; — súradnice miesta štartu
- GPS.Alt:165; — výška podľa GPS v metroch
- GPS.Dst:10; — vzdialenosť od miesta štartu v metroch
- DS.Temp:[fc]=34.56; — teplotný senzor na doske
Ako vyzerajú výstupné dáta:
Array
(
[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
)
A čo robiť, ak mobilná sieť „spadne“? Na tento prípad máme druhú kartu, do modemu sa vkladajú dve SIM karty (do jedného slotu striedavo):

Dokáže automaticky prepnúť na záložný kanál, ak hlavný prestane reagovať.
A čo sa stane, ak obidve mobilné siete budú nedostupné?
(Chlapec z nie nadarmo číta „Teóriu pravdepodobnosti“)
Na tento prípad budeme mať nezávislý GPS sledovač, posielajúci signál o svojej polohe. Všimnite si, že to robí nie cez mobilnú sieť, ktorej dostupnosť na veľké vzdialenosti nikto nezaručuje, ale cez satelit.

Áno, GPS sledovač je trochu väčší ako ten, ktorý implantovali pod kožu Jamesovi Bondovi. Keďže naša súťaž závisí od súradníc lietajúceho servera, táto časť získavaných dát z paluby bude najdôležitejšia. O tom však povieme viac v ďalšom príspevku. Čoskoro, sledujte náš blog!
Veríme v úspech celého podniku natoľko, že sme dokonca vyhlásili súťaž pre tých, ktorí by chceli uhádnuť miesto pristátia balónu. Podrobnosti v našom .
Zdroj: habr.com
