Проект летного прибора для парапланерного спорта. Основная идея — поддержка трекинга по радио каналу и передача данных об окружающей воздушной обстановке на смартфон в летный компьютер с картами. Начинка позволяет использовать его как основной летный прибор:
- GNSS приемник (GPS+GLONASS)
- барометрический датчик
- приемопередатчик на частоте 868 МГц с пиковой мощностью 22 дБ
- Bluetooth LE 5.0 модуль
- звуковой пьезоизлучаетель
- малогабаритный oled экран
- 3 кнопки
- RGB светодиод
- nor-flash память 16Mb
- lipo аккумулятор 1000 мАч
Основные возможности:
- Используя встроенный GPS и радиопередатчик транслирует свои координаты по радио каналу 868.2 МГц по протоколу FANET.
- Используя встроенный радио-приемник отслеживает радио-пакеты FANET и при необходимости ретранслирует увеличивая покрытие FANET-сети.
- Отображает на OLED дисплее текущую высоту, горизонтальную и вертикальную скорость по данным встроенного GPS и барометрического датчика.
- Чувствительный звуковой вариометр с тремя уровнями громкости, такой же как в резервном FlyBeeper mini
- Сохраненяет трек на внутреннюю флеш-память до 68 часов с шагом 1 сек.
- Подключение к смартфону/планшету по блютус LE 5.0.
- Настраиваемая передача данных GPS, барометра и FANET по блютус в форматах NMEA: GNRMC, GNGGA, POV, PRS, FBFAN, PFLAA.
- При подключении к android-приложению FlyBeeper Maps работает как базовая станция FANET обеспечивая лайвтрекинг на сайте flybeeper.com.
Особенности:
- Есть возможность изменить транслируемое имя пилота, выбрать набор передаваемых данных, тип передвижения (параплан, планер, пешеход, велосипед и т.д.), мощность передатчика и др. параметры через web-приложение или android-приложение FlyBeeper.
Параметры:
- внешние размеры включая встроенную антенну 106х33х19 мм;
- размер эрана 23х13 мм;
- вес 50 гр;
- встроенный аккумулятор 1000 мАч;
- время непрерывной работы от аккумулятора до 16 часов на тестах при комнатной температуре и не менее 11 часов при температуре +10ºС;
- зарядка от micro-USB кабеля.
История создания
01.08.2020 Начало проекта с выбора основной платформы ASR6502 — Lora приемопередатчик и Cortex ARM0 + flash в одном чипе, что позволяет сделать современный прибор с батарейным питанием.
27.08.2020 Первая рабочая версия прибора
06.07.2021 Начало создания android-приложения FlyBeeper Maps — внешний экран с картами для отображения FANET трафика с моего прибора, а также других нужных в полете слоев. Это первое летное приложение с 3Д картами местности.
23.09.2021 Сделал windows-приложение для конфигурации и обновления прошивки.
18.11.2021 Окончание активной фазы разработки android-приложения FlyBeeper Maps.
06.01.2022 Решена основная проблема — стабильность работы последовательных портов передачи данных. Причина — опустошение очень маленького буфера МК. Также найдена и купирована проблема передачи данных через дешевый BLE модуль cc2541, пришлось ограничить скорость передачи путем введения программной задержки после отправления каждых 20 байтов. Более новые чипы nrf52 имеют больший буфер, но в несколько раз дороже.
05.04.2022 Закончил с библиотекой флеш-памяти. Умею читать/писать/стирать байты
14.04.2022 Заказан новый дизайн печатки. Флешка, бародатчик, пьезик с усилителем, BLE и 2 кнопки.
16.04.2022 Первый полноценный трек длиною в целый день — записал поездку на море. Высота всё еще прыгает при проезде туннелей.
18.04.2022 Начал одностраничное web-приложение на основе Serial API. Около 600 строк javascript позволяют через браузер полностью настраивать и управлять прибором, подключенным к компьютеру по USB. Основное назначение — настройка и скачивание треков с прибора, а также база для последующей миграции кода на карты. Также была попытка использовать BLE API чтобы отказаться от проводов, но пока есть проблемы то ли с железом, то ли с асинхронностью кода.
20.04.2022 Настройки прибора вернул обратно к json формату. Это увеличило заполнение флешки до 91%, зато облегчило поддержку в приложениях.
21.04.2022 Новый дизайн корпуса с дополнительной активной gps антеной и дополнительными кнопками на торце. Исправлено отображение уровня заряда аккумулятора.
22.04.2022 Изменил процедуру вкл/выкл прибора. Теперь она как в DJI — короткое, затем длинное нажатие, сопровождающееся миганием GRB. Кстати, двойной клик теперь включает фонарик.
23.04.2022 Реализовал тревожную кнопку — назначил на лицевую. Кнопка питания теперь боковая левая, кнопка меню боковая правая. Нажатие каждой кнопки зажигает свой цвет светодиода. Двойной клик по SOS кнопке включает свето-звуковой режим тревоги на максимальной громкости и яркости, а также транслирует в FANET эфир код Distress call.
24.04.2022 Т.к. появились еще две кнопки — сделал меню. Вывел основные настройки: смена активности, громкости и вывода NMEA.
30.04.2022 Сделал DLL под IGCshell — программу, оффициально признанную FAI для скачивания и валидации треков. Теперь можно пробовать договориться с FAI о внесени прибора в оффициальный перечень устройств и о добавлении моей DLL на сайт валидации треков. Веду переписку с автором GPSDump о поддержке моих приборов через эту DLL. В этом случае можно будет делать валидные треки ещё до оффициальной процедуры FAI.
01.05.2022 Сделал консольное приложение vali-xfb для онлайн валидации моих треков.
03.05.2022 Кнопка SOS обрела свои очертания и скоро поменяет цвет на красный. Кнопка Reset теперь недоступна для пальцев — сбросить можно только скрепкой через отверстие. Поправил баги. В режиме Меню в фоне теперь работает GPS, FANET, BLE, пишутся логи. Вход в режим меню теперь по двойному клику. Всё из-за того, что как-то в кармане случано нажалась кнопка и он прекратил запись трека. Сейчас случайный вход в меню маловероятен и даже в этом случае всё будет работать. Вход в режим фонарика теперь через fade-in, т.к. двойной короткий клик мало отличется от короткого и затем долгого по которому происходит вкл/выкл прибора, то часто вместо вкл/выкл прибора включаешь фонарик, а т.к. он достаточно мощный, то бъет прямо в глаз, что малоприятно. Благодаря плавному наростанию яркости не слепнешь и в дополнение получил регулировку яркости фонарика, т.к. нажатие кнопки в процессе набора яркости фиксирует текущую яркость.
09.05.2022 Приехали первые 30 платок. Встали на место отлично. Логистика теперь длинная. Ждем остальные детали, а пока сделаю сколько смогу из остатков. Также идет доработка прошивки. Сделал частичный вынужденный рефакторинг — код уже еле помещается в железе. Освоил BLE web api, так что теперь есть возможность управлять прибором не только через USB шнур, но и по блютус с любого смартфона без установки приложения просто зайдя на сайт, а также будет возможность подключить прибор к web-карте с отображением поступающего FANET-трафика.
11.05.2022 FlyBeeper device теперь можно установить как приложение. В меню chrome на android нажать «Добавить на главный экран» появится иконка на рабочем столе. Будет работать даже без интернета. Жмем кнопук «BLE connect» (должен быть включен блютус и GPS), выбираем из списка обнаруженных устройств наше. Далее основные функции: Info — посмотреть текущую информацию по датчикам давления, GPS, батарея; Settings — изменение всех настроек прибора; Tracks — посмотреть список сохраненных треков и скачать любой из них, стереть всё; Log — терминальный вывод всех сообщений прибора. Есть ньюанс. По блютус довольно низкая скорость, поэтому треки гораздо быстрее скачать через подключение по USB. Кнопка «Set speed for UART» как раз и устанавливает высокую скорость, при отключении скорость устанавливается обратно по умолчанию. Главное не забыть нажать disconnect.
17.05.2022 Первый трек с валидной G-record, которую принимают все сайты. Все блягодаря GpsDump. Спасибо Stein, который добавил поддержку моего прибора в версию 5.42.
26.05.2022 Сайт flybeeper.com/map/ обзавелся новыми кнопками. Теперь не обязательно устанавливать приложение Android чтобы подключить прибор и посмотреть Fanet трафик вокруг. Достаточно зайти на сайт, нажать одну из кнопок подключения и выбрать свой прибор. Доступно подключение по блютус (для смарфонов) и по USB кабелю (для компьютеров). После подключения прибора вся информация о fanet-трафике с него отправляется на сайт и отображается на карте, также вверху появляется текущая высота от барометрического датчика. В отличие от android-приложения тут требуется интернет-подключение. Если разрешить браузеру доступ к вашему местоположению можно спозиционировать себя на карте. При этом, данные о вашем местоположении на сайт не передаются. Также теперь используются куки для сохранения позиции карты.
30.05.2022 Давно хотел добавить слой термиков. Данные fanet давно сохранял, а вот отображение только сейчас добавил. Будет интересно покопаться в БД и вытащить оттуда все термики за сезон. Сейчас отображаются только за последние 2 часа.
Заключение
В середине 2023 года проект F1 перешел в стадию заморозки. Наработанные приложения и технологии будут использоваться в следующих проектах. Это был отличный проект и я в целом доволен результатом. Он позволил разобраться во многих технологиях, выявить их сильные и слабые стороны. Новые приборы будут во многом опираться на этот опыт.
Последнее обновление 05.10.2024 в 14:01