FelhƑalapĂș szerver: kĂ©szĂŒlĂŒnk a bevezetĂ©sre

A poszt a regattĂĄrĂłl EmlĂ­tettĂŒk, hogy augusztusban verseny vĂĄr minden Habr-olvasĂłra nyeremĂ©nyekkel. Itt az idƑ, hogy leleplezzĂŒk a titkot. Valahogy eszĂŒnkbe jutott, hogy a "felhƑalapĂș szerver" kifejezĂ©st szĂł szerint is Ă©rthetjĂŒk. MiĂ©rt ne indĂ­tanĂĄnk valĂłban egy mƱködƑ szervert az Ă©gbe, amit pingelni lehet? Eleinte ƑrĂŒlt ötletnek tƱnt, de megfordĂ­tva Ă©s megvitatva többfĂ©lekĂ©ppen, vĂ©gĂŒl talĂĄltunk mĂłdot, hogy a szervert a madarak felĂ© kĂŒldjĂŒk. Augusztus vĂ©gĂ©n törtĂ©nik a törtĂ©nelmi indĂ­tĂĄs, addig is a projekt hardveres rĂ©szĂ©t dolgozzuk ki. RĂ©szletek a cĂ­m alatt.

FelhƑalapĂș szerver: kĂ©szĂŒlĂŒnk a bevezetĂ©sre

  1. A szerver Raspberry Pi 3 alapĂș lesz

    Érdekes lenne egy egyegysĂ©ges szervert a levegƑbe emelni, azonban a sĂșlya + az UPS sĂșlya... Mindezhez jelentƑs emelƑerƑre lenne szĂŒksĂ©g. És minek, amikor egy kompakt Raspberry Pi 3 alapĂș szervert is lehet ĂŒzemeltetni, ami szĂĄmĂ­tĂĄsi teljesĂ­tmĂ©nnyel több szĂĄzszor erƑsebb, mint az a gĂ©p, amelyen Tim Berners-Lee 1991-ben szĂłrakozott.

  2. A szervert léggömbön indítjuk el

    Volt ötletĂŒnk egy hĂ©liumos Ballonra emelni a szervert, de akkor a szerver nem pingelhetne sokĂĄig, mielƑtt a ballon a nagy magassĂĄgban a ritka lĂ©gkörben kidurranna, Ă©s az egĂ©sz szerkezet a földre zuhanna. SzerettĂŒk volna a "szĂłlĂłzĂĄsi ablakot" mĂĄsfĂ©l ĂłrĂĄra bƑvĂ­teni. EzĂ©rt Ășgy döntöttĂŒnk, hogy lĂ©ggömböt hasznĂĄlunk. A repĂŒlĂ©s idƑtartama — kĂ©t Ăłra. Ezen kĂ­vĂŒl bĂĄr nem teljesen irĂĄnyĂ­thatĂł, a kosĂĄrban ott lehet a mĂ©rnökĂŒnk, aki a hibĂĄk esetĂ©n azonnal, a helyszĂ­nen „bekapcsolhatja Ă©s kikapcsolhatja” a rendszert.

  3. A szĂĄllĂ­tĂĄsi hĂĄlĂłzatot mobiltelefonos kapcsolaton keresztĂŒl valĂłsĂ­tjuk meg

    A modern WiFi-antennĂĄk elĂ©g nagy tĂĄvolsĂĄgokat kĂ©pesek ĂĄthidalni, azonban ehhez a kapcsolati komplexumot a katonai radarĂĄllomĂĄsokhoz kĂ©pest hasonlĂł paramĂ©terekkel kellene Ă©pĂ­teni. És 1,5-2 Ăłra kapcsolatĂ©rt nem Ă©rdemes ilyet Ă©pĂ­teni, mert a lĂ©ggömb repĂŒlĂ©si magassĂĄgĂĄban a mobiltelefonos kapcsolatnak stabilan kell mƱködnie.

MiutĂĄn megfogalmaztuk ezeket a „posztulĂĄtumokat”, a projekt mĂĄr nem tƱnt megvalĂłsĂ­thatatlannak, Ă©s hamarosan elkezdtĂŒnk dolgozni mindhĂĄrom irĂĄnyban.

ElƑször a srĂĄcokhoz fordultunk segĂ­tsĂ©gĂ©rt nearspace.ru, megevƑ kutyĂĄval a levegƑbe hajigĂĄlva mindenfĂ©le vasdarabokat (utĂĄna keresve Ă©s mentve).

AztĂĄn elƑvettĂŒk a Raspberry Pi 3-at, amely a rendszergazdĂĄnk fiĂłkjĂĄban hevert, Ă©s elkezdtĂŒk beĂĄllĂ­tani.

FelhƑalapĂș szerver: kĂ©szĂŒlĂŒnk a bevezetĂ©sre
Csatlakoztattuk a kamerĂĄt:

FelhƑalapĂș szerver: kĂ©szĂŒlĂŒnk a bevezetĂ©sre
És teszteltĂŒk a «Szemjon»-unkon:

FelhƑalapĂș szerver: kĂ©szĂŒlĂŒnk a bevezetĂ©sre
Szemjon nagyon kĂ©nyelmes modell Ă©s segĂ­tƑ — nem kĂ©r Ă©telt, nem vonja el a figyelmĂ©t a telefon, mindig kivĂĄlĂł hangulatban van, szĂ©les mosollyal, ami betölti az egĂ©sz bukĂłsisakjĂĄt. TermĂ©szetesen, ilyen szkafanderre repĂŒlĂ©shez nincs szĂŒksĂ©gĂŒnk, de a lĂ©gkör megteremtĂ©sĂ©ben segĂ­t az irodĂĄban.

A projekt vĂĄzlata a következƑkĂ©ppen nĂ©z ki:

FelhƑalapĂș szerver: kĂ©szĂŒlĂŒnk a bevezetĂ©sre
A powerbank a földi tesztelĂ©shez szĂŒksĂ©ges, az indĂ­tĂĄshoz valami megbĂ­zhatĂłbbra van szĂŒksĂ©g.

TalĂĄn a legĂ©rdekesebb hardver a szenzorok adatait gyƱjtƑ panel:

FelhƑalapĂș szerver: kĂ©szĂŒlĂŒnk a bevezetĂ©sre
A srĂĄcok a nearspace.ru hosszan szenvedtek kĂŒlönbözƑ analĂłg megoldĂĄsokkal, majd maguk kĂ©szĂ­tettek fedĂ©lzeti szĂĄmĂ­tĂłgĂ©pet, mert a megbĂ­zhatĂłsĂĄg döntƑ jelentƑsĂ©gƱ, a telemetriai adatok sorsa az egĂ©sz projektet eldöntheti. A fedĂ©lzeti szĂĄmĂ­tĂłgĂ©p felelƑs az összes csatlakoztatott szenzor adatainak fogadĂĄsĂĄĂ©rt, Ă©s ĂĄtkonvertĂĄlja Ƒket a Raspberry Pi-re.

ElindĂ­tottuk, beĂĄllĂ­tottuk, Ă©s körĂŒlbelĂŒl nĂ©hĂĄny hĂ©t programozĂĄs Ă©s varĂĄzslĂĄs utĂĄn sikerĂŒlt telemetriai adatokat Ă©s Szemjon kĂ©peit kapni a szĂ©les lĂĄtĂłszögƱ kamerĂĄval:

FelhƑalapĂș szerver: kĂ©szĂŒlĂŒnk a bevezetĂ©sre
A telemetriai adatok egy sorban, a következƑ formĂĄtumban kerĂŒlnek ĂĄtadĂĄsra:

FelhƑalapĂș szerver: kĂ©szĂŒlĂŒnk a bevezetĂ©sre
Ezutån ez a kód az `array`-t egy tömbbé alakítja és megjeleníti az adatokat az oldalon:

$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 adatcsomag szĂĄma, mindig növekszik.
  • T:40m39s; — az idƑ a repĂŒlĂ©svezĂ©rlƑ bekapcsolĂĄsa Ăłta.
  • MP.Stage:0; — a repĂŒlĂ©s szakasza (0  — a földön vagy 1 km alatt, 1 — emelkedĂ©s, 2 — magassĂĄgban lebegĂ©s, 3 — sĂŒllyedĂ©s).
  • MP.Alt:54; — a barometrikus magassĂĄg mĂ©terben a tengerszint felett — ezt meg kell jelenĂ­teni.
  • MP.VSpeed:0.0; — a fĂŒggƑleges sebessĂ©g mĂ©ter/mĂĄsodpercben a mediĂĄn szƱrĂ©st figyelembe vĂ©ve.
  • MP.AvgVSpeed:0.0; — a fĂŒggƑleges sebessĂ©g mĂ©ter/mĂĄsodpercben az ĂĄtlagolĂł szƱrĂ©st figyelembe vĂ©ve.
  • Baro.Press:1006.49; — a baromĂ©ter szerinti nyomĂĄs millibarban.
  • Baro.Alt:54; — a baromĂ©ter szerinti magassĂĄg.
  • Baro.Temp:36.99; — a baromĂ©ter hƑmĂ©rsĂ©klete.
  • GPS.Coord:N56d43m23s,E37d55m68s; — az aktuĂĄlis koordinĂĄtĂĄk.
  • GPS.Home:N56d43m23s,E37d55m68s; — a startpont koordinĂĄtĂĄi.
  • GPS.Alt:165; — magassĂĄg GPS alapjĂĄn mĂ©terben
  • GPS.Dst:10; — tĂĄvolsĂĄg a kiindulĂĄsi ponttĂłl mĂ©terben
  • DS.Temp:[fc]=34.56; — hƑmĂ©rsĂ©klet Ă©rzĂ©kelƑ az alaplapon

Hogyan néznek ki a kiírt adatok:

Tömb 
(
       [N] => 647
       [Đą] => 10m55p
       [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с] 33.56
       [Volt] => 5.19, 0.00,0.00,0.00,0.00,0.00,0.00,0.00 
)

Mit tegyĂŒnk, ha a mobil kapcsolat „leesik”? Erre az esetre van egy mĂĄsodik kĂĄrtyĂĄnk, a modembe kĂ©t SIM-kĂĄrtya helyezhetƑ (egymĂĄs utĂĄn egy slotba):

FelhƑalapĂș szerver: kĂ©szĂŒlĂŒnk a bevezetĂ©sre
Automatikusan våltani tud a tartalékcsatornåra, ha az alapértelmezett hirtelen nem vålaszol.

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

FelhƑalapĂș szerver: kĂ©szĂŒlĂŒnk a bevezetĂ©sre(A fiĂș a Érdekes felvĂ©telek "Eralash" 45. szĂĄmĂĄbĂłl nem vĂ©letlenĂŒl olvas "ValĂłszĂ­nƱsĂ©gelmĂ©letet")

Erre az esetre egy fĂŒggetlen GPS nyomkövetƑnk lesz, amely a helyĂ©rƑl kĂŒld jelet. Vegye figyelembe, hogy ezt nem mobilhĂĄlĂłzaton keresztĂŒl teszi, amelynek elĂ©rhetƑsĂ©ge nagy tĂĄvolsĂĄgban nem garantĂĄlt, hanem mƱholdon keresztĂŒl.

FelhƑalapĂș szerver: kĂ©szĂŒlĂŒnk a bevezetĂ©sre
Igen, a GPS nyomkövetƑ kicsit nagyobb, mint az, amit James Bond bƑre alĂĄ ĂŒltettek. Mivel versenyĂŒnk fĂŒgg a repĂŒlƑ szerver koordinĂĄtĂĄitĂłl, ennek az adatsornak a kapott adatok közĂŒl a legfontosabbnak kell lennie. De errƑl mĂĄr a következƑ bejegyzĂ©sĂŒnkben beszĂ©lĂŒnk. Hamarosan Ă©rkezĂŒnk, kövesse a blogunkat!

BĂ­zunk a teljes vĂĄllalkozĂĄs sikerĂ©ben annyira, hogy mĂ©g versenyt hirdettĂŒnk azok szĂĄmĂĄra, akik szeretnĂ©k kitalĂĄlni a lĂ©ggömb landolĂĄsi helyĂ©t. RĂ©szletek az Ășj bejegyzĂ©sĂŒnkben.

ForrĂĄs: habr.com

MegbĂ­zhatĂł hosting vĂĄsĂĄrlĂĄsa weboldalak szĂĄmĂĄra, DDoS vĂ©delemmel, VPS VDS szerverek. đŸ”„ MegbĂ­zhatĂł webtĂĄrhely vĂĄsĂĄrlĂĄsa DDoS vĂ©delemmel, VPS VDS szerverek | ProHoster