Skip to content
YaziAraneaPublic
forked from IoTThinks/MeshCore

About

SmartUI для T096 FEM, T114 и ProMicro RA62 на базе IoTThinks PowerSaving-v17

Topics

Resources

Contributing

Security policy

Stars

2 stars

Watchers

1 watching

Forks

 
 

Latest commit

 

History

3,492 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MeshCore Smart UI — PowerSaving17

Note

Текущий публичный выпуск — Smart UI 0.16. Скачать 0.16 · Изменения и выбор файла · Предыдущий 0.15. Встроенная версия и имена файлов — 0.16; USB-помощник — 2.3.

Что нового

Настройки по возможностям платы. Помощник 2.3 показывает расширенные настройки звука, уведомлений, экрана и GPS. Список допустимых пинов света, звука и вибро получает от ноды; неподдерживаемые функции не включаются наугад. Имя ноды, TX и собственные быстрые фразы можно менять отдельными формами.

Обновление 0.16: скачайте Helper 2.3. Мостовой звук теперь виден сразу во вкладке «Звук и пины». Сводка показывает прочитанные мост, пин и громкость; ошибки чтения и неподдерживаемые функции не выдаются за «выключено». Вкладки, сине-серая тема, выбор хеша и свёрнутые быстрые фразы сохранены. Для этого исправления повторная прошивка обновлённой 0.16 не требуется.

Прослушивание — отдельно от уведомлений. Новая команда проигрывает сохранённую мелодию без изменения настроек, даже при режиме «только LED». Общую тишину не обходит. Для неё нужна обновлённая прошивка 0.16; на T114 ставьте свежий UF2 поверх, без Erase. Сохранены исправление подписи звука и исключение недействительных пинов 0/1 на T114; допустимые пины ProMicro не удалены.

Меньше стека при CLI и ADC. Для T114 обнаружен чрезмерный вложенный расход стека: короткая команда входила в общий обработчик с большим рабочим буфером. CLI отделён от него, адаптеры настроек сокращены; в CI добавлена проверка настоящих ARM-фреймов. Это исправляет найденный программный риск; повторный тест на конкретной зависавшей ноде остаётся важен.

Полноценная консоль своей ноды. В приложении с локальным CLI теперь можно менять громкость, вибро, мелодию, FEM, ADC, LED, GPS и AGC короткими командами: get volume, set volume 7, set vibration on, set fem.lna on. Сохранение общее с меню ноды. help показывает темы, help adc объясняет калибровку, melody N возвращает читаемое название. Полная справка с примерами.

Команды оригинального MeshCore. В файлы 0.16 включены get tx, set tx, имя ноды, PIN, радиопараметры, часовой пояс и другие поддержанные команды из PR #4. TX не перенастраивается во время занятого радио. Перечень и ограничения.

Помощник 2.3. Во вкладке «Консоль и файлы» доступны справка и поддержанные команды чтения/изменения, с понятным результатом. Сохранены два способа ADC: расчёт по мультиметру и прямой ввод известного коэффициента. Для ADC и Wi-Fi используйте отдельные формы; поддержка проверяется у ноды, не угадывается по номеру версии.

Время на калибровку, когда показание слишком низкое. Сервисное окно до двух минут доступно на ProMicro/T096/T114 при достоверном USB-питании. В течение окна программное выключение по ADC приостановлено; после сохранения, отключения USB или истечения времени защита возвращается. Автоматического запуска и постоянного отключения защиты нет. На ESP32 без надёжного USB-детектора окно недоступно, оба обычных способа калибровки сохранены.

Для расчёта по мультиметру на ProMicro нужен свежий замер от аккумулятора до подключения USB; он действителен до двух минут. Прямой ввод проверенного коэффициента этого не требует. Сервисное окно не исправляет аппаратные проблемы и не делает разряженный аккумулятор безопасным. Пошагово.

Heltec V4 R8 OLED сохранена. Отдельная сборка для 8 МБ PSRAM и изменённой распиновки R8. Обычная V4.3 R2 остаётся отдельно; файлы не взаимозаменяемы, TFT R8 не входит в релиз. Подробности.

Городские пресеты и автоанонс из 0.13 сохранены. Каталог MeshCoreTel задаёт частоту, полосу, SF и CR после подтверждения; мощность, ретрансляция и длина хэша пути не меняются. Каталог встроен в HTML и доступен без интернета, дата снимка указана в помощнике.

Автоанонс теперь настраивается с компьютера. Те же варианты, что на ноде: выключен, каждые 15 или 30 минут, 1, 2 или 3 часа. Это одна сохранённая настройка, не отдельное расписание помощника.

Помощник получил обновлённый интерфейс: понятные разделы, выбор города с поиском, крупные элементы управления и явный результат сохранения. Существующие настройки звука, ADC, LED, GPS, FEM, AGC, подключения и Wi-Fi сохранены.

Прежний SmartUI API 0xC9, синхронизация прочтения и события отправлены в архив 0.11. В 0.16 они выключены. Локальные непрочитанные ЛС, звук и напоминания на ноде сохранены; новую синхронизацию с телефоном этот выпуск не обещает.

Локальный Companion CLI — команды 66/29 сохранён и расширен. Общая база остаётся MeshCore 1.17.1, companion-протокол — 14. Это не полное слияние upstream dev и не удалённое выполнение CLI через LoRa. Калибровка ADC сохраняет прежние проверки; ошибка хранилища не обходится новым помощником.

Короткие команды SmartUI определяются по console=1, совместимость с именами MeshCore — по meshcore=1 в ответе ui hello. Уже скачанные файлы 0.14 не получают эти изменения автоматически: обновите прошивку и помощник. Прежние ui … остаются совместимыми.

Интеграция CLI · Developer Kit 0.16 · Архив API.

USB-помощник 2.3

Скачать HTML · ZIP с инструкцией и снимками · Подробная инструкция.

  1. Откройте HTML в Chrome или Edge на компьютере. Закройте программы, занявшие COM-порт. Нужен USB-кабель с передачей данных; V3 и Paper сначала разбудите кнопкой.
  2. На ноде выбран Bluetooth или Wi-Fi: в помощнике выберите «Настройки (консоль)». Соединение всё равно идёт по USB.
  3. На ноде выбран USB-компаньон: в помощнике выберите «Настройки (USB-компаньон)». Дождитесь подтверждения подключения и чтения настроек. Этот режим использует CLI 0.16.
  4. Измените нужное поле и нажмите его кнопку сохранения. Если запись не подтверждена или произошёл обрыв, переподключитесь и прочитайте состояние; не повторяйте запись автоматически.
  5. Перед сменой режима отключите порт в помощнике. Одновременно используется один читатель. Для API 0.11 нужен архивный Helper 1.4.

После подключения откройте «Радио и хеш», найдите свой город, проверьте значения и подтвердите применение. Автоанонс и хеш задаются рядом. Старые настройки поддерживаемых прошивок остаются доступны; для полного набора используйте обновлённую 0.16.

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

USB-помощник 2.3: программная симуляция настроек

Important

Wi-Fi/TCP на ноде использует порт 5000 без отдельного пароля доступа и TLS. Только доверенная локальная сеть, без проброса в Интернет. Смена Wi-Fi-сети разрешена через BLE/USB, не через TCP этой сети. Повреждённое хранилище может оставить настройки только для чтения. Переход на CLI сам по себе повреждение памяти не исправляет. Автоматического стирания данных нет.

Warning

Базовый выпуск — Smart UI 0.04 по новой нумерации (встроенная версия 0.06): обновление PowerSaving и исправления по аудиту. Скачать прошивку · Что изменилось и какой файл выбрать. Базовый выпуск сохранён отдельно. Метка GitHub Latest сама по себе не подтверждает аппаратную стабильность. Smart UI 0.03 (встроенная версия 0.05) сохранён для отката.

Неофициальная русскоязычная прошивка MeshCore Companion с компактным экранным интерфейсом для семи плат:

  • Heltec T096 с включённым FEM/LNA;
  • Heltec T114 с цветным TFT;
  • ProMicro nRF52840 + Heltec RA62 + OLED 128×64;
  • Heltec WiFi LoRa 32 V3 с OLED 128×64;
  • Heltec V4.3 OLED с включённым FEM/LNA;
  • Heltec V4 R8 OLED с включённым FEM/LNA, отдельная конфигурация;
  • Heltec Wireless Paper с e-paper 250×122.

В 0.06 исправлены восстановление настроек подключения, гонка BLE-очередей nRF52, устаревший GPS FIX и потеря ввода при idle/уведомлениях. Готовые ответы проходят выбор адресата; в «Сервис» появилась страница «О прошивке», USB-помощник обновлён до 1.1. Постоянных черновиков нет. Исправления и границы проверки. Старые иллюстрации ниже показывают сохранённые элементы UI; это симуляции, не аппаратная проверка 0.06.

⬇ Скачать Smart UI 0.16 · Как выбрать файл · Инструкция по прошивке

Выбор подключения, добавленный в 0.05, сохранён. На V3/V4.3/V4 R8/Paper доступны Bluetooth, USB Serial и Wi-Fi; на T096/T114/ProMicro — Bluetooth и USB Serial. Сеть настраивается через USB-консоль, USB-помощник 2.3 или Companion CLI по BLE/USB. Первое Wi-Fi/TCP-приложение принимается автоматически, порт 5000. Отдельного TCP-пароля/TLS нет: только доверенная локальная сеть, без проброса порта в Интернет. Одновременно работает один канал приложения, USB-консоль остаётся доступна в BLE/Wi-Fi. Инструкция. Внешний GPS ProMicro, уведомления и LED сохранены. Заставка — MeshCore / 0.16; архив — SmartUI_0.16_all-boards.zip.

Warning

Все ESP32 merged в 0.06 содержат пустое подготовленное хранилище. Предыдущая FS1 не устранила ошибку на пользовательской V3. Чистый установочный merged записывается по 0x0 и удаляет identity/настройки даже без Erase Flash. Работающую ноду обновляйте только update.bin по 0x10000 без очистки. Новые короткие имена приведены в примечаниях: проверяйте SHA256 и V3 FS2 в общем манифесте. FS2 автоматически готовит хранилище штатной библиотекой только при точном совпадении с известным пустым заводским образом. В остальных случаях стирание требует двух подтверждений кнопкой; отказ и бездействие ничего не стирают.

Обзор интерфейса на трёх платах

Heltec V4.3 OLED Heltec Wireless Paper
Часы V4.3 OLED с GPS и тишиной Большие часы Wireless Paper

Открыть проект на GitHub

Это независимая модификация, не официальный выпуск MeshCore или IoTThinks. В 0.06 база PowerSaving-v17 обновлена до a27e78e4. Сборки и симуляции не означают физическое испытание всех плат. Чёрный экран V4.3 после app-only update не объявляется исправленным.

История PS17-порта сохранена в ветках smartui-ps17.1 и smartui-2.1-beta.2. Для отката и прежнего API сохранён Smart UI 0.11.

Текущая публичная ветка — smartui-0.16. Разница с предыдущим публичным 0.14.

Что умеет интерфейс

  • Часы, сеть, чат, непрочитанные ЛС, анонс, настройки и выключение без пустых страниц.
  • Компактный аптайм находится на экране часов и не занимает отдельный пункт меню.
  • Русский компактный UI, понятные статусы и аккуратное сокращение длинных строк через ....
  • Экранная клавиатура в быстрых ответах.
  • Адресная отправка набранного сообщения в известный чат или companion-контакту; ретрансляторы из списка контактов исключены.
  • Непрочитанные ЛС выбираются по одному: чтение, адресный ответ, отметка прочитанным и отсрочка напоминания. Возможности прежней test.1 сохранены.
  • Одна общая мелодия важных уведомлений; на T096/T114/ProMicro серия ограничена двумя проигрываниями, повтор непрочитанного — через две минуты от начала предыдущей серии.
  • Ночной запрос тишины в 23:30 с отключением звука до 07:30.
  • Выбор шрифта и темы отдельными списками.
  • Аппаратный GPS на T096/T114/V4.3; на ProMicro — внешний UART/NMEA GPS, по умолчанию выключен. На GPS-странице ProMicro отсутствие данных UART отличается от поиска спутников. Wireless Paper и V3 остаются без GPS.
  • Исправлен выход ProMicro из сна: первое нажатие будит OLED без обязательного Reset.
  • Калибровка измерения АКБ доступна на всех поддерживаемых платах.
  • Исправлены потерянные при PS17-переносе настройки зуммера, чтение ключей prefs.json, содержащих цифры, и полная синхронизация времени назад вместе с timestamp сообщений.
  • Wireless Paper выпускается одной сборкой FULL: экранная клавиатура и адресная отправка сохранены, лесной фон убран.
  • BLE PIN доступен отдельной ручной страницей на всех семи платах, не перехватывает часы/сообщения/сон и сохраняется между обычными перезагрузками.
  • GPIO уведомлений и резонанс зуммера выбираются без записи каждого промежуточного значения: сохранение только по подтверждению.
  • LED платы — общий выключатель встроенных индикаторов MCU: статус, LoRa TX и уведомление на том же встроенном GPIO. Отдельный внешний LED на другом GPIO остаётся независимым.
  • Защита АКБ по умолчанию использует 3,2 В; при её выключении остаётся нижний порог 2,7 В. Сохранённый выбор пользователя сохраняется.
  • OLED-профили не включают неиспользуемые крупные таблицы шрифтов; внешний вид пяти компактных OLED-шрифтов сохранён.
  • Настройки, контакты, каналы и identity сохраняются через проверенные временную и резервную копии; повреждённая identity не заменяется молча новым адресом.
  • Часы различают доверенную синхронизацию и приблизительное время из mesh; ночной режим не запускается по недостоверному времени, часовой пояс выбирается от UTC−12:00 до UTC+14:00.

Поддерживаемые платы

Плата Дисплей GPS в этой цели Формат прошивки
Heltec T096 FEM ON TFT 160×80 Аппаратный UF2
Heltec T114 с дисплеем ST7789 240×135 Аппаратный UF2
ProMicro nRF52840 + Heltec RA62 SSD1306 OLED 128×64 Внешний UART, опционально UF2
Heltec WiFi LoRa 32 V3 SSD1306 OLED 128×64 Нет merged + update BIN
Heltec V4.3 OLED FEM ON SSD1306 OLED 128×64 Аппаратный merged + update BIN
Heltec V4 R8 OLED FEM ON SSD1306 OLED 128×64 UART, при подключённом модуле merged + update BIN
Heltec Wireless Paper e-paper 250×122 Нет merged + update BIN

Это не прошивка для FakeTec/HT-RA62, V4 TFT, T114 без дисплея или произвольной ProMicro-распайки. Подробности: поддерживаемое оборудование.

Быстрый старт

Используйте Release Smart UI 0.16. Для отката сохранён предыдущий публичный 0.14. Проверка сборок и симуляции не означает испытание каждого экземпляра платы.

  1. Откройте GitHub Releases или артефакты нужного CI-run и скачайте файл строго для своей платы.
  2. Скачайте контрольные суммы из того же выпуска: SHA256SUMS.txt для трёх UF2 и SHA256SUMS-ESP32.txt для всех восьми BIN. В общем ZIP находятся те же файлы и RELEASE-MANIFEST.json.
  3. Подключите плату исправным USB-кабелем с передачей данных.
  4. Для nRF52 переведите плату в UF2-загрузчик быстрым двойным нажатием Reset. Для ESP32-S3 используйте Web Flasher или esptool.
  5. На nRF52 скопируйте UF2 своей платы на USB-диск, без Erase. На работающей V3/V4.3/Wireless Paper используйте update.bin по адресу 0x10000 без Erase, с совместимыми загрузчиком и таблицей разделов. Для чистой установки используйте merged по 0x0: он сбрасывает данные даже без Erase. Подробности — в инструкции.
  6. Подключитесь из совместимого MeshCore-клиента. Если клиент просит PIN/passkey, с экрана часов сделайте один переход вперёд и введите показанные шесть цифр.

Полная инструкция: прошивка и проверка SHA-256.

Управление одной кнопкой

Действие Результат
Один щелчок Следующий экран или пункт
Двойной щелчок Предыдущий экран или пункт
Долгое нажатие Выбрать / открыть / подтвердить
Долгое нажатие на часах Включить или выключить тишину
Тройной щелчок Вернуться на главный экран

Если дисплей погас, первое нажатие может только разбудить его. В первые 8 секунд после старта долгое нажатие выполняет служебное действие, а не выбирает пункт: в режиме USB-компаньона возвращает Bluetooth и доступ к текстовой консоли помощника, в остальных режимах включает CLI Rescue. Полная карта: управление.

Сборка из исходников

Установите PlatformIO, откройте корень репозитория и выполните нужную команду:

pio run -e Heltec_t096_companion_radio_ble_femon -t create_uf2
pio run -e Heltec_t114_companion_radio_ble -t create_uf2
pio run -e ProMicro_ra62_companion_radio_ble -t create_uf2
pio run -e Heltec_v3_companion_radio_ble_smartui -t mergebin
pio run -e heltec_v4_3_companion_radio_ble_femon_smartui -t mergebin
pio run -e Heltec_Wireless_Paper_companion_radio_ble_smartui_full -t mergebin

Для nRF52 получится firmware.uf2. Для ESP32-S3 нужны оба файла: firmware-merged.bin и firmware.bin. Подробная воспроизводимая процедура: сборка.

Важные предупреждения

  • Свежие настройки используют радиопрофиль 869.618 MHz / BW 62.5 kHz / SF8 / CR5. Это не означает, что профиль разрешён в вашей стране.
  • T096 работает с внешним FEM; не передавайте без подходящей антенны и не повышайте мощность без измерений.
  • Импорт и экспорт приватного ключа включены на уровне companion-протокола. Никому не отправляйте экспортированный ключ и не добавляйте его в Git.
  • Phone GPS намеренно не поддерживается: телефон не отдаёт координаты ноде без отдельного приложения или сервиса.
  • Обычная прошивка может сохранить старые настройки ноды. Перед обновлением сохраните идентичность безопасным способом и проверьте радиопараметры после запуска.
  • Все ESP32 merged содержат подготовленное пустое SPIFFS: оно перезаписывает identity/настройки даже без Erase. Для сохранения данных используйте update. У каждой платы своя разметка: V3-файлы не подходят V4.3 или Wireless Paper.
  • Резервный prefs.json содержит чувствительные настройки и BLE PIN в открытом виде. Не публикуйте его. Возврат на stock может удалить секцию smart_ui при пересохранении настроек.
  • BLE PIN не блокирует физический экран: человек с доступом к устройству может читать локальные чаты и открыть PIN-страницу. Порог 2,7 В — резервная отсечка, не рекомендация разряжать аккумулятор до этого значения; нужен исправный аппаратный BMS и проверенный ADC.
  • На Wireless Paper GPIO45/VEXT питает одновременно дисплей и LoRa-тракт. Не включайте display auto-off и не переносите туда настройки обычного OLED.
  • V4.3 и Wireless Paper не имеют заявленного физического зуммера; tone GPIO для них намеренно не выдуман.
  • LED платы: ВЫКЛ действует только на встроенные светодиоды, которыми управляет MCU. Он не отключает физический индикатор зарядки, напрямую подключённый к схеме питания.
  • На ProMicro отключён автономный BLE connection LED до запуска Bluefruit; BLE продолжает работать. Поправка V5 (LED2) сохранена в 0.06 и блокирует обход выключателя через flash/cache на T114/T096/ProMicro; запись данных не отключается.

Подробнее: безопасность и радио.

Проверки и статус разработки

Изменения и границы проверки SmartUI 0.16 описаны в примечаниях к выпуску. Контрольные суммы и манифест публикуются рядом с файлами Release после успешной сборки CI. Проверки старых версий сохранены в их исторических примечаниях и не выдаются за результаты нового выпуска.

Основной CI собирает все семь релизных конфигураций из одного commit: одиннадцать прошивок, общий ZIP, USB-помощник и Developer Kit — всего 19 файлов. V3 FS2 и подготовленная SPIFFS проверяются в этом же pipeline. Старый Heltec_v3_companion_radio_ble остаётся compile-only представителем общего драйвера, а не V3-файлом SmartUI. Xiao S3 WIO и Heltec T1 не добавляются в Release.

Heltec T1 остаётся нерелизной контрольной платой. Её USB-вариант в CI проверяет общий UI/display-код; обе companion-конфигурации T1 используют -Os и помещаются в штатную flash-разметку с ExtraFS. Это не добавляет T1 в список поддерживаемых файлов Release. RAK4631 также не является релизной или обязательной compatibility-целью. Все семь публикуемых конфигураций собираются отдельно; подробности.

T096 симулируется с реальными bitmap-метриками, T114 — через масштабирование 128×64 → 240×135, OLED — по встроенным glyph-таблицам, Wireless Paper — в физической геометрии 250×122. Симуляция не заменяет проверку на устройстве, включая реальный порог отключения аккумулятора.

Документация

Лицензии и авторство

MeshCore и эта производная работа распространяются по лицензии MIT; исходное уведомление Scott Powell / rippleradios.com сохранено в LICENSE. Встроенные растровые варианты шрифтов созданы из Roboto Condensed под Apache License 2.0 и четырёх гарнитур под SIL Open Font License 1.1. Полный список и ссылки на тексты лицензий находятся в THIRD_PARTY_NOTICES.md.

About

SmartUI для T096 FEM, T114 и ProMicro RA62 на базе IoTThinks PowerSaving-v17

Topics

Resources

Contributing

Security policy

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages