Servilo en la nuboj: prepariĝas por lanĉi

В afiŝo pri la regato Ni menciis, ke en aŭgusto okazos konkurso kun premioj por ĉiuj Habrazhitels. Venis la tempo forŝiri la vualon de sekreteco. Iel ni ekhavis la ideon, ke la frazo "servilo en la nuboj" povas esti prenita laŭvorte. Ni efektive lanĉu funkciantan servilon en la ĉielon, kiun oni povas pingi! Komence la ideo aspektis freneza, sed post tordado de ĝi jen kaj jen, diskutante ĝin ĉiumaniere, ni finfine elpensis manieron sendi la servilon al la birdoj. Epokfara lanĉo okazos fine de aŭgusto, sed nuntempe ni laboras pri la aparataro de la projekto. Detaloj sub la tranĉo.

Servilo en la nuboj: prepariĝas por lanĉi

  1. La servilo estos bazita sur Raspberry Pi 3

    Estus interese levi unu-unuan servilon en la aeron, sed ĝia pezo + la pezo de la UPS... Ĉio ĉi postulus konsiderindan levan forton. Kaj kial, se surbaze de kompakta Raspberry Pi 3 vi povas disfaldi sufiĉe decan servilon, kun komputika potenco plurcent fojojn pli granda ol la maŝino, per kiu Tim Berners-Lee amuziĝis en 1991.

  2. Ni lanĉu la servilon en varmaerbalono

    Ni havis ideojn por levi la servilon sur heliumo-sondilo, sed tiam la servilo ne longe pintis antaŭ ol la balono krevus en alta altitudo en rarefita atmosfero kaj la tuta strukturo falus teren. Mi volis pligrandigi la elsendotempon "fenestron" al unu kaj duono horoj. Kaj tiam ili decidis uzi balonon. Flugdaŭro estas du horoj. Krome, kvankam la flugo ne estas tute kontrolebla, povas esti nia inĝeniero en la korbo, kiu, en kazo de misfunkciado, povas rapide, tuj surloke, "ŝalti kaj malŝalti ĝin".

  3. Ni uzos ĉelajn komunikadojn kiel transportreton

    Modernaj WiFi-antenoj povas "trapiki" sufiĉe longajn distancojn, sed por tio necesus konstrui komunikadkomplekson, kiu ne estas multe malsupera en siaj parametroj ol milita radarstacio. Kaj pro 1,5-2 horoj da komunikado, ne havas sencon konstrui tian sistemon, ĉar ĉe la alteco de la balono, ĉelaj komunikadoj devas funkcii stabile.

Formulinte ĉi tiujn "postulatojn", la projekto ne plu ŝajnis nepraktigebla, kaj baldaŭ ni komencis labori en ĉiuj tri direktoj samtempe.

Antaŭ ĉio, ni turnis nin al la uloj de nearspace.ru, kiu manĝis la hundon lanĉante ĉiajn ferpecojn en la aeron (kun posta serĉo kaj savo).

Poste ni elprenis la Raspberry Pi 3, kiu kuŝis en la apuda tablo de nia administranto, kaj komencis agordi ĝin.

Servilo en la nuboj: prepariĝas por lanĉi
Konektis la fotilon:

Servilo en la nuboj: prepariĝas por lanĉi
Kaj ni provis ĝin sur nia "Semyon":

Servilo en la nuboj: prepariĝas por lanĉi
Semyon estas tre oportuna kiel modelo kaj asistanto - li ne petas manĝaĵon, ne distriĝas per la telefono, ĉiam estas en bonega humoro kaj kun larĝa rideto de la tuta kasko. Kompreneble, ni ne bezonas tian kosmoveston por la flugo, sed ĝi kreas la ĝustan etoson en la oficejo.

La skizo de la projekto estas jena:

Servilo en la nuboj: prepariĝas por lanĉi
Powerbank estas uzata por grunda testado; io pli fidinda estas necesa por lanĉo.

Eble la plej interesa aparataro estas tabulo por ricevi datumojn de ĉiuj sensiloj:

Servilo en la nuboj: prepariĝas por lanĉi
Uloj de nearspace.ru Ni luktis dum longa tempo kun diversaj analogoj, kaj poste ni mem faris surŝipan komputilon, ĉar fidindeco estas decida graveco, la sorto de la tuta projekto dependas de telemetriaj datumoj. La surŝipa komputilo respondecas ricevi datumojn de ĉiuj konektitaj sensiloj kaj transdoni ilin al la Raspberry Pi.

Ni lanĉis ĝin, agordis ĝin, kaj post kelkaj semajnoj da programado kaj kaŭri per tamburinoj, ni sukcesis akiri telemetriajn datumojn kaj foton de Semyon de larĝangula fotilo:

Servilo en la nuboj: prepariĝas por lanĉi
Telemetriaj datumoj estas elsenditaj en unu linio en la sekva formo:

Servilo en la nuboj: prepariĝas por lanĉi
Ĉi tiu kodo tiam konvertas la ĉenon al tabelo kaj eligas la datumojn al la retejo:

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

Priskribo de iuj datumoj:

  • N:2432; — numero de datumpakaĵoj, ĉiam pliiĝanta
  • T:40m39s; — tempo ekde la momento en kiu la flugregilo estas ŝaltita
  • MP.Stage:0; — flugetapo (0 — surgrunde aŭ sub 1 km, 1 — supreniro, 2 — ŝvebado en alteco, 3 — malsupreniro)
  • MP.Alt:54; — barometra alteco en metroj de marnivelo — ĝi estu montrata
  • MP.VSpeed:0.0; — vertikala rapido en metroj je sekundo kun meza filtrilo
  • MP.AvgVSpeed:0.0; — vertikala rapido en metroj je sekundo kun averaĝa filtrilo
  • Baro.Press:1006.49; — barometra premo en milibaroj
  • Baro.Alt:54; - alteco laŭ barometro
  • Baro.Temp:36.99; - temperaturo de la barometro mem
  • GPS.Coord:N56d43m23s, E37d55m68s; — aktualaj koordinatoj
  • GPS.Hejmo:N56d43m23s, E37d55m68s; — koordinatoj de la deirpunkto
  • GPS.Alt:165; — GPS-alteco en metroj
  • GPS.Dst:10; — distanco de la komenca punkto en metroj
  • DS.Temp:[fc]=34.56; - temperatursensilo sur la tabulo

Kiel aspektas la eligo:

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 
)

Kion fari se ĉela komunikado "falas"? Por ĉi tiu kazo, ni havas duan karton; du SIM-kartoj estas enmetitaj en la modemon (unu fendo samtempe):

Servilo en la nuboj: prepariĝas por lanĉi
Ĝi povas aŭtomate ŝanĝi al rezerva kanalo se la ĉefa subite ĉesas respondi.

Kio okazas se ambaŭ ĉelaj retoj fariĝas neatingeblaj?

Servilo en la nuboj: prepariĝas por lanĉi(Knabo de numero "Yeralash" n-ro 45 Ne vane li legas "La Teorio de Probableco")

En ĉi tiu kazo, ni havos sendependan GPS-spurilon, kiu sendas signalon pri ĝia loko. Bonvolu noti, ke ĝi faras tion ne per ĉela reto, kies havebleco sur longaj distancoj ne estas garantiita de neniu, sed per satelito.

Servilo en la nuboj: prepariĝas por lanĉi
Jes, la GPS-spurilo estas iom pli granda ol tiu, kiu estis enplantita sub la haŭto de James Bond. Ĉar nia konkurado dependas de la koordinatoj de la flugservilo, ĉi tiu parto de la datumoj ricevitaj de la tabulo estos la plej grava. Sed pri tio ni parolos en la sekva afiŝo. Baldaŭ, sekvu nian blogon!

Ni kredas je la sukceso de la tuta entrepreno tiom multe, ke ni eĉ anoncis konkurson por tiuj, kiuj subite volas diveni, kien la pilko alteriĝos. Detaloj en nia nova afiŝo.

fonto: www.habr.com

Aldoni komenton