В
- Сервер будзе на базе Raspberry Pi 3
Было б цікава падняць у паветра аднаюнітавага сервера, аднак яго вага + вага UPS ... Для ўсяго гэтага патрэбна была б немалая пад'ёмная сіла. Ды і навошта, калі на базе кампактнай Raspberry Pi 3 можна разгарнуць суцэль прыстойны сервер, вылічальнай магутнасцю ў некалькі сот разоў большай, чым тая машына, на якой забаўляўся ў 1991-м году Цім Бернерс-Лі.
- Сервер запусцім на паветраным шары
У нас былі ідэі падняць сервер на геліевым зондзе, але тады сервер пінгаваўся б нядоўга, перш чым шар лопне на вялікай вышыні ў разрэджанай атмасферы і ўся канструкцыя ўпадзе на зямлю. Хацелася пашырыць «акно» эфірнага часу да паўтары гадзіны. І тады вырашылі выкарыстоўваць паветраны шар. Працягласць палёту - дзве гадзіны. Акрамя таго, палёт хоць і не зусім кіраваны, аднак у кошыку можа быць наш інжынер, які зможа ў выпадку няспраўнасці аператыўна, прама на месцы "уключыць і выключыць".
- У якасці транспартнай сеткі скарыстаемся сотавай сувяззю
Сучасныя WiFi-антэны могуць «прабіць» даволі вялікія адлегласці, аднак для гэтага прыйшлося б будаваць комплекс сувязі, мала чым які саступае па сваіх параметрах ваеннай радыёлакацыйнай станцыі. І дзеля 1,5-2 гадзін сувязі будаваць такую сістэму не мае сэнсу, бо на вышыні палёту паветранага шара сотавая сувязь павінна працаваць устойліва.
Пасля фармулявання гэтых "пастулатаў", праект перастаў здавацца няздзейсным, і неўзабаве мы прыняліся працаваць адразу па ўсіх трох кірунках.
У першую чаргу звярнуліся па дапамогу да хлопцаў з
Затым дасталі Raspberry Pi 3, якая валяецца ў тумбачцы нашага адміна, і пачалі яе наладжваць.
Падлучылі камеру:
І пратэставалі яе на нашым «Сямёне»:
Сямён вельмі зручны ў якасці мадэлі і памагатага - не просіць ежы, не адцягваецца на тэлефон, заўсёды ў выдатным настроі і з шырокай усмешкай ва ўвесь шлем. Вядома, такі скафандр нам для палёту не спатрэбіцца, але атмасферу ў офісе стварае правільную.
Схема праекту вымалёўваецца наступная:
Powerbank выкарыстоўваецца для наземнага тэсціравання, для запуску трэба нешта надзейней.
Самая, мабыць, цікавая жалязяка - гэта плата для атрымання дадзеных з усіх датчыкаў:
Хлопцы з
Запусцілі, наладзілі, і праз нейкія пару тыдняў праграмавання і прысяданняў з бубнамі атрымалася атрымаць дадзеныя тэлеметрыі і фота Сямёна з шырокавугольнай камеры:
Дадзеныя тэлеметрыі перадаюцца адным радком у такім выглядзе:
Затым гэты код пераўтворыць радок у масіў і выводзіць дадзеныя на сайт:
$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:2432; - нумар пакета дадзеных, заўсёды павялічваецца
- T:40m39s; - Час з моманту ўключэнне палётнага кантролера
- MP.Stage:0; - Стадыя палёту (0 - на зямлі або ніжэй 1км, 1 - уздым, 2 - завісанне на вышыні, 3 - спуск)
- MP.Alt:54; - бараметрычная вышыня ў метрах ад узроўня мора - яе варта выводзіць
- MP.VSpeed:0.0; - вертыкальная хуткасць у метрах у секунду з медыянным фільтрам
- MP.AvgVSpeed:0.0; - вертыкальная хуткасць у метрах у секунду з ўсярэдненым фільтрам
- Baro.Press:1006.49; - ціск па барометры ў мілібарах
- Baro.Alt:54; вышыня па барометры
- Baro.Temp:36.99; - тэмпература самога барометра
- GPS.Coord:N56d43m23s,E37d55m68s; - бягучыя каардынаты
- GPS.Home:N56d43m23s,E37d55m68s; - Каардынаты пункту старту
- GPS.Alt:165; - вышыня па GPS у метрах
- GPS.Dst:10; - аддаленасць ад кропкі старту ў метрах
- DS.Temp:[fc]=34.56; - тэмпературны датчык на плаце
Як выглядаюць дадзеныя:
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
)
А што рабіць, калі сотавая сувязь "упадзе"? На гэты выпадак у нас ёсць другая картка, у мадэм устаўляюцца дзве сімкі (у адзін слот па чарзе):
Ён умее аўтаматам перамыкацца на запасны канал, калі асноўны раптам перастае адгукацца.
А што будзе, калі абедзве сотавых сеткі стануць недаступныя?
(Хлопчык з
На гэты выпадак у нас будзе незалежны GPS-трэкер, які пасылае сігнал аб сваім месцазнаходжанні. Звярніце ўвагу, што робіць ён гэта не праз сотавую сетку, даступнасць якой на вялікай адлегласці нікім не гарантавана, а праз спадарожнік.
Так, GPS-трэкер некалькі больш чым той, які ўжыўлялі пад скуру Джэймсу Бонду. Паколькі наш конкурс залежыць ад каардынат які ляціць сервера, гэтая частка атрымоўваных з борта дадзеных будзе самай важнай. Але пра гэта мы раскажам ужо ў наступным пасце. Зусім хутка, сачыце за нашым блогам!
Мы верым у поспех усяго прадпрыемства настолькі, што нават аб'явілі конкурс для тых, хто раптам захоча адгадаць месца прызямлення шара. Падрабязнасці ў нашым
Крыніца: habr.com