Serveri në retë: përgatitja për të nisur

В postim në lidhje me garën Përmendëm se në gusht do të ketë garë me çmime për të gjithë Habrazhitelët. Ka ardhur koha për të hequr velin e fshehtësisë. Në një farë mënyre morëm idenë se fraza "server në re" mund të merret fjalë për fjalë. Le të nisim në fakt një server që funksionon në qiell që mund të pingohet! Në fillim ideja dukej e çmendur, por pasi e shtrembëruam andej-këtej, duke e diskutuar në çdo mënyrë, më në fund gjetëm një mënyrë për ta dërguar serverin drejt zogjve. Një nisje epokale do të bëhet në fund të gushtit, por tani për tani jemi duke punuar në pjesën harduerike të projektit. Detajet nën prerje.

Serveri në retë: përgatitja për të nisur

  1. Serveri do të bazohet në Raspberry Pi 3

    Do të ishte interesante të ngrihej në ajër një server me një njësi, por pesha e tij + pesha e UPS-it... E gjithë kjo do të kërkonte forcë të konsiderueshme ngritëse. Dhe pse, nëse në bazë të një Raspberry Pi 3 kompakt mund të vendosni një server mjaft të mirë, me një fuqi llogaritëse disa qindra herë më të mëdha se makina në të cilën Tim Berners-Lee u argëtua në 1991.

  2. Le të nisim serverin në një tullumbace me ajër të nxehtë

    Ne kishim ide për ta ngritur serverin në një sondë heliumi, por më pas serveri nuk do të bënte ping për shumë kohë përpara se tullumbace të shpërthente në një lartësi të madhe në një atmosferë të rrallë dhe e gjithë struktura të binte në tokë. Doja të zgjeroja "dritaren" e kohës së transmetimit në një orë e gjysmë. Dhe më pas ata vendosën të përdorin një tullumbace. Kohëzgjatja e fluturimit është dy orë. Për më tepër, megjithëse fluturimi nuk është plotësisht i kontrollueshëm, në kosh mund të jetë inxhinieri ynë, i cili në rast të një mosfunksionimi, mund ta "ndizë dhe fikë" shpejt, pikërisht në vend.

  3. Ne do të përdorim komunikimet celulare si një rrjet transporti

    Antenat moderne WiFi mund të "shpojnë" distanca mjaft të gjata, por për këtë do të ishte e nevojshme të ndërtohet një kompleks komunikimi që nuk është shumë inferior në parametrat e tij ndaj një stacioni radar ushtarak. Dhe për hir të 1,5-2 orësh komunikimi, nuk ka kuptim të ndërtohet një sistem i tillë, sepse në lartësinë e balonës, komunikimet celulare duhet të funksionojnë në mënyrë të qëndrueshme.

Pas formulimit të këtyre "postulateve", projekti nuk dukej më i pazbatueshëm dhe së shpejti filluam të punonim në të tre drejtimet njëherësh.

Para së gjithash, ne iu drejtuam djemve nga nearspace.ru, i cili hëngri qenin ndërsa lëshonte në ajër të gjitha llojet e copave të hekurit (me kërkim-shpëtim të mëvonshëm).

Më pas nxorëm Raspberry Pi 3, i cili ishte shtrirë në komodinën e administratorit tonë dhe filluam ta vendosnim.

Serveri në retë: përgatitja për të nisur
Lidhi kamerën:

Serveri në retë: përgatitja për të nisur
Dhe ne e testuam atë në "Semyon" tonë:

Serveri në retë: përgatitja për të nisur
Semyon është shumë i përshtatshëm si model dhe asistent - ai nuk kërkon ushqim, nuk shpërqendrohet nga telefoni, është gjithmonë në humor të shkëlqyeshëm dhe me një buzëqeshje të gjerë nga e gjithë helmeta. Natyrisht, nuk kemi nevojë për një kostum të tillë për fluturim, por krijon atmosferën e duhur në zyrë.

Skema e projektit është si më poshtë:

Serveri në retë: përgatitja për të nisur
Powerbank përdoret për testimin në tokë; nevojitet diçka më e besueshme për nisjen.

Ndoshta pjesa më interesante e harduerit është një tabelë për marrjen e të dhënave nga të gjithë sensorët:

Serveri në retë: përgatitja për të nisur
Djemtë nga nearspace.ru Ne luftuam për një kohë të gjatë me analoge të ndryshme, dhe më pas bëmë vetë një kompjuter në bord, sepse besueshmëria është me rëndësi vendimtare, fati i të gjithë projektit varet nga të dhënat e telemetrisë. Kompjuteri në bord është përgjegjës për marrjen e të dhënave nga të gjithë sensorët e lidhur dhe transmetimin e tyre në Raspberry Pi.

E nisëm, e konfiguruam dhe pas disa javësh programimi dhe mbledhje me dajre, arritëm të merrnim të dhëna telemetrike dhe një foto të Semyon nga një aparat fotografik me kënd të gjerë:

Serveri në retë: përgatitja për të nisur
Të dhënat e telemetrisë transmetohen në një linjë në formën e mëposhtme:

Serveri në retë: përgatitja për të nisur
Ky kod më pas konverton vargun në një grup dhe nxjerr të dhënat në sajt:

$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);

Përshkrimi i disa të dhënave:

  • N:2432; — numri i paketës së të dhënave, gjithnjë në rritje
  • T:40m39s; — koha nga momenti i ndezjes së kontrollorit të fluturimit
  • MP.Skena:0; - faza e fluturimit (0 - në tokë ose nën 1 km, 1 - ngjitje, 2 - pezullim në lartësi, 3 - zbritje)
  • MP.Alt:54; — lartësia barometrike në metra nga niveli i detit — duhet të shfaqet
  • MP.VSpeed:0.0; — shpejtësi vertikale në metra për sekondë me filtër mesatar
  • MP.AvgVSpeed:0.0; — shpejtësi vertikale në metra për sekondë me filtër mesatar
  • Baro.Shtypi:1006.49; - presioni i barometrit në milibar
  • Baro.Alt:54; - lartësia mbidetare sipas barometrit
  • Baro.Temp:36.99; - temperatura e vetë barometrit
  • GPS.Koord:N56d43m23s,E37d55m68s; - koordinatat aktuale
  • GPS.Home:N56d43m23s,E37d55m68s; - koordinatat e pikës së fillimit
  • GPS.Alt:165; — Lartësia GPS në metra
  • GPS.Dst:10; - distanca nga pika e fillimit në metra
  • DS.Temp:[fc]=34.56; - sensori i temperaturës në tabelë

Si duket dalja:

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 
)

Çfarë duhet të bëni nëse komunikimi celular "bie"? Për këtë rast, ne kemi një kartë të dytë; dy karta SIM futen në modem (një slot në të njëjtën kohë):

Serveri në retë: përgatitja për të nisur
Mund të kalojë automatikisht në një kanal rezervë nëse ai kryesor ndalon papritmas të përgjigjet.

Çfarë ndodh nëse të dy rrjetet celulare bëhen të padisponueshme?

Serveri në retë: përgatitja për të nisur(Djalë nga numri “Yeralash” nr.45 Nuk është më kot që ai lexon "Teoria e probabilitetit")

Në këtë rast, ne do të kemi një gjurmues të pavarur GPS që dërgon një sinjal për vendndodhjen e tij. Ju lutemi vini re se nuk e bën këtë përmes një rrjeti celular, disponueshmëria e të cilit në distanca të gjata nuk garantohet nga askush, por përmes një sateliti.

Serveri në retë: përgatitja për të nisur
Po, gjurmuesi GPS është disi më i madh se ai që është futur nën lëkurën e James Bond. Meqenëse konkurrenca jonë varet nga koordinatat e serverit fluturues, kjo pjesë e të dhënave të marra nga bordi do të jetë më e rëndësishmja. Por ne do të flasim për këtë në postimin e ardhshëm. Së shpejti, ndiqni blogun tonë!

Ne besojmë në suksesin e të gjithë ndërmarrjes aq shumë sa që shpallëm edhe një konkurs për ata që papritur duan të marrin me mend se ku do të bjerë topi. Detajet në tonë postim i ri.

Burimi: www.habr.com

Shto një koment