В
- Serveris bus pagrįstas Raspberry Pi 3
Įdomu būtų pakelti į orą vieno bloko serverį, bet jo svoris + UPS svoris... Visa tai pareikalautų nemažos keliamosios jėgos. Ir kodėl, jei naudodamiesi kompaktišku Raspberry Pi 3 galite dislokuoti gana neblogą serverį, kurio skaičiavimo galia kelis šimtus kartų didesnė nei mašinos, ant kurios 1991 m. linksminosi Timas Bernersas-Lee.
- Paleiskime serverį oro balionu
Turėjome minčių pakelti serverį ant helio zondo, bet tada serveris ilgai nepingavo, kol balionas sprogs dideliame aukštyje retoje atmosferoje ir visa konstrukcija nukris ant žemės. Norėjau praplėsti eterio „langą“ iki pusantros valandos. Ir tada jie nusprendė panaudoti balioną. Skrydžio trukmė – dvi valandos. Be to, nors skrydis nėra visiškai valdomas, krepšelyje gali būti mūsų inžinierius, kuris gedimo atveju gali greitai, vietoje „įjungti ir išjungti“.
- Kaip transporto tinklą naudosime korinį ryšį
Šiuolaikinės WiFi antenos gali „pramušti“ gana didelius atstumus, tačiau tam reikėtų pastatyti ryšių kompleksą, savo parametrais ne ką prastesnį už karinę radiolokacinę stotį. O dėl 1,5-2 valandų ryšio tokios sistemos statyti nėra prasmės, nes oro baliono aukštyje korinis ryšys turi veikti stabiliai.
Suformulavus šiuos „postulatus“, projektas nebeatrodė neįgyvendinamas ir netrukus pradėjome dirbti visomis trimis kryptimis vienu metu.
Pirmiausia kreipėmės į vaikinus iš
Tada išėmėme Raspberry Pi 3, kuris gulėjo ant mūsų administratoriaus naktinio staliuko, ir pradėjome jį statyti.
Prijungta kamera:
Ir mes tai išbandėme savo „Semyon“:
Semjonas labai patogus kaip modelis ir asistentas – jis neprašo maisto, nesiblaško prie telefono, visada puikios nuotaikos ir su plačia šypsena iš viso šalmo. Žinoma, tokio skafandro skrydžiui mums nereikia, bet biure jis sukuria tinkamą atmosferą.
Projekto schema yra tokia:
„Powerbank“ naudojamas bandymams ant žemės; norint paleisti reikia kažko patikimesnio.
Galbūt įdomiausia techninė įranga yra plokštė, skirta duomenims iš visų jutiklių gauti:
Vaikinai iš
Paleidome, sukonfigūravome ir po poros savaičių programavimo ir pritūpimų su tamburinais pavyko gauti telemetrijos duomenis ir Semjono nuotrauką iš plačiakampio fotoaparato:
Telemetrijos duomenys perduodami viena eilute tokia forma:
Tada šis kodas konvertuoja eilutę į masyvą ir išveda duomenis į svetainę:
$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);
Kai kurių duomenų aprašymas:
- N: 2432; — duomenų paketų skaičius, nuolat didėjantis
- T: 40m39s; — laikas nuo skrydžio vadovo įjungimo momento
- MP.Stage:0; — skrydžio etapas (0 — ant žemės arba žemiau 1 km, 1 — kilimas, 2 — sklandymas aukštyje, 3 — nusileidimas)
- MP.Alt:54; — barometrinis aukštis metrais nuo jūros lygio — jis turėtų būti rodomas
- MP.VSgreitis: 0.0; — vertikalus greitis metrais per sekundę su medianiniu filtru
- MP.AvgVSpeed:0.0; — vertikalus greitis metrais per sekundę su vidurkinimo filtru
- Baro.Spauda:1006.49; — barometro slėgis milibarais
- Baro.Alt:54; - aukštis virš jūros lygio pagal barometrą
- Baro.Temp:36.99; - paties barometro temperatūra
- GPS.Coord:N56d43m23s,E37d55m68s; — dabartinės koordinatės
- GPS.Pagrindinis:N56d43m23s,E37d55m68s; — pradžios taško koordinatės
- GPS.Alt:165; — GPS aukštis metrais
- GPS.Dst:10; — atstumas nuo pradžios taško metrais
- DS.Temp:[fc]=34.56; - temperatūros jutiklis ant plokštės
Kaip atrodo išvestis:
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
)
Ką daryti, jei „nutrūksta“ korinis ryšys? Šiuo atveju turime antrą kortelę, į modemą įdėtos dvi SIM kortelės (po vieną lizdą):
Jis gali automatiškai persijungti į atsarginį kanalą, jei pagrindinis staiga nustoja reaguoti.
Kas atsitiks, jei abu korinio ryšio tinklai taps nepasiekiami?
(Berniukas iš
Tokiu atveju turėsime nepriklausomą GPS sekiklį, kuris siunčia signalą apie savo buvimo vietą. Atkreipkite dėmesį, kad tai daroma ne per korinį tinklą, kurio prieinamumo dideliais atstumais niekas negarantuoja, o per palydovą.
Taip, GPS sekiklis yra šiek tiek didesnis nei tas, kuris buvo implantuotas po Džeimso Bondo oda. Kadangi mūsų konkurencija priklauso nuo skraidančio serverio koordinačių, ši iš lentos gaunamų duomenų dalis bus pati svarbiausia. Bet apie tai kalbėsime kitame įraše. Netrukus, sekite mūsų tinklaraštį!
Mes taip tikime visos įmonės sėkme, kad net paskelbėme konkursą tiems, kurie staiga nori atspėti, kur nukris kamuolys. Išsami informacija mūsų
Šaltinis: www.habr.com