Strežnik v oblaku: pripravljamo se na zagon

V posta o regati povedali smo, da nas avgusta čaka tekmovanje s nagradami. Prišel je čas, da razkrijemo tančico skrivnosti. Nekega dne smo se spomnili, da lahko frazo 'strežnik v oblaku' razumemo dobesedno. Kaj pa, če resnično lansiramo delujoč strežnik v nebo, ki ga bomo lahko pingali! Sprva se je ideja zdela norčava, a po tem, ko smo jo obrnili z vseh strani in razpravljali o njej, smozikrili način, kako poslati strežnik proti pticam. Konec avgusta se bo zgodil epohalni zagon, do takrat pa pridno dodeljujemo strojno opremo projekta. Podrobnosti pod objavo.

Strežnik v oblaku: pripravljamo se na zagon

  1. Strežnik bo na osnovi Raspberry Pi 3

    Zanimivo bi bilo dvigniti enonitni strežnik v zrak, vendar je njegov težo + težo UPS… Za vse to bi potrebovali precejšnjo dvigalno moč. In zakaj, če lahko na osnovi kompaktnega Raspberry Pi 3 postavimo precej spodobno strežnik z računalniško močjo, ki je nekaj sto krat večja od tistega računalnika, na katerem se je leta 1991 zabaval Tim Berners-Lee.

  2. Strežnik bomo zagnali na balonu

    Imeli smo ideje, da strežnik dvignemo z helijevim balonom, vendar bi se strežnik le kratek čas pingal, preden bi balon na veliki višini v redek atmosferi počil in bi celotna konstrukcija padla na zemljo. Želeli smo podaljšati 'okno' eternega časa na eno in pol ure. Zato smo se odločili uporabiti balon. Trajanje leta: dve uri. Poleg tega plovba ni čisto upravljiva, a lahko bo v košari naš inženir, ki bo v primeru okvare lahko hitro na mestu 'vklopil in izklopil'.

  3. Kot transportno omrežje bomo uporabili mobilno omrežje

    Sodobne WiFi antene lahko 'predirajo' precejšnje razdalje, vendar bi bilo za to potrebno zgraditi komunikacijski kompleks, ki bi bil po svojih lastnostih malo slabši od vojaške radarne postaje. In zaradi 1,5-2 ur komunikacije nimamo smisla graditi takšnega sistema, saj bi moralo mobilno omrežje na višini poleta balona delovati stabilno.

Potem ko smo oblikovali te 'postulate', projekt več ni deloval neizvedljivo, kmalu pa smo se lotili dela hkrati na vseh treh področjih.

Najprej smo prosili za pomoč fante iz nearspace.ru, ki imajo izkušnje z lansiranjem različnih naprav v zrak (z naknadnim iskanjem in reševanjem).

Potem smo vzeli Raspberry Pi 3, ki je ležal v omarici našega administratorja, in ga začeli nastavljati.

Strežnik v oblaku: pripravljamo se na zagon
Povezali smo kamero:

Strežnik v oblaku: pripravljamo se na zagon
In jo testirali na našem 'Semjonu':

Strežnik v oblaku: pripravljamo se na zagon
Semjon je zelo priročen kot model in pomočnik - ne prosi za hrano, se ne moti s telefonom, je vedno v odličnem razpoloženju in s širokim nasmehom. Seveda tak skafander ni potreben za letenje, ampak ustvarja pravo vzdušje v pisarni.

Načrt projekta se kaže naslednji:

Strežnik v oblaku: pripravljamo se na zagon
Powerbank se uporablja za terenske teste, za zagon potrebujemo nekaj zanesljivejšega.

Najbolj zanimiv del je plošča za pridobivanje podatkov s vseh senzorjev:

Strežnik v oblaku: pripravljamo se na zagon
Fantje iz nearspace.ru so se dolgo mučili z različnimi analogi, nato pa so sami izdelali vgradni računalnik, ker je zanesljivost odločilnega pomena, od telemetričnih podatkov pa je odvisna usoda celotnega projekta. Vgradni računalnik skrbi za sprejem podatkov s vseh povezanih senzorjev in jih posreduje na Raspberry Pi.

Zagnali smo, nastavili in po nekaj tednih programiranja in plesanja z bobni uspeli pridobiti telemetrične podatke ter fotografijo Semjona s širokokotno kamero:

Strežnik v oblaku: pripravljamo se na zagon
Telemetrični podatki se prenašajo v eni vrstici v takšni obliki:

Strežnik v oblaku: pripravljamo se na zagon
Nato ta koda pretvori vrstico v polje in prikaže podatke na spletu:

$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 paketa podatkov, vedno narašča.
  • T:40m39s; — čas od vklopa letečega krmilnika.
  • MP.Stage:0; — faza letenja (0 — na tleh ali pod 1 km, 1 — vzlet, 2 — lebdenje na višini, 3 — spust).
  • MP.Alt:54; — barometrična višina v metrih nad morsko gladino — to je treba prikazati.
  • MP.VSpeed:0.0; — vertikalna hitrost v metrih na sekundo z mediano filtre.
  • MP.AvgVSpeed:0.0; — vertikalna hitrost v metrih na sekundo s povprečnim filtrom.
  • Baro.Press:1006.49; — tlak po barometru v milibarih.
  • Baro.Alt:54; — višina po barometru.
  • Baro.Temp:36.99; — temperatura samega barometra.
  • GPS.Coord:N56d43m23s,E37d55m68s; — trenutne koordinate.
  • GPS.Home:N56d43m23s,E37d55m68s; — koordinate starting point.
  • GPS.Alt:165; — višina po GPS v metrih.
  • GPS.Dst:10; — oddaljenost od točke štarta v metrih.
  • DS.Temp:[fc]=34.56; — temperaturna senzor na ploči

Kako izgledaju ispisani podaci:

Niz 
(
       [N] => 647
       [T] => 10m55s
       [MP_Faza] => 0
       [MP_Visina] => 49
       [MP_VBrzina] => 0.0
       [MP_SrednjaVBrzina] => 0.0
       [Baro_Pritisak] => 1007.06
       [Baro_Visina] => 50
       [Baro_Temp] => 35.93
       [GPS_Koord] => N56d43m23s,E37d55m68s 
       [GPS_Dom] => N56d43m23s,E37d55m68s 
       [Dst] => 5
       [GPS_HBrzina] => 0
       [GPS_Kurs] => 357
       [GPS_Vreme] => 11h17m40s
       [GPS_Datum] => 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 
)

Šta raditi ako mobilna mreža „padne“? U ovom slučaju imamo drugu karticu, u modem se umetnuju dve SIM kartice (u jedan slot naizmenično):

Strežnik v oblaku: pripravljamo se na zagon
Automatski se prebacuje na rezervni kanal ako glavni iznenada prestane da odgovara.

Šta će se desiti ako obe mobilne mreže postanu nedostupne?

Strežnik v oblaku: pripravljamo se na zagon(Dečak iz izdanja „Eralash“ br. 45 nije bez razloga pročitao „Teoriju verovatnoće“)

U ovom slučaju imamo nezavisni GPS-tracker koji šalje signal o svojoj lokaciji. Imajte na umu da to čini ne putem mobilne mreže, čija dostupnost na velikim udaljenostima nije zagarantovana, već putem satelita.

Strežnik v oblaku: pripravljamo se na zagon
Da, GPS-tracker je nešto veći od onog koji su ugradili pod kožu Džejmsu Bondu. Pošto naš konkurs zavisi od koordinata letećeg servera, ovaj deo podataka dobijenih sa broda biće najvažniji. O tome ćemo pričati u sledećem postu. Uskoro, pratite naš blog!

Verujemo u uspeh celokupnog preduzeća toliko da smo čak pokrenuli konkurs za one koji žele da pogode mesto sletanja balona. Detalji u našem novom postu.

Izvor: habr.com

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster