V Zmínili jsme se, že v srpnu čeká všechny účastníky soutěž s cenami. Přišel čas odhalit roušku tajemství. Napadlo nás, že frázi „server v oblacích“ lze chápat doslovně. Co takhle skutečně vypustit do nebe fungující server, který si bude možné pingenout! Zpočátku se tato myšlenka zdála šílená, ale po jejím zvážení a diskusi jsme přece jen vymysleli způsob, jak poslat server vstříc ptákům. Na konci srpna proběhne historický start, ale zatím pilujeme hardwarovou část projektu. Podrobnosti pod katem.
- Server bude založen na Raspberry Pi 3
Bylo by zajímavé vzlétnout s jednou jednotkovou stanicí, avšak její hmotnost spolu s UPS... To by potřebovalo značnou vzletovou sílu. A proč, když na bázi kompaktní Raspberry Pi 3 můžete rozvinout docela slušný server s výpočetním výkonem několikanásobně vyšším než měl stroj, na kterém se v roce 1991 bavil Tim Berners-Lee.
- Server spustíme na balonu
Měli jsme nápady, jak zdvihnout server na heliovém balónu, ale pak by server pingoval jen krátce, než by balón praskl ve velké výšce v řídké atmosféře a celá konstrukce by spadla na zem. Chtěli jsme prodloužit „okno“ etherového času na hodinu a půl. A tak jsme se rozhodli použít vzduchový balón. Délka letu — dvě hodiny. Kromě toho, letu sice není úplně řízený, ale v koši by mohl být náš inženýr, který by mohl v případě poruchy okamžitě, přímo na místě „zapnout a vypnout“.
- Jako přenosovou síť využijeme mobilní signál
Moderní WiFi antény mohou „probít“ poměrně velké vzdálenosti, avšak pro to by bylo nutné vybudovat komunikační systém, který by svými parametry málo zaostal za vojenskou radarovou stanicí. A pro 1,5-2 hodiny spojení nemá smysl takovou soustavu budovat, protože ve výšce letu balónu by měl mobilní signál fungovat stabilně.
Po formulaci těchto „položek“ se projekt přestal zdát nereálným, a brzy jsme začali pracovat současně ve všech třech směrech.
V první řadě jsme se obrátili o pomoc na kluky z , kteří mají bohaté zkušenosti s vypouštěním různých zařízení do vzduchu (s následným hledáním a záchranou).
Pak jsme vytáhli Raspberry Pi 3, ležící v zásuvce našeho administrátora, a začali ho nastavovat.

Připojili jsme kameru:

A otestovali ji na našem "Semyonovi":

Semyon je velmi pohodlný jako model a pomocník — nežádá o jídlo, nevěnuje pozornost telefonu, vždy má výbornou náladu a široký úsměv od ucha k uchu. Samozřejmě, takovou skafandr pro let nepotřebujeme, ale vytváří správnou atmosféru v kanceláři.
Schéma projektu vypadá takto:

Powerbank se používá k pozemnímu testování, pro spuštění potřebujeme něco spolehlivějšího.
Nejzajímavější zařízení je deska pro získávání dat ze všech senzorů:

Kluci z se dlouho mučili s různými analogy, a pak si sami vyrobili palubní počítač, protože spolehlivost je rozhodující, osud celého projektu závisí na datech telemetrie. Palubní počítač zajišťuje příjem dat ze všech připojených senzorů a předává je na Raspberry Pi.
Spustili jsme, nastavili, a během nějakých dvou týdnů programování a skákání s bubny se podařilo získat telemetrická data a fotografie Semyona širokoúhlou kamerou:

Telemetrická data se přenášejí jedním řetězcem v tomto formátu:

Pak tenhle kód převede řetězec na pole a vypíše data na web:
$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 některých dat:
- N:2432; — číslo datového paketu, které se vždy zvyšuje
- T:40m39s; — doba od zapnutí letového controlleru
- MP.Stage:0; — fáze letu (0 — na zemi nebo pod 1 km, 1 — vzlet, 2 — držení výšky, 3 — sestup)
- MP.Alt:54; — barometrická výška v metrech nad mořem — měla by být zobrazena
- MP.VSpeed:0.0; — vertikální rychlost v metrech za sekundu s mediánovým filtrem
- MP.AvgVSpeed:0.0; — vertikální rychlost v metrech za sekundu s průměrovacím filtrem
- Baro.Press:1006.49; — tlak podle barometru v milibarech
- Baro.Alt:54; — výška podle barometru
- Baro.Temp:36.99; — teplota samotného barometru
- GPS.Coord:N56d43m23s,E37d55m68s; — aktuální souřadnice
- GPS.Home:N56d43m23s,E37d55m68s; — souřadnice startovního bodu
- GPS.Alt:165; — výška podle GPS v metrech
- GPS.Dst:10; — vzdálenost od startovního bodu v metrech
- DS.Temp:[fc]=34.56; — teplotní senzor na desce
Jak vypadají zobrazovaná data:
Pole
(
[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
)
Co dělat, když mobilní připojení „padne“? Na tento případ máme druhou kartu, do modemu se vkládají dvě SIM karty (do jednoho slotu po sobě):

Umí se automaticky přepnout na záložní kanál, pokud hlavní náhle přestane reagovat.
A co se stane, když obě mobilní sítě přestanou být dostupné?
(Chlapec z nečte náhodou „Teorii pravděpodobnosti“)
Na tento případ budeme mít nezávislý GPS tracker, který posílá signál o své poloze. Všimněte si, že to dělá ne prostřednictvím mobilní sítě, jejíž dostupnost na velké vzdálenosti není nikým garantována, ale prostřednictvím satelitu.

Ano, GPS tracker je o něco větší než ten, který byl implantován pod kůži Jamesi Bondovi. Protože náš závod závisí na souřadnicích letícího serveru, tato část dat získávaných z paluby bude nejdůležitější. O tom však povíme v příštím příspěvku. Již brzy, sledujte náš blog!
Věříme v úspěch celého podniku natolik, že jsme dokonce vyhlásili soutěž pro ty, kteří by chtěli uhodnout místo přistání balónu. Podrobnosti v našem .
Zdroj: habr.com
