- PVSM.RU - https://www.pvsm.ru -
В посте про регату [1] мы обмолвились, что в августе всех читателей ждет конкурс с призами. Пришло время сорвать покровы завесу секретности. Как-то нам пришла мысль, что фразу «сервер в облаках» можно понять буквально. А давайте действительно запустим в небо работающий сервер, который можно будет попинговать! Сначала идея выглядела безумной, но покрутив её так и эдак, обсудив на все лады, мы всё же придумали способ отправить сервер навстречу птицам. Уже в конце августа состоится эпохальный запуск, а пока что мы отрабатываем аппаратную часть проекта. Подробности под катом.

Было бы интересно поднять в воздух одноюнитовый сервер, однако его вес + вес UPS… Для всего этого нужна была бы немалая подъемная сила. Да и зачем, если на базе компактной Raspberry Pi 3 можно развернуть вполне приличный сервер, вычислительной мощностью в несколько сот раз бОльшей, чем та машина, на которой развлекался в 1991-м году Тим Бернерс-Ли.
У нас были идеи поднять сервер на гелиевом зонде, но тогда сервер пинговался бы недолго, прежде чем шар лопнет на большой высоте в разреженной атмосфере и вся конструкция упадёт на землю. Хотелось расширить «окно» эфирного времени до полутора часов. И тогда решили использовать воздушный шар. Длительность полета — два часа. Кроме того, полет хоть и не совсем управляемый, однако в корзине может быть наш инженер, который сможет в случае неисправности оперативно, прямо на месте «включить и выключить».
Современные WiFi-антенны могут «пробить» довольно большие расстояния, однако для этого пришлось бы строить комплекс связи, мало чем уступающий по своим параметрам военной радиолокационной станции. И ради 1,5-2 часов связи строить такую систему не имеет смысла, ведь на высоте полёта воздушного шара сотовая связь должна работать устойчиво.
После формулирования этих «постулатов», проект перестал казаться неосуществимым, и вскоре мы принялись работать сразу по всем трем направлениям.
В первую очередь обратились за помощью к ребятам из nearspace.ru [2], съевшим собаку на запусках в воздух всяких железяк (с последующим поиском и спасением).
Затем достали Raspberry Pi 3, валяющуюся в тумбочке нашего админа, и начали ее настраивать.

Подключили камеру:

И протестировали её на нашем «Семёне»:

Семен очень удобен в качестве модели и помощника — не просит еды, не отвлекается на телефон, всегда в отличном настроении и с широкой улыбкой во весь шлем. Конечно, такой скафандр нам для полёта не понадобится, но атмосферу в офисе создает правильную.
Схема проекта вырисовывается следующая:

Powerbank используется для наземного тестирования, для запуска нужно что-то понадёжнее.
Самая, пожалуй, интересная железка — это плата для получения данных со всех датчиков:

Ребята из nearspace.ru [2] долго мучались с разными аналогами, а потом сами сделали бортовой компьютер, потому что надёжность имеет решающее значение, от данных телеметрии зависит судьба всего проекта. Бортовой компьютер отвечает за прием данных со всех подключенных датчиков и передает их на Raspberry Pi.
Запустили, настроили, и через каких-то пару недель программирования и приседаний с бубнами удалось получить данные телеметрии и фото Семена с широкоугольной камеры:

Данные телеметрии передаются одной строкой в таком виде:

Затем этот код преобразует строку в массив и выводит данные на сайт:
$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);
Описание некоторых данных:
Как выглядят выводимые данные:
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
)
А что делать, если сотовая связь «упадет»? На этот случай у нас есть вторая карточка, в модем вставляются две симки (в один слот по очереди):

Он умеет автоматом переключаться на запасной канал, если основной вдруг перестает откликаться.
А что будет, если обе сотовых сети станут недоступны?

(Мальчик из выпуска «Ералаш» №45 [3] не зря читает «Теорию вероятностей»)
На этот случай у нас будет независимый GPS-трекер, посылающий сигнал о своем местоположении. Обратите внимание, что делает он это не через сотовую сеть, доступность которой на большом расстоянии никем на гарантирована, а через спутник.

Да, GPS-трекер несколько больше чем тот, который вживляли под кожу Джеймсу Бонду. Поскольку наш конкурс зависит от координат летящего сервера, эта часть получаемых с борта данных будет самой важной. Но об этом мы расскажем уже в следующем посте. Совсем скоро, следите за нашим блогом!
Автор: ru_vds
Источник [4]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/oblachny-e-servisy/289565
Ссылки в тексте:
[1] посте про регату: https://habr.com/company/ruvds/blog/418141/
[2] nearspace.ru: http://nearspace.ru/
[3] выпуска «Ералаш» №45: https://www.youtube.com/watch?time_continue=1&v=gw8pks_tKKw
[4] Источник: https://habr.com/post/420451/?utm_source=habrahabr&utm_medium=rss&utm_campaign=420451
Нажмите здесь для печати.