Uues Mainisime, et augustis ootab kĂ”iki Habr'si kasutajaid auhinnakonkurss. On aeg tĂ”sta saladuseloor. Meil tuli mĂ”te, et fraasi "server pilves" saab mĂ”ista ka sĂ”na-sĂ”nalt. Miks mitte tĂ”epoolest saata toimiv server taevasse, mida saab pingi testida! Alguses paistis idee hulluna, kuid pĂ€rast kĂ”ike arutamist leidsime siiski viisi, kuidas server lindudega kohtuma saata. Suure joone avamine toimub augusti lĂ”pus, kuid praegu töötame projekti tehnilise osa kallal. Ăksikasjad allpool.
- Server pÔhineb Raspberry Pi 3-l
Oleks huvitav tĂ”sta Ă”hku ĂŒheinimeseserver, kuid selle kaal + UPS-i kaal... Kogu selle jaoks oleks vajalik ĂŒsna suur tĂ”stejĂ”ud. Ja miks, kui kompaktse Raspberry Pi 3 baasil saab ĂŒles seada tĂ€iesti korraliku serveri, mille arvutusvĂ”imsus on mitmesaja korra suurem kui see masin, millega Tim Berners-Lee 1991. aastal lĂ”butses.
- Server kÀivitame Ôhupallil
KĂ€isid mĂ”tted tĂ”sta server helegoobi abil, kuid siis pingi test oleks kestnud mitte kaua, enne kui pall suurel kĂ”rgusel harvas Ă”hus puruneks ja kogu konstruktsioon maapinnale kukuks. Soovisime laiendada eetriaega kuni poolteist tundi. Niisiis otsustasime kasutada Ă”hupalli. Lennu kestus on kaks tundi. Lisaks on lend, kuigi mitte tĂ€ielikult juhitav, siiski korvis meie insener, kes saab hĂ€ire korral otse kohapeal "sisse ja vĂ€lja lĂŒlitada".
- TranspordivÔrguna kasutame mobiilsidevÔrku
Kaasaegsed WiFi antennid suudavad "lĂ€bi murda" ĂŒsna suuri vahemaid, kuid selleks oleks vaja ehitada sidekompleksi, mis ei jÀÀks tehniliste parameetrite poolest palju alla sĂ”javĂ€e radarijaamale. Ja 1,5â2 tunni side nimel ei ole mĂ”tet sellist sĂŒsteemi ehitada, kuna Ă”hupalli lennukĂ”rgusel peab mobiilside olema stabiilne.
PÀrast nende "postulaatide" mÀÀratlemist ei tundunud projekt enam teostamatu ning peagi asusime tööle kohe kÔigis kolmes suunas.
Esiteks pöördusime abi saamiseks poiste poole , kes on kogenud erinevate seadmete Ôhku saatmises (jÀrgnevate leidmise ja pÀÀstmisega).
Siis vÔtsime vÀlja Raspberry Pi 3, mis vedeleb meie administraatori kapis, ja hakkasime seda seadistama.

Ăhendasime kaamera:

Ja testisime seda meie "Semenil":

Semen on vĂ€ga mugav mudel ja abiline â ei palu sĂŒĂŒa, ei sega telefoni, on alati heas tujus ja naeratab laialt. Loomulikult ei ole selline eksoskelett meie lennuks vajalik, kuid see loob kontoris Ă”ige atmosfÀÀri.
Projekti plaan nÀeb vÀlja jÀrgmine:

Powerbanki kasutatakse maapealseks testimiseks, kÀivitamiseks on vaja midagi usaldusvÀÀrsemat.
VÔib-olla kÔige huvitavam seadeldis on plaat, mis kogub andmeid kÔikidest anduritest:

Poisid vaevasid end erinevate analoogidega kaua aega, kuni nad ise lĂ”id pardaarvuti, sest usaldusvÀÀrsus on kriitilise tĂ€htsusega, telemeetriaandmete pĂ”hjal sĂ”ltub kogu projekti saatus. Pardaarvuti vastutab kĂ”ikide ĂŒhendatud anduritelt saadud andmete vastuvĂ”tmise ja edastamise eest Raspberry Pi-le.
KÀivitati, seadistati ja mÔne nÀdala programmeerimise ja trummide taha kÀimise jÀrel Ônnestus saada telemeetriaandmed ja fotod Semenist laia nurga kaameraga:

Telemeetriaandmed edastatakse ĂŒhes reas sellises vormis:

See kood muundab rea massiiviks ja kuvab andmed veebilehel:
$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, suureneb alati
- T:40m39s; â aeg alates lennukontrolleri sisse lĂŒlitamist
- MP.Stage:0; â lennufaasis (0 â maapinnal vĂ”i madalamal kui 1 km, 1 â tĂ”us, 2 â kĂ”rgusel pĂŒsimine, 3 â laskumine)
- MP.Alt:54; â baromeetriline kĂ”rgus meetrites merepinnast â see tuleks kuvada
- MP.VSpeed:0.0; â vertikaalne kiirus meetrites sekundis mediaanfiltriga
- MP.AvgVSpeed:0.0; â vertikaalne kiirus meetrites sekundis keskmistavate filtritega
- Baro.Press:1006.49; â rĂ”hk baromeetris millibaarides
- Baro.Alt:54; â kĂ”rgus baromeetriga
- Baro.Temp:36.99; â baromeetri temperatuur
- GPS.Coord:N56d43m23s,E37d55m68s; â praegused koordinaadid
- GPS.Home:N56d43m23s,E37d55m68s; â stardikoha koordinaadid
- GPS.Alt:165; â kĂ”rgus GPS-i jĂ€rgi meetrites
- GPS.Dst:10; â kaugus stardikohast meetrites
- DS.Temp:[fc]=34.56; â temperatuuri andur plaadil
Kuidas nÀevad vÀlja vÀljundandmed:
Array
(
[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
)
Aga mis juhtub, kui mobiiltelefonide side "kukub"? Selleks on meil teine kaart, modemisse saab paigaldada kaks SIM-kaarti (ĂŒks slot jĂ€rjestikku):

See suudab automaatselt lĂŒlituda varu kanalile, kui peamine Ă€kki enam ei reageeri.
Aga mis juhtub, kui mÔlemad mobiilsidevÔrgud muutuvad kÀttesaamatuks?
(Poiss filmist ei luba asjata lugeda "TÔenÀosusteooriat")
Sel juhul on meil sÔltumatu GPS-jÀlgija, mis saadab signaali oma asukoha kohta. Pange tÀhele, et ta ei tee seda lÀbi mobiilside, mille kÀttesaadavust pikadel vahemaadel ei saa keegi garanteerida, vaid satelliidi kaudu.

Jah, GPS-jÀlgija on veidi suurem kui see, mida James Bondi naha alla implanteeriti. Kuna meie konkurss sÔltub lendava serveri koordinaatidest, on see osa andmetest pardalt kÔige olulisem. Kuid sellest rÀÀgime juba jÀrgmises postituses. Varsti, jÀlgige meie blogi!
Usume kogu ettevĂ”tte edukusse nii palju, et kuulutasime vĂ€lja konkursi neile, kes tahavad Ă€ra arvata Ă”hupalli maandumispaika. Ăksikasjad meie .
Allikas: habr.com
