lyusupov / SoftRF

:airplane: Multi-functional, compatible DIY general aviation proximity awareness system
GNU General Public License v3.0
784 stars 216 forks source link

Сross-platform smartphone/tablet app #101

Closed dmitrydudkin closed 3 years ago

dmitrydudkin commented 3 years ago

Hardware

Здравствуйте, @lyusupov!

Давно слежу за проектом и даже иногда тестирую в небе Кисловодска) Увидел в CONTRIBUTING.md то что смогу реализовать, а именно:

create and maintain cross-platform (Flutter) smartphone/tablet app to monitor status and change settings of the following SoftRF Editions

Правда специализируюсь не на Flutter, а на React Native. Сделал простой прототип приложения, как альтернативу текущему web-интерфейсу. Выглядит примерно так:

ezgif-7-2e1c47f65158

ezgif-7-5b9ae17ffed5

В саму прошивку пока сильно не лез, но есть задумка сразу сделать так чтобы можно было интерфейс приложения сделать динамичным, без необходимости обновления самого приложения. На устройстве достаточно будет сгенерировать json со всеми возможными настройками + текущее состояние и повесить хендлер на url типа /settings/json, а приложение уже отрисует нужный интерфейс. Думаю идея понятна.

Насколько критично использование Flutter и есть ли смысл продолжать?

lyusupov commented 3 years ago

Выглядит вполне прилично.

Flutter не принципиален. Обновил CONTRIBUTING.

UI для моделей с Wi-Fi не предмет для инвестиций времени на это в ближайшем будущем. Утверждение об отдельном приложении сфокусировано на моделях, в которых нет встроенного Wi-Fi.

dmitrydudkin commented 3 years ago

Да, невнимательно прочитал CONTRIBUTING... А как предполагается связь с подобными устройствами? Bluetooth/USB OTG?

lyusupov commented 3 years ago

Физический/канальный уровень

Андроид:

iOS:

Примеры использования: 1 , 2 , 3 , 4 , 5 , 6

Сообщения

NMEA

Примеры использования: 1 , 2 , 3

lyusupov commented 3 years ago

Ticket is closed due to no further activity of the enhancement submitter.

Resolution: deferred

dmitrydudkin commented 3 years ago

@lyusupov Процесс разработки оказался дольше из-за сложностей с BLE при работе с React Native.

Вот первая тестовая сборка для Android. (на iOS также работает, но сборку не делал) Тестировал на двух устройствах Prime Mark II (других нет) через BLE и USB. Для тестирования работы BLE включал обработку в коде прошивки.

Минимальная версия Android - 4.4, тестировал на Android 5.0.2 и Android 10.

lyusupov commented 3 years ago

Хорошо!

Тестировал на двух устройствах Prime Mark II (других нет) через BLE и USB. Для тестирования работы BLE включал обработку в коде прошивки.

Всё правильно. Prime2 тоже можно управлять по проводам и BT, но по умолчанию неактивно из-за ненадобности ( через Wi-Fi удобнее ). Для того, чтобы функцию активировать, достаточно раскомментировать это

Есть Андроид 5.0 Сегодня опробую.

dmitrydudkin commented 3 years ago

Внешний вид: Screenshot_20201207-135343 Screenshot_20201207-135600 Screenshot_20201207-135606 Screenshot_20201207-135514

Для того, чтобы функцию активировать, достаточно раскомментировать это

Да, я включал USE_NMEA_CFG. Но без правки в блоке условий не заработало. Чтение данных с BLE идет только if !defined(USE_NMEA_CFG) (баг?)

lyusupov commented 3 years ago

Да, я включал USE_NMEA_CFG. Но без правки в блоке условий не заработало. Чтение данных с BLE идет только if !defined(USE_NMEA_CFG) (баг?)

Хм. Возможно. При случае проверю. Спасибо!

lyusupov commented 3 years ago

Скиньте пустое письмо на мой адрес, указанный в firmware на странице About. Я отвечу на него с первыми результатами опробирования приложения.

lyusupov commented 3 years ago

Ticket is closed due to no further activity of the enhancement submitter.

Resolution: deferred