Server pilvedes: valmistume käivitamiseks

В postitus regati kohta Mainisime, et augustis toimub võistlus auhindadega kõigile Habrazhitelidele. On kätte jõudnud aeg saladuseloor maha rebida. Kuidagi tekkis mõte, et väljendit “server pilvedes” võib võtta sõna-sõnalt. Tõstame tegelikult taevasse töötava serveri, mida saab pingestada! Alguses tundus see idee hullumeelne, aga nii- ja naapidi keerutades, igakülgselt arutledes, jõudsime lõpuks selleni, kuidas server lindude poole saata. Augusti lõpus toimub epohhiloov käivitamine, kuid praegu töötame projekti riistvaralise osa kallal. Detailid lõike all.

Server pilvedes: valmistume käivitamiseks

  1. Server hakkab põhinema Raspberry Pi 3-l

    Huvitav oleks ühe ühikuga serverit õhku tõsta, aga selle kaal + UPSi kaal... Kõik see nõuaks arvestatavat tõstejõudu. Ja miks, kui kompaktse Raspberry Pi 3 baasil saate kasutusele võtta üsna korraliku serveri, mille arvutusvõimsus on mitusada korda suurem kui masin, millel Tim Berners-Lee 1991. aastal lõbustas.

  2. Käivitame serveri kuumaõhupalliga

    Meil oli ideid tõsta server heeliumisondile, kuid siis ei pinginud server kaua, enne kui õhupall lõhkes suurel kõrgusel haruldases atmosfääris ja kogu konstruktsioon maapinnale kukub. Tahtsin laiendada eetriakent pooleteise tunnini. Ja siis otsustasid nad kasutada õhupalli. Lennu kestus on kaks tundi. Lisaks, kuigi lend ei ole täielikult juhitav, võib korvis olla meie insener, kes rikke korral saab selle kiiresti, kohe kohapeal "sisse ja välja lülitada".

  3. Transpordivõrguna hakkame kasutama mobiilsidet

    Kaasaegsed WiFi-antennid suudavad “läbistada” päris pikki vahemaid, kuid selleks oleks vaja ehitada sidekompleks, mis oma parameetritelt ei jääks palju alla militaarradarijaamale. Ja 1,5-2 tunnise suhtluse nimel pole mõtet sellist süsteemi ehitada, sest õhupalli kõrgusel peab mobiilside stabiilselt toimima.

Pärast nende "postulaatide" sõnastamist ei tundunud projekt enam teostamatu ja peagi hakkasime töötama kõigis kolmes suunas korraga.

Kõigepealt pöördusime meeste poole nearspace.ru, kes kõikvõimalikke rauatükke õhku paiskades sõi koera ära (koos järgneva otsimise ja päästmisega).

Seejärel võtsime välja Raspberry Pi 3, mis lebas meie administraatori öökapil, ja hakkasime seda seadistama.

Server pilvedes: valmistume käivitamiseks
Kaamera ühendatud:

Server pilvedes: valmistume käivitamiseks
Ja katsetasime seda oma "Semyonil":

Server pilvedes: valmistume käivitamiseks
Semyon on modellina ja assistendina väga mugav - ta ei küsi süüa, ei sega telefonist, on alati suurepärases tujus ja laia naeratusega üle kiivri. Muidugi pole meil sellist skafandrit lennuks vaja, kuid see loob kontoris õige atmosfääri.

Projekti ülevaade on järgmine:

Server pilvedes: valmistume käivitamiseks
Powerbanki kasutatakse maapealseks testimiseks, käivitamiseks on vaja midagi usaldusväärsemat.

Võimalik, et kõige huvitavam riistvara on tahvel kõigi andurite andmete vastuvõtmiseks:

Server pilvedes: valmistume käivitamiseks
Poisid pärit nearspace.ru Maadlesime tükk aega erinevate analoogidega ja siis tegime ise pardaarvuti, sest töökindlus on määrava tähtsusega, telemeetriaandmetest sõltub kogu projekti saatus. Pardaarvuti vastutab kõigi ühendatud andurite andmete vastuvõtmise ja nende Raspberry Pi-le edastamise eest.

Käivitasime, konfigureerisime ning pärast paarinädalast programmeerimist ja tamburiinidega kükitamist õnnestus saada lainurkkaamerast telemeetriaandmed ja foto Semyonist:

Server pilvedes: valmistume käivitamiseks
Telemeetriaandmed edastatakse ühel real järgmisel kujul:

Server pilvedes: valmistume käivitamiseks
Seejärel teisendab see kood stringi massiiviks ja väljastab andmed saidile:

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

Mõnede andmete kirjeldus:

  • N: 2432; — andmepaketi number, pidevalt kasvav
  • T:40m39s; — aeg alates lennujuhi sisselülitamise hetkest
  • MP.Stage:0; — lennuetapp (0 — maapinnal või alla 1 km, 1 — tõus, 2 — hõljumine kõrgusel, 3 — laskumine)
  • MP.Alt:54; — baromeetriline kõrgus merepinnast meetrites — see tuleks kuvada
  • MP.VSiirus:0.0; — vertikaalkiirus meetrites sekundis mediaanfiltriga
  • MP.AvgVSpeed:0.0; — vertikaalkiirus meetrites sekundis koos keskmistava filtriga
  • Baro.Press:1006.49; — baromeetri rõhk millibaarides
  • Baro.Alt:54; - kõrgus merepinnast vastavalt baromeetrile
  • Baro.Temp:36.99; - baromeetri enda temperatuur
  • GPS.Coord:N56d43m23s,E37d55m68s; — praegused koordinaadid
  • GPS.Kodu:N56d43m23s,E37d55m68s; — lähtepunkti koordinaadid
  • GPS.Alt:165; — GPS-i kõrgus meetrites
  • GPS.Dst:10; — kaugus alguspunktist meetrites
  • DS. Temp: [fc] = 34.56; - temperatuuriandur plaadil

Kuidas väljund välja näeb:

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 
)

Mida teha, kui mobiilside "kukkub"? Sel juhul on meil teine ​​kaart; modemisse sisestatakse kaks SIM-kaarti (üks pesa korraga):

Server pilvedes: valmistume käivitamiseks
See võib automaatselt lülituda varukanalile, kui peamine ei reageeri järsku.

Mis juhtub, kui mõlemad mobiilsidevõrgud muutuvad kättesaamatuks?

Server pilvedes: valmistume käivitamiseks(Poiss pärit number "Yeralash" nr 45 Pole asjata, et ta loeb "Tõenäosusteooriat").

Sel juhul on meil sõltumatu GPS-jälgija, mis saadab signaali oma asukoha kohta. Pange tähele, et see ei tee seda mitte mobiilsidevõrgu kaudu, mille kättesaadavust pikkade vahemaade tagant keegi ei garanteeri, vaid satelliidi kaudu.

Server pilvedes: valmistume käivitamiseks
Jah, GPS-jälgija on mõnevõrra suurem kui James Bondi naha alla implanteeritud. Kuna meie võistlus sõltub lendava serveri koordinaatidest, siis see osa tahvlilt saadud andmetest saab olema kõige olulisem. Sellest aga räägime järgmises postituses. Varsti tulemas, jälgi meie blogi!

Usume kogu ettevõtmise edusse nii palju, et kuulutasime välja isegi konkursi neile, kes äkki tahavad ära arvata, kuhu pall maandub. Üksikasjad meie lehel uus postitus.

Allikas: www.habr.com

Lisa kommentaar