Szerver a felhőkben: indulásra készül

В bejegyzés a regattáról Említettük, hogy augusztusban verseny lesz, minden Habrazhitelnek díjazott. Eljött az idő, hogy letépjük a titok fátylát. Valahogy azt az ötletet kaptuk, hogy a „szerver a felhőkben” kifejezés szó szerint érthető. Indítsunk fel egy működő szervert az égbe, amit pingelni lehet! Eleinte őrültnek tűnt az ötlet, de miután ide-oda kavargattuk, mindenféleképpen megbeszéltük, végül kitaláltuk, hogy a madarak felé küldjük a szervert. A korszakalkotó bevezetésre augusztus végén kerül sor, de egyelőre a projekt hardveres részén dolgozunk. Részletek a vágás alatt.

Szerver a felhőkben: indulásra készül

  1. A szerver a Raspberry Pi 3-ra épül majd

    Érdekes lenne egy egyegységes szervert a levegőbe emelni, de a súlya + az UPS súlya... Mindehhez jókora emelőerő kellene. És miért, ha egy kompakt Raspberry Pi 3 alapján egy egészen tisztességes szervert telepíthetsz, amelynek számítási teljesítménye több százszorosa annak a gépnek, amelyen Tim Berners-Lee szórakozott 1991-ben.

  2. Indítsuk el a szervert egy hőlégballonban

    Voltak ötleteink, hogy felemeljük a szervert egy héliumos szondára, de a szerver nem sokáig pingált, mire a léggömb nagy magasságban, ritka légkörben kidurran, és az egész szerkezet a földre zuhan. A műsoridő „ablakát” szerettem volna másfél órára bővíteni. Aztán úgy döntöttek, hogy egy léggömböt használnak. A repülés időtartama két óra. Ráadásul bár a repülés nem teljesen irányítható, ott lehet a kosárban a mérnökünk, aki meghibásodás esetén gyorsan, a helyszínen „be- és kikapcsolja”.

  3. A mobil kommunikációt közlekedési hálózatként fogjuk használni

    A modern WiFi antennák meglehetősen nagy távolságokat képesek „áthatolni”, ehhez azonban egy olyan kommunikációs komplexumot kellene építeni, amely paramétereiben nem sokkal alacsonyabb, mint egy katonai radarállomás. A 1,5-2 órás kommunikáció kedvéért pedig nincs értelme ilyen rendszert építeni, mert a ballon magasságában a cellás kommunikációnak stabilan kell működnie.

E „posztulátumok” megfogalmazása után a projekt már nem tűnt megvalósíthatatlannak, és hamarosan mindhárom irányban egyszerre kezdtünk el dolgozni.

Először is a srácokhoz fordultunk nearspace.ru, aki megette a kutyát, miközben mindenféle vasdarabot lőtt a levegőbe (utólagos kutatással és mentéssel).

Aztán elővettük a Raspberry Pi 3-at, ami az adminunk éjjeliszekrényében hevert, és elkezdtük felállítani.

Szerver a felhőkben: indulásra készül
A kamera csatlakoztatva:

Szerver a felhőkben: indulásra készül
És teszteltük a „Semyon”-unkon:

Szerver a felhőkben: indulásra készül
Semyon nagyon kényelmes modellként és asszisztensként - nem kér enni, nem vonja el a figyelmét a telefon, mindig remek hangulatban van, és széles mosollyal a sisakján. A repüléshez természetesen nincs szükségünk ilyen szkafanderre, de megfelelő hangulatot teremt az irodában.

A projekt vázlata a következő:

Szerver a felhőkben: indulásra készül
A Powerbankot földi tesztelésre használják, az indításhoz valami megbízhatóbbra van szükség.

Talán a legérdekesebb hardver egy tábla, amely az összes érzékelőtől származó adatokat fogad:

Szerver a felhőkben: indulásra készül
Srácok innen nearspace.ru Sokáig küszködtünk különféle analógokkal, majd magunk készítettünk egy fedélzeti számítógépet, mert a megbízhatóság a döntő, a telemetriai adatokon múlik az egész projekt sorsa. A fedélzeti számítógép felelős azért, hogy az összes csatlakoztatott érzékelőtől adatokat fogadjon és továbbítsa a Raspberry Pi-hez.

Elindítottuk, konfiguráltuk, majd pár hét programozás és tamburás guggolás után sikerült telemetriai adatokat és Semyon fotót szereznünk egy nagylátószögű kamerával:

Szerver a felhőkben: indulásra készül
A telemetriai adatok egy sorban, a következő formában kerülnek továbbításra:

Szerver a felhőkben: indulásra készül
Ez a kód ezután tömbbé alakítja a karakterláncot, és kiadja az adatokat a webhelyre:

$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 adatcsomagok száma, folyamatosan növekszik
  • T:40m39s; — a repülésirányító bekapcsolásának pillanatától eltelt idő
  • MP.Stage:0; — repülési szakasz (0 — földön vagy 1 km alatt, 1 — emelkedés, 2 — magasságban lebegés, 3 — süllyedés)
  • MP.Alt:54; — légköri magasság méterben a tengerszinttől — meg kell jeleníteni
  • MP.VSpeed:0.0; — függőleges sebesség méter per másodpercben, medián szűrővel
  • MP.AvgVSpeed:0.0; — függőleges sebesség méter per másodpercben, átlagoló szűrővel
  • Baro.Sajtó:1006.49; — barométer nyomás millibarban
  • Baro.Alt:54; - magasság a barométer szerint
  • Baro.Hőmérséklet:36.99; - magának a barométernek a hőmérséklete
  • GPS.Coord:N56d43m23s,E37d55m68s; — aktuális koordináták
  • GPS.Home:N56d43m23s,E37d55m68s; — a kiindulási pont koordinátái
  • GPS.Alt:165; — GPS magasság méterben
  • GPS.Dst:10; — távolság a kiindulási ponttól méterben
  • DS.hőmérséklet: [fc]=34.56; - hőmérséklet érzékelő a táblán

Így néz ki a kimenet:

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 
)

Mi a teendő, ha a mobilkommunikáció „leesik”? Erre az esetre van egy második kártya, két SIM-kártya van a modembe helyezve (egyszerre egy foglalat):

Szerver a felhőkben: indulásra készül
Automatikusan át tud váltani egy tartalék csatornára, ha a fő hirtelen leáll.

Mi történik, ha mindkét mobilhálózat elérhetetlenné válik?

Szerver a felhőkben: indulásra készül(Fiú innen szám "Yeralash" 45. sz Nem véletlenül olvassa „A valószínűségelméletet”

Ebben az esetben lesz egy független GPS nyomkövetőnk, amely jelet küld a helyéről. Felhívjuk figyelmét, hogy ezt nem mobilhálózaton keresztül teszi, amelynek nagy távolságra való elérhetőségét senki sem garantálja, hanem műholdon keresztül.

Szerver a felhőkben: indulásra készül
Igen, a GPS nyomkövető valamivel nagyobb, mint a James Bond bőre alá ültetett. Mivel versenyünk a repülő szerver koordinátáitól függ, a tábláról kapott adatoknak ez a része lesz a legfontosabb. De erről a következő bejegyzésben fogunk beszélni. Hamarosan, kövesd blogunkat!

Annyira hiszünk az egész vállalkozás sikerében, hogy még versenyt is hirdettünk azoknak, akik hirtelen meg akarják találni, hol landol a labda. Részletek nálunk új bejegyzés.

Forrás: will.com

Hozzászólás