A Említettük, hogy augusztusban verseny vár minden Habr-olvasóra nyereményekkel. Itt az idő, hogy leleplezzük a titkot. Valahogy eszünkbe jutott, hogy a "felhőalapú szerver" kifejezést szó szerint is érthetjük. Miért ne indítanánk valóban egy működő szervert az égbe, amit pingelni lehet? Eleinte őrült ötletnek tűnt, de megfordítva és megvitatva többféleképpen, végül találtunk módot, hogy a szervert a madarak felé küldjük. Augusztus végén történik a történelmi indítás, addig is a projekt hardveres részét dolgozzuk ki. Részletek a cím alatt.
- A szerver Raspberry Pi 3 alapú lesz
Érdekes lenne egy egyegységes szervert a levegőbe emelni, azonban a súlya + az UPS súlya... Mindezhez jelentős emelőerőre lenne szükség. És minek, amikor egy kompakt Raspberry Pi 3 alapú szervert is lehet üzemeltetni, ami számítási teljesítménnyel több százszor erősebb, mint az a gép, amelyen Tim Berners-Lee 1991-ben szórakozott.
- A szervert léggömbön indítjuk el
Volt ötletünk egy héliumos Ballonra emelni a szervert, de akkor a szerver nem pingelhetne sokáig, mielőtt a ballon a nagy magasságban a ritka légkörben kidurranna, és az egész szerkezet a földre zuhanna. Szerettük volna a "szólózási ablakot" másfél órára bővíteni. Ezért úgy döntöttünk, hogy léggömböt használunk. A repülés időtartama — két óra. Ezen kívül bár nem teljesen irányítható, a kosárban ott lehet a mérnökünk, aki a hibák esetén azonnal, a helyszínen „bekapcsolhatja és kikapcsolhatja” a rendszert.
- A szállítási hálózatot mobiltelefonos kapcsolaton keresztül valósítjuk meg
A modern WiFi-antennák elég nagy távolságokat képesek áthidalni, azonban ehhez a kapcsolati komplexumot a katonai radarállomásokhoz képest hasonló paraméterekkel kellene építeni. És 1,5-2 óra kapcsolatért nem érdemes ilyet építeni, mert a léggömb repülési magasságában a mobiltelefonos kapcsolatnak stabilan kell működnie.
Miután megfogalmaztuk ezeket a „posztulátumokat”, a projekt már nem tűnt megvalósíthatatlannak, és hamarosan elkezdtünk dolgozni mindhárom irányban.
Először a srácokhoz fordultunk segítségért , megevő kutyával a levegőbe hajigálva mindenféle vasdarabokat (utána keresve és mentve).
Aztán elővettük a Raspberry Pi 3-at, amely a rendszergazdánk fiókjában hevert, és elkezdtük beállítani.

Csatlakoztattuk a kamerát:

És teszteltük a «Szemjon»-unkon:

Szemjon nagyon kényelmes modell és segítő — nem kér ételt, nem vonja el a figyelmét a telefon, mindig kiváló hangulatban van, széles mosollyal, ami betölti az egész bukósisakját. Természetesen, ilyen szkafanderre repüléshez nincs szükségünk, de a légkör megteremtésében segít az irodában.
A projekt vázlata a következőképpen néz ki:

A powerbank a földi teszteléshez szükséges, az indításhoz valami megbízhatóbbra van szükség.
Talán a legérdekesebb hardver a szenzorok adatait gyűjtő panel:

A srácok a hosszan szenvedtek különböző analóg megoldásokkal, majd maguk készítettek fedélzeti számítógépet, mert a megbízhatóság döntő jelentőségű, a telemetriai adatok sorsa az egész projektet eldöntheti. A fedélzeti számítógép felelős az összes csatlakoztatott szenzor adatainak fogadásáért, és átkonvertálja őket a Raspberry Pi-re.
Elindítottuk, beállítottuk, és körülbelül néhány hét programozás és varázslás után sikerült telemetriai adatokat és Szemjon képeit kapni a széles látószögű kamerával:

A telemetriai adatok egy sorban, a következő formátumban kerülnek átadásra:

Ezután ez a kód az `array`-t egy tömbbé alakítja és megjeleníti az adatokat az oldalon:
$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);Néhány adat leírása:
- N:2432; — az adatcsomag száma, mindig növekszik.
- T:40m39s; — az idő a repülésvezérlő bekapcsolása óta.
- MP.Stage:0; — a repülés szakasza (0 — a földön vagy 1 km alatt, 1 — emelkedés, 2 — magasságban lebegés, 3 — süllyedés).
- MP.Alt:54; — a barometrikus magasság méterben a tengerszint felett — ezt meg kell jeleníteni.
- MP.VSpeed:0.0; — a függőleges sebesség méter/másodpercben a medián szűrést figyelembe véve.
- MP.AvgVSpeed:0.0; — a függőleges sebesség méter/másodpercben az átlagoló szűrést figyelembe véve.
- Baro.Press:1006.49; — a barométer szerinti nyomás millibarban.
- Baro.Alt:54; — a barométer szerinti magasság.
- Baro.Temp:36.99; — a barométer hőmérséklete.
- GPS.Coord:N56d43m23s,E37d55m68s; — az aktuális koordináták.
- GPS.Home:N56d43m23s,E37d55m68s; — a startpont koordinátái.
- GPS.Alt:165; — magasság GPS alapján méterben
- GPS.Dst:10; — távolság a kiindulási ponttól méterben
- DS.Temp:[fc]=34.56; — hőmérséklet érzékelő az alaplapon
Hogyan néznek ki a kiírt adatok:
Tömb
(
[N] => 647
[Т] => 10m55p
[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с] 33.56
[Volt] => 5.19, 0.00,0.00,0.00,0.00,0.00,0.00,0.00
)
Mit tegyünk, ha a mobil kapcsolat „leesik”? Erre az esetre van egy második kártyánk, a modembe két SIM-kártya helyezhető (egymás után egy slotba):

Automatikusan váltani tud a tartalékcsatornára, ha az alapértelmezett hirtelen nem válaszol.
Mi történik, ha mindkét mobilhálózat elérhetetlenné válik?
(A fiú a nem véletlenül olvas "Valószínűségelméletet")
Erre az esetre egy független GPS nyomkövetőnk lesz, amely a helyéről küld jelet. Vegye figyelembe, hogy ezt nem mobilhálózaton keresztül teszi, amelynek elérhetősége nagy távolságban nem garantált, hanem műholdon keresztül.

Igen, a GPS nyomkövető kicsit nagyobb, mint az, amit James Bond bőre alá ültettek. Mivel versenyünk függ a repülő szerver koordinátáitól, ennek az adatsornak a kapott adatok közül a legfontosabbnak kell lennie. De erről már a következő bejegyzésünkben beszélünk. Hamarosan érkezünk, kövesse a blogunkat!
Bízunk a teljes vállalkozás sikerében annyira, hogy még versenyt hirdettünk azok számára, akik szeretnék kitalálni a léggömb landolási helyét. Részletek az .
Forrás: habr.com
