В
- Serveren vil være basert på Raspberry Pi 3
Det ville vært interessant å løfte en server med én enhet opp i luften, men vekten + vekten av UPS-en... Alt dette ville kreve betydelig løftekraft. Og hvorfor, hvis du på grunnlag av en kompakt Raspberry Pi 3 kan distribuere en ganske anstendig server, med en datakraft flere hundre ganger større enn maskinen som Tim Berners-Lee hadde det gøy på i 1991.
- La oss lansere serveren i en luftballong
Vi hadde ideer om å løfte serveren på en heliumsonde, men så ville ikke serveren pinge lenge før ballongen sprakk i stor høyde i en foreldet atmosfære og hele strukturen ville falle til bakken. Jeg ønsket å utvide "lufttidsvinduet" til en og en halv time. Og så bestemte de seg for å bruke en ballong. Flyets varighet er to timer. I tillegg, selv om flyvningen ikke er helt kontrollerbar, kan det være vår ingeniør i kurven som, i tilfelle en funksjonsfeil, raskt, rett på stedet, kan "slå den av og på."
- Vi vil bruke mobilkommunikasjon som et transportnettverk
Moderne WiFi-antenner kan "gjennombore" ganske lange avstander, men for dette vil det være nødvendig å bygge et kommunikasjonskompleks som ikke er mye dårligere enn en militær radarstasjon i sine parametere. Og av hensyn til 1,5-2 timers kommunikasjon gir det ingen mening å bygge et slikt system, fordi i ballongens høyde må mobilkommunikasjon fungere stabilt.
Etter å ha formulert disse «postulatene» virket prosjektet ikke lenger upraktisk, og snart begynte vi å jobbe i alle tre retninger samtidig.
Først og fremst henvendte vi oss til gutta fra
Så tok vi ut Raspberry Pi 3, som lå på nattbordet til adminen vår, og begynte å sette den opp.
Koblet til kameraet:
Og vi testet det på vår "Semyon":
Semyon er veldig praktisk som modell og assistent - han ber ikke om mat, blir ikke distrahert av telefonen, er alltid i godt humør og med et bredt smil fra hele hjelmen. Selvfølgelig trenger vi ikke en slik romdrakt til flyturen, men den skaper den rette atmosfæren på kontoret.
Prosjektoversikten er som følger:
Powerbank brukes til bakketesting; noe mer pålitelig er nødvendig for lansering.
Den kanskje mest interessante maskinvaren er et brett for å motta data fra alle sensorer:
Gutter fra
Vi lanserte den, konfigurerte den, og etter et par uker med programmering og knebøy med tamburiner, klarte vi å få tak i telemetridata og et bilde av Semyon fra et vidvinkelkamera:
Telemetridata overføres på én linje i følgende form:
Denne koden konverterer deretter strengen til en matrise og sender ut dataene til nettstedet:
$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);
Beskrivelse av noen data:
- N:2432; — datapakkenummer, stadig økende
- T:40m39s; — tid fra det øyeblikket flykontrolleren slås på
- MP.Stage:0; — flygetappe (0 — på bakken eller under 1 km, 1 — stigning, 2 — sveve i høyden, 3 — nedstigning)
- MP.Alt:54; — barometrisk høyde i meter fra havnivå — den skal vises
- MP.VSpeed:0.0; — vertikal hastighet i meter per sekund med medianfilter
- MP.AvgVSpeed:0.0; — vertikal hastighet i meter per sekund med snittfilter
- Baro.Press:1006.49; — barometertrykk i millibar
- Baro.Alt:54; - høyde i henhold til barometer
- Baro.Temp:36.99; - temperatur på selve barometeret
- GPS.Koord:N56d43m23s,E37d55m68s; — gjeldende koordinater
- GPS.Hjem:N56d43m23s,E37d55m68s; — koordinater til utgangspunktet
- GPS.Alt:165; — GPS-høyde i meter
- GPS.Dst:10; — avstand fra startpunktet i meter
- DS.Temp:[fc]=34.56; - temperaturføler på brettet
Slik ser utgangen ut:
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
)
Hva skal jeg gjøre hvis mobilkommunikasjonen "faller"? For dette tilfellet har vi et andre kort; to SIM-kort settes inn i modemet (ett spor om gangen):
Den kan automatisk bytte til en reservekanal hvis hovedkanalen plutselig slutter å svare.
Hva skjer hvis begge mobilnettverkene blir utilgjengelige?
(Gutt fra
I dette tilfellet vil vi ha en uavhengig GPS-tracker som sender et signal om plasseringen. Vær oppmerksom på at det ikke gjør dette via et mobilnettverk, som ikke er garantert av noen tilgjengelig over lange avstander, men via en satellitt.
Ja, GPS-trackeren er noe større enn den som ble implantert under huden til James Bond. Siden vår konkurranse avhenger av koordinatene til den flyvende serveren, vil denne delen av dataene som mottas fra styret være den viktigste. Men vi skal snakke om dette i neste innlegg. Kommer snart, følg bloggen vår!
Vi tror på suksessen til hele bedriften så mye at vi til og med utlyste en konkurranse for de som plutselig vil gjette hvor ballen vil lande. Detaljer i vår
Kilde: www.habr.com