Strežnik v oblaku: priprava na zagon

В objava o regati Omenili smo, da bo avgusta tekmovanje z nagradami za vse Habražitelje. Prišel je čas, da odtrgamo tančico skrivnosti. Nekako smo dobili idejo, da lahko izraz "strežnik v oblaku" razumemo dobesedno. Pravzaprav zaženimo v nebo delujoč strežnik, ki ga je mogoče pingati! Sprva je bila ideja videti nora, toda ko smo jo obračali tako in drugače, razpravljali o njej na vse načine, smo končno našli način, kako strežnik poslati k pticam. Konec avgusta se bo zgodil epohalni zagon, a za zdaj delamo na strojnem delu projekta. Detajli pod krojem.

Strežnik v oblaku: priprava na zagon

  1. Strežnik bo temeljil na Raspberry Pi 3

    Zanimivo bi bilo dvigniti enoenotni strežnik v zrak, a njegova teža + teža UPS-a... Vse to bi zahtevalo precejšnjo dvižno silo. In zakaj, če lahko na osnovi kompaktnega Raspberry Pi 3 namestite povsem spodoben strežnik, katerega računalniška moč je nekaj stokrat večja od stroja, na katerem se je leta 1991 zabaval Tim Berners-Lee.

  2. Zaženimo strežnik v balonu

    Imeli smo ideje, da bi strežnik dvignili na helijevo sondo, vendar potem strežnik ne bi pingal dolgo, preden bi balon počil na visoki nadmorski višini v redki atmosferi in bi celotna struktura padla na tla. Želel sem razširiti "okno" predvajanja na uro in pol. In potem so se odločili uporabiti balon. Trajanje leta je dve uri. Poleg tega, čeprav let ni povsem obvladljiv, je lahko v košarici naš inženir, ki ga lahko v primeru okvare hitro, na mestu, “prižge in izklopi”.

  3. Kot transportno omrežje bomo uporabljali mobilne komunikacije

    Sodobne WiFi antene lahko "prebodo" precej velike razdalje, vendar bi bilo za to potrebno zgraditi komunikacijski kompleks, ki po svojih parametrih ni veliko slabši od vojaške radarske postaje. In zaradi 1,5-2 ur komunikacije ni smiselno graditi takšnega sistema, saj mora na višini balona celična komunikacija delovati stabilno.

Po oblikovanju teh »postulatov« se projekt ni več zdel neizvedljiv in kmalu smo začeli delovati v vseh treh smereh hkrati.

Najprej smo se obrnili na fante iz nearspace.ru, ki je pojedel psa, medtem ko je v zrak spuščal najrazličnejše železje (s kasnejšim iskanjem in reševanjem).

Nato smo vzeli ven Raspberry Pi 3, ki je ležal v nočni omarici našega skrbnika, in ga začeli postavljati.

Strežnik v oblaku: priprava na zagon
Priključil kamero:

Strežnik v oblaku: priprava na zagon
In preizkusili smo ga na našem "Semyonu":

Strežnik v oblaku: priprava na zagon
Semyon je zelo priročen kot model in pomočnik - ne prosi za hrano, ne moti ga telefon, vedno je dobre volje in s širokim nasmehom na čeladi. Takšnega skafandra seveda ne potrebujemo za polet, vendar ustvari pravo vzdušje v pisarni.

Oris projekta je naslednji:

Strežnik v oblaku: priprava na zagon
Powerbank se uporablja za testiranje na tleh; za lansiranje je potrebno nekaj bolj zanesljivega.

Morda najbolj zanimiv kos strojne opreme je plošča za sprejemanje podatkov iz vseh senzorjev:

Strežnik v oblaku: priprava na zagon
Fantje iz nearspace.ru Dolgo smo se mučili z različnimi analogi, nato pa smo sami naredili vgrajeni računalnik, saj je zanesljivost odločilnega pomena, usoda celotnega projekta je odvisna od podatkov telemetrije. Vgrajeni računalnik je odgovoren za sprejemanje podatkov iz vseh priključenih senzorjev in njihov prenos v Raspberry Pi.

Zagnali smo ga, konfigurirali in po nekaj tednih programiranja in počepov s tamburaši nam je uspelo pridobiti telemetrične podatke in fotografijo Semyona iz širokokotne kamere:

Strežnik v oblaku: priprava na zagon
Telemetrijski podatki se prenašajo v eni vrstici v naslednji obliki:

Strežnik v oblaku: priprava na zagon
Ta koda nato pretvori niz v matriko in izpiše podatke na spletno mesto:

$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 nekaterih podatkov:

  • N:2432; — številka podatkovnega paketa, ki vedno narašča
  • T:40m39s; — čas od trenutka vklopa krmilnika leta
  • MP.stopnja:0; — stopnja leta (0 — na tleh ali pod 1 km, 1 — vzpon, 2 — lebdenje na višini, 3 — spust)
  • MP.Alt:54; — barometrična višina v metrih od morske gladine — mora biti prikazana
  • MP.VSpeed:0.0; — navpična hitrost v metrih na sekundo s srednjim filtrom
  • MP.AvgVSpeed:0.0; — navpična hitrost v metrih na sekundo s filtrom za povprečenje
  • Baro.Press:1006.49; — barometerski tlak v milibarih
  • Baro.Alt:54; - nadmorska višina po barometru
  • Barotemp.:36.99; - temperatura samega barometra
  • GPS.Koordina:N56d43m23s,E37d55m68s; — trenutne koordinate
  • GPS.Domača stran:N56d43m23s,E37d55m68s; — koordinate začetne točke
  • GPS.Alt:165; — GPS višina v metrih
  • GPS.Dst:10; — razdalja od začetne točke v metrih
  • DS.Temp:[fc]=34.56; - temperaturni senzor na plošči

Kako izgleda rezultat:

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 
)

Kaj storiti, če mobilna komunikacija "pade"? Za ta primer imamo drugo kartico; v modem sta vstavljeni dve SIM kartici (ena za drugo):

Strežnik v oblaku: priprava na zagon
Samodejno lahko preklopi na rezervni kanal, če se glavni nenadoma neha odzivati.

Kaj se zgodi, če obe mobilni omrežji postaneta nedosegljivi?

Strežnik v oblaku: priprava na zagon(Fant iz številka "Yeralash" št. 45 Ni zaman, da bere "Teorijo verjetnosti")

V tem primeru bomo imeli neodvisen GPS sledilnik, ki pošilja signal o svoji lokaciji. Upoštevajte, da to ne počne prek mobilnega omrežja, katerega razpoložljivosti na dolge razdalje ne jamči nihče, temveč prek satelita.

Strežnik v oblaku: priprava na zagon
Da, GPS sledilnik je nekoliko večji od tistega, ki so ga vsadili pod kožo Jamesa Bonda. Ker je naše tekmovanje odvisno od koordinat letečega strežnika, bo ta del podatkov, prejetih s plošče, najpomembnejši. A o tem bomo govorili v naslednji objavi. Kmalu, spremljajte naš blog!

Tako zelo verjamemo v uspeh celotnega podjetja, da smo celo razpisali natečaj za tiste, ki bi kar naenkrat želeli uganiti, kje bo pristala žogica. Podrobnosti v našem nova objava.

Vir: www.habr.com

Dodaj komentar