Server v oblakoch: pripravujeme sa na spustenie

V príspevok o regate 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 v oblakoch: pripravujeme sa na spustenie

  1. 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.

  2. 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úť“.

  3. 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 nearspace.ru, 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ť.

Server v oblakoch: pripravujeme sa na spustenie
Pripojili sme kameru:

Server v oblakoch: pripravujeme sa na spustenie
A otestovali sme ju na našom „Semyonovi“:

Server v oblakoch: pripravujeme sa na spustenie
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:

Server v oblakoch: pripravujeme sa na spustenie
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:

Server v oblakoch: pripravujeme sa na spustenie
Chlapci z nearspace.ru 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:

Server v oblakoch: pripravujeme sa na spustenie
Telemetrické údaje sa odosielajú v jednom riadku v tomto formáte:

Server v oblakoch: pripravujeme sa na spustenie
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):

Server v oblakoch: pripravujeme sa na spustenie
Dokáže automaticky prepnúť na záložný kanál, ak hlavný prestane reagovať.

A čo sa stane, ak obidve mobilné siete budú nedostupné?

Server v oblakoch: pripravujeme sa na spustenie(Chlapec z vydania „Jaraľaš“ č. 45 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.

Server v oblakoch: pripravujeme sa na spustenie
Á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 novom príspevku.

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster