Server v oblakoch: príprava na spustenie

В príspevok o regate Spomínali sme, že v auguste bude súťaž s cenami pre všetkých Habrazhitelov. Nastal čas strhnúť závoj tajomstva. Nejako nás napadlo, že slovné spojenie „server v oblakoch“ možno chápať doslovne. Poďme vlastne spustiť fungujúci server do neba, na ktorý sa dá pingnúť! Spočiatku to vyzeralo šialene, ale potom, čo sme to prekrútili tak a tak, prediskutovali sme to všetkými spôsobmi, nakoniec sme prišli na spôsob, ako poslať server smerom k vtákom. Koncom augusta prebehne epochálny štart, no zatiaľ pracujeme na hardvérovej časti projektu. Detaily pod strihom.

Server v oblakoch: príprava na spustenie

  1. Server bude založený na Raspberry Pi 3

    Bolo by zaujímavé zdvihnúť do vzduchu jednojednotkový server, ale jeho hmotnosť + hmotnosť UPS... To všetko by si vyžadovalo značnú zdvíhaciu silu. A prečo, ak na základe kompaktného Raspberry Pi 3 môžete nasadiť celkom slušný server s niekoľkostonásobne väčším výpočtovým výkonom ako stroj, na ktorom sa v roku 1991 zabával Tim Berners-Lee.

  2. Spustite server v teplovzdušnom balóne

    Mali sme nápady zdvihnúť server pomocou héliovej sondy, ale potom server dlho nepípal, kým balón vo veľkej výške v riedkej atmosfére praskol a celá konštrukcia spadla na zem. Chcel som rozšíriť „okno“ vysielacieho času na jeden a pol hodiny. A potom sa rozhodli použiť balón. Dĺžka letu je dve hodiny. Navyše, hoci let nie je úplne ovládateľný, v koši môže byť náš inžinier, ktorý v prípade poruchy dokáže rýchlo, priamo na mieste, „zapnúť a vypnúť“.

  3. Ako dopravnú sieť použijeme mobilnú komunikáciu

    Moderné WiFi antény môžu „prepichnúť“ pomerne veľké vzdialenosti, ale na to by bolo potrebné vybudovať komunikačný komplex, ktorý by svojimi parametrami nebol o nič horší ako vojenská radarová stanica. A kvôli 1,5-2 hodinám komunikácie nemá zmysel budovať takýto systém, pretože v nadmorskej výške balóna musí bunková komunikácia fungovať stabilne.

Po sformulovaní týchto „postulátov“ sa projekt už nezdal byť nerealizovateľný a čoskoro sme začali pracovať vo všetkých troch smeroch naraz.

V prvom rade sme sa obrátili na chalanov z nearspace.ru, ktorý zožral psa pri vypúšťaní všemožných kúskov železa do vzduchu (s následným pátraním a záchranou).

Potom sme vybrali Raspberry Pi 3, ktorý ležal na nočnom stolíku nášho správcu, a začali ho nastavovať.

Server v oblakoch: príprava na spustenie
Pripojená kamera:

Server v oblakoch: príprava na spustenie
A testovali sme to na našom „Semyone“:

Server v oblakoch: príprava na spustenie
Semyon je veľmi pohodlný ako model a asistent - nepýta si jedlo, nerozptyľuje ho telefón, má vždy skvelú náladu a široký úsmev z celej prilby. Samozrejme, na let takýto skafander nepotrebujeme, ale v kancelárii vytvára tú správnu atmosféru.

Náčrt projektu je nasledovný:

Server v oblakoch: príprava na spustenie
Powerbanka sa používa na pozemné testovanie, na spustenie je potrebné niečo spoľahlivejšie.

Snáď najzaujímavejším hardvérom je doska na príjem dát zo všetkých senzorov:

Server v oblakoch: príprava na spustenie
Chlapci z nearspace.ru Dlho sme zápasili s rôznymi analógmi a potom sme si sami vyrobili palubný počítač, pretože spoľahlivosť je rozhodujúca, osud celého projektu závisí od telemetrických údajov. Palubný počítač je zodpovedný za príjem dát zo všetkých pripojených senzorov a ich prenos do Raspberry Pi.

Spustili sme to, nakonfigurovali a po pár týždňoch programovania a drepov s tamburínami sa nám podarilo získať telemetrické údaje a fotku Semyona zo širokouhlého fotoaparátu:

Server v oblakoch: príprava na spustenie
Telemetrické údaje sa prenášajú v jednom riadku v tejto forme:

Server v oblakoch: príprava na spustenie
Tento kód potom skonvertuje reťazec na pole a odošle údaje na stránku:

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

Popis niektorých údajov:

  • N:2432; — počet dátových paketov, ktorý sa stále zvyšuje
  • T:40m39s; — čas od okamihu zapnutia letového ovládača
  • MP.Stage:0; — etapa letu (0 — na zemi alebo pod 1 km, 1 — stúpanie, 2 — vznášanie sa vo výške, 3 — klesanie)
  • MP.Alt:54; — barometrická nadmorská výška v metroch od hladiny mora – mala by sa zobraziť
  • MP.VSpeed:0.0; — vertikálna rýchlosť v metroch za sekundu so stredným filtrom
  • MP.AvgVSpeed:0.0; — vertikálna rýchlosť v metroch za sekundu s priemerným filtrom
  • Baro.Press:1006.49; — tlak barometra v milibaroch
  • Baro.Alt:54; - nadmorská výška podľa barometra
  • Baro.Tep:36.99; - teplota samotného barometra
  • GPS.Coord:N56d43m23s,E37d55m68s; — aktuálne súradnice
  • GPS.Home:N56d43m23s,E37d55m68s; — súradnice východiskového bodu
  • GPS.Alt:165; — GPS nadmorská výška v metroch
  • GPS.Dst:10; — vzdialenosť od východiskového bodu v metroch
  • DS.Temp:[fc]=34.56; - snímač teploty na doske

Ako vyzerá výstup:

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 
)

Čo robiť, ak „spadne“ mobilná komunikácia? Pre tento prípad máme druhú kartu, do modemu sú vložené dve SIM karty (po jednom slote):

Server v oblakoch: príprava na spustenie
Môže sa automaticky prepnúť na náhradný kanál, ak hlavný náhle prestane reagovať.

Čo sa stane, ak obe mobilné siete nebudú dostupné?

Server v oblakoch: príprava na spustenie(Chlapec z vydanie "Yeralash" č.45 Nie nadarmo číta „Teória pravdepodobnosti“)

V tomto prípade budeme mať nezávislý GPS sledovač, ktorý vysiela signál o svojej polohe. Upozorňujeme, že to nerobí cez mobilnú sieť, ktorej dostupnosť na veľké vzdialenosti nikto nezaručuje, ale cez satelit.

Server v oblakoch: príprava na spustenie
Áno, GPS sledovač je o niečo väčší ako ten, ktorý bol implantovaný pod kožu Jamesa Bonda. Keďže naša súťaž závisí od súradníc lietajúceho servera, táto časť údajov získaných z tabule bude najdôležitejšia. Ale o tom si povieme v ďalšom príspevku. Už čoskoro, sledujte náš blog!

Veríme v úspech celého podniku natoľko, že sme dokonca vyhlásili súťaž pre tých, ktorí zrazu chcú uhádnuť, kam loptička pristane. Podrobnosti v našom nový príspevok.

Zdroj: hab.com

Pridať komentár