Repository navigation
Smart UI 0.11
Smart UI 0.11 — сообщения, события и USB-помощник 1.4
Публичный выпуск для прежних шести плат. Главное — новая синхронизация сообщений для приложений и обновлённый USB-помощник. Получение сообщения приложением и прочтение человеком теперь можно подтверждать отдельно. Обычный MeshCore-клиент может работать по-прежнему: новая модель включается явно, формат радиообмена не меняется.
Скачать выпуск · Исходники 0.11 · Предыдущий публичный 0.10.
Исправление от 2026-10-07
Это обновление файлов того же публичного выпуска 0.11, не новая версия. Если файлы скачаны раньше, скачайте их и контрольные суммы заново. USB-помощник остаётся версии 1.4; объяснение ошибки хранилища в нём уточнено.
- На подключённой по USB T114 со сборкой
26520e96подтверждён статусstorage=recovery-required. В коде найдена ошибка восстановления настроек подключения nRF52: повреждённый файл дописывался вместо замены. Такой сценарий возможен также на T096 и ProMicro. - Исправление заменяет повреждённые настройки подключения и не делает лишнюю запись при запуске с исправными настройками. Форматирование не выполняется; ключ и адрес ноды (identity), контакты и остальные настройки не очищаются. Если настройки самого подключения повреждены, они могут восстановиться в режиме Bluetooth по умолчанию.
- ADC этим исправлением не затронут. Калибровка батареи и её ограничения остаются прежними. USB-помощник поясняет ошибку подключения, а не предлагает сбрасывать всю ноду.
- T114, T096 и ProMicro обновляйте UF2 своей платы без
FLASH_ERASE. Для работающих ESP32 используйтеupdate.binпо0x10000с совместимой разметкой, без Erase.merged.binпо0x0по-прежнему заменяет пользовательские данные даже без Erase и не нужен для этого исправления. - Статус ошибки прочитан с физической T114, но исправленная прошивка на неё ещё не установлена. Устранение проблемы на конкретной плате пока не подтверждено; программная проверка не заменяет проверку после обновления.
Что изменилось
- Получено — не значит прочитано. Новый API отдельно подтверждает приём конкретного сообщения приложением, прочтение человеком, отключение напоминания и доступную отсрочку. Получение текста само по себе не снимает непрочитанное. Действия на ноде и в новом клиенте можно сверять между собой; старые приложения не переводятся в эту модель автоматически.
- Приложение может следить за изменениями. Добавлены события сообщений, настроек, подключения и батареи, в том числе изменения через локальное меню. После пропущенных событий или переподключения клиент повторно сверяет состояние. После перезапуска ноды прежние идентификаторы сообщений недействительны.
- USB-помощник 1.4 стал отдельным офлайн-приложением. В нём два режима: прежняя текстовая консоль и новый USB-компаньон с сообщениями, событиями, состоянием уведомлений и настройками API. Одновременно порт использует только один режим. Сохранены консольные настройки, свои быстрые фразы, мастер Wi-Fi и проверка файлов прошивки.
- Настройки показываются по возможностям прошивки. Звук, общая мелодия, громкость, тишина, LED платы и уведомлений, вибрация, GPS, защита АКБ и калибровка доступны там, где поддерживаются. В режиме API помощника есть также AGC, FEM и мостовой режим пьезозуммера. Отсутствующая функция скрывается, а неподтверждённая запись не показывается как успешная.
- Developer Kit расширен. Python SDK, примеры, тесты и инструкции RU/EN описывают согласование возможностей, синхронизацию, события и восстановление сеанса. Это расширение API v1, а не новый протокол LoRa и не автоматическое добавление кнопок в сторонние приложения.
- Исправлена калибровка батареи ProMicro через USB. Расчёт теперь использует последний пригодный замер от АКБ не старше 120 секунд, полученный с тем же коэффициентом. Текущее напряжение при USB не подставляется вместо него. Если опорного замера нет, ошибка
sourceблокирует расчёт, а не предлагает неверную поправку.
Как пользоваться помощником
Скачайте SmartUI_USB_Helper_1.4.html или ZIP с инструкцией и снимками. Откройте HTML в Chrome или Edge на компьютере. Интернет помощнику не нужен; нужен USB-кабель с передачей данных. Закройте флешер и другие программы, занявшие порт. V3 и Paper сначала разбудите кнопкой.
Прежние настройки через консоль
- На ноде выберите Bluetooth. К компьютеру подключите USB-кабель. Телефон и сопряжение Bluetooth не нужны.
- В помощнике выберите
Настройки (консоль), нажмитеВыбрать USB-порти дождитесьКонсоль SmartUI подключена. - Настройки прочитаются автоматически. Измените нужное поле и нажмите его кнопку
Сохранить. Для повторного чтения используйтеПрочитать настройки. - Если экрана нет, а нода уже работает USB-компаньоном, перезапустите её. После запуска прошивки, в первые 8 секунд, выполните долгое нажатие пользовательской кнопки: при успешном сохранении нода вернётся в Bluetooth. Не удерживайте ESP BOOT во время перезапуска — это вход в загрузчик.
Сообщения и новые настройки API
- На ноде выберите USB-компаньон. В помощнике выберите
Сообщения и API (USB-компаньон)и подключите USB-порт. Если вы переходите из консоли, сначала отключите её соединение. - Помощник проверит наличие API и покажет поддерживаемые настройки. Для работы с сообщениями отдельно нажмите
Включить синхронизацию. Сверить с нодойчитает состояния, не тексты.Получить сообщенияпереносит доступные тексты в память вкладки и подтверждает получение каждого точного сообщения. Это не прочтение и не отключение напоминаний.Прочитаноотмечает сообщение прочитанным.Не напоминатьотключает напоминание без отметки о прочтении.Отложить на 10 миндоступно только там, где нода разрешает отсрочку. Появление карточки ничего из этого не выполняет.- После обрыва связи подключитесь заново, включите синхронизацию и сверьте состояние. Если результат записи неизвестен, не повторяйте её вслепую: она могла уже выполниться.
Это не архив сообщений. Тексты остаются только в памяти открытой вкладки. После закрытия страницы уже полученные тексты нельзя заново скачать из очереди ноды; при повторном подключении карточка может показывать только состояние. Нода держит ограниченный рабочий список — до 32 записей и 32 событий в RAM, не полную историю чата. Отправки новых сообщений из помощника в этом выпуске нет.
Журнал событий и поле разработчика не выводят пароли, PIN, тексты сообщений или сырые кадры. Push-уведомление лишь сообщает о наличии изменений; точные события читаются отдельно. На случай пропущенного уведомления помощник повторяет проверку раз в 7,5 секунды, пока соединение свободно и синхронизация включена. Фоновые вкладки браузер может замедлять. Надпись об активном уведомлении означает состояние цепочки уведомлений, а не измерение работы зуммера или LED.
Калибровка батареи ProMicro
На ProMicro/SuperMini измеряемое напряжение питания может повышаться при подключении USB. Поэтому показание при USB не гарантирует фактическое напряжение аккумулятора; такая особенность описана в разборе схемы платы. Это не подтверждение одинаковой аппаратной причины на всех экземплярах.
- Если в 0.10 уже сохранили неверную поправку, нажмите в помощнике
Заводская калибровка ADCи подтвердите. Сбрасывается только калибровка, не ключ ноды и не контакты. Обычную защиту АКБ 3,2 В оставьте включённой. - Отключите USB, запустите ноду от аккумулятора и дождитесь замера. Измерьте мультиметром напряжение непосредственно на аккумуляторе.
- Подключите USB без перезапуска ноды. Пока опорному замеру не исполнилось две минуты, введите измеренное напряжение и нажмите
Рассчитать поправку. ПриERR settings sourceилиERR api sourceповторите шаги с питанием от АКБ. - Проверьте расчёт и отдельно нажмите
Сохранить калибровкус подтверждением. Затем отключите USB и сравните показание с мультиметром при питании от аккумулятора.
Штатный коэффициент ProMicro — 1.815, допустимый диапазон остался 1.36125…2.26875. Значение 1.97 не является верхним пределом. Исправлен выбор источника для расчёта; точность на конкретной физической плате ещё нужно проверить.
Настройки: важные ограничения
- Калибровка батареи: сначала измерьте напряжение мультиметром, получите предварительный расчёт, затем отдельно подтвердите сохранение. Сброс заводской калибровки затрагивает только ADC, не контакты и ключи. При выключении защиты 3,2 В остаётся аварийный порог 2,7 В — это не рекомендуемая цель разряда.
- AGC:
Настройки → Система → AGC-сброс, по умолчаниюВЫКЛ; долгое нажатие переключает и сохраняет выбор. Интервал не менее 60 секунд, с отсрочкой при активности. Это не перезапуск ноды, а пробная профилактика с коротким окном без приёма. Доказанное устранение зависаний и измеренное улучшение связи не заявляются. - Мостовой звук: это существующий режим пьезозуммера между двумя поддерживаемыми GPIO, не передача аудио и не ретрансляция сообщений. Требуется совместимый плавающий пьезоизлучатель между штатными выводами; такой выход нельзя соединять с землёй. Одной программной поддержки недостаточно для произвольной распайки.
- Wi-Fi: на V3, V4.3 и Paper введите сеть и пароль, проверьте подключение и отдельно сохраните успешный результат. До сохранения прежняя сеть не заменяется. Отмена, разрыв сеанса или таймаут удаляют черновик. Настройка Wi-Fi через API разрешена по BLE/USB, не через TCP той же настраиваемой сети. На T096, T114 и ProMicro Wi-Fi нет.
Безопасность TCP. На самой ноде существующий порт 5000 допускает управление и запись без отдельного пароля доступа и TLS. Первое приложение принимается автоматически. Используйте только доверенную локальную сеть, не пробрасывайте порт в Интернет. Ограничение передачи Wi-Fi-пароля каналами BLE/USB не защищает остальные команды TCP от участников локальной сети. Помощник в браузере использует только USB и не выполняет сетевых запросов.
Для разработчика приложения
- Начните с инструкции RU или спецификации EN. Сначала discovery и
HELLO, затем проверка отдельных возможностей; не определяйте поддержку только по номеру версии или названию платы. - Скачайте SmartUI_Developer_Kit_0.11.zip. Внутри — SDK, примеры, тесты, инструкции и лицензия. Python 3.10+; TCP использует стандартную библиотеку, USB требует
pyserial. Готового BLE-адаптера в комплекте нет: нужен существующий BLE-клиент и один согласованный обработчик транспорта. - Синхронизацию включайте явно на сеанс.
receivedподтверждает получение точного кадра приложением, аread— отдельное действие прочтения. Подписки, снимки состояний и ограниченный журнал событий требуют обработки пропусков, переподключений и смены загрузки ноды. Подсказка push не заменяет чтение событий. - Существующие companion-команды сохранены. API использует
0xC9, сигнатуруSUIи кадры до 160 байт; поддержка синхронизации и событий объявляется отдельно. Доступность API не означает, что стороннее приложение уже умеет им пользоваться. Не запускайте два независимых читателя одного USB/BLE/TCP-сеанса.
Какой файл скачать
- T096 FEM ON:
T096_UI_0.11.uf2. - T114 с дисплеем:
T114_UI_0.11.uf2. - ProMicro nRF52840 + Heltec RA62:
ProMicro_RA62_UI_0.11.uf2. - Heltec V3 OLED:
Heltec_V3_UI_0.11-update.binилиHeltec_V3_UI_0.11-merged.bin. - Heltec V4.3 OLED FEM ON:
Heltec_V4.3_UI_0.11-update.binилиHeltec_V4.3_UI_0.11-merged.bin. - Heltec Wireless Paper:
Paper_UI_0.11-update.binилиPaper_UI_0.11-merged.bin. - Весь комплект:
SmartUI_0.11_all-boards.zip. Отдельно доступныSmartUI_USB_Helper_1.4.html,SmartUI_USB_Helper_1.4.zipиSmartUI_Developer_Kit_0.11.zip; они также входят в общий архив.
В выпуске 17 файлов: девять прошивок для шести плат, два файла помощника, Developer Kit, примечания, две таблицы SHA-256 для прошивок, манифест и общий ZIP. SHA256SUMS.txt относится к трём UF2, SHA256SUMS-ESP32.txt — к шести BIN. Хеши дополнительных комплектов указаны в RELEASE-MANIFEST.json.
Не используйте эти образы для V4 TFT, T114 без дисплея, FakeTec/HT-RA62 или произвольной ProMicro-распайки. Поддерживаемые платы.
Обновление без очистки
- T096, T114 и ProMicro: скопируйте UF2 своей платы на диск загрузчика. Erase для обычного обновления не требуется.
- Работающие V3, V4.3 и Paper: используйте
update.binпо адресу0x10000, без Erase, только с совместимыми загрузчиком и таблицей разделов. При переходе с другой прошивки сначала проверьте совместимость разметки. merged.binпо адресу0x0— чистая установка: он заменяет identity, контакты и настройки даже без Erase. Сначала сохраните нужные данные. Новые API и помощник сами по себе не требуют чистой установки.
Инструкция по прошивке · Проверка SHA-256.
Границы проверки
- Публикация требует успешной сборки всех шести профилей из одного commit. Проверяются девять образов, встроенная версия, исходный SHA, подготовленное хранилище ESP32, состав комплектов и контрольные суммы.
- Программные проверки охватывают API, настройки, синхронизацию сообщений, события, SDK и помощник с имитацией USB. Проверяются в том числе явное прочтение, пропущенные события, перезапуск, переподключение, ошибки, таймауты и прекращение работы с отключённым портом. Снимки интерфейса получены в симуляции с тестовыми данными.
- Эти проверки не заменяют испытание физических плат и длительных BLE/USB/TCP-сеансов. Аппаратная стабильность каждого экземпляра и совместимость со всеми сторонними приложениями не заявляются. Полная отложенная запись контактов остаётся синхронной; отсутствие всех пауз радио/BLE не обещается. Эффект AGC на физическом устройстве в этом выпуске не измерялся.
Публичный Smart UI 0.10 сохранён без замены файлов для возврата к предыдущему выпуску. При сообщении об ошибке укажите плату, имя прошивки, режим подключения, действие и безопасный текст ошибки — без паролей, BLE PIN, сообщений и полных дампов сеанса.