MeshCore 1.18.0: Глубокий разбор. CLI, подписка на телеметрию и новые правила для репитеров ⚙️
15 октября 2026 года вышло обновление MeshCore 1.18.0. Если предыдущие релизы фокусировались на стабилизации ядра, то этот выпуск знаменует собой переход экосистемы на новый уровень зрелости. Главные изменения коснулись узлов типа Companion, но серьезные архитектурные правки получили и репитеры, и сенсорные узлы.
Мы проанализировали список изменений, протестировали новые функции и готовы представить глубокий технический разбор того, что именно изменилось, почему это важно и как правильно обновить ваше оборудование, не потеряв при этом криптографическую идентичность узла.
Оглавление
- 7 главных улучшений MeshCore 1.18.0 🚀
- 1. Полноценный CLI для узлов Companion
- 2. Удаленное управление через радиосеть (Remote CLI)
- 3. Комбинированная прошивка BLE + Wi-Fi
- 4. Локальное обнаружение репитеров на дисплее
- 5. Телеметрия Sensor Node по подписке
- 6. Умная защита репитеров от петель (Loop Detection)
- 7. Стабильность Room Server и исправления I²C
- Глубокий разбор: переход от опроса к подписке 📡
- Что изменилось у репитеров? 🔄
- Стратегия обновления: кому и как прошиваться 🛠️
- Пошаговый гайд безопасного обновления
- Чего не хватило в этом релизе? 🔍
- Заключение: Эволюция, а не революция ✅
7 главных улучшений MeshCore 1.18.0 🚀
1. Полноценный CLI для узлов Companion
Раньше Companion-узлы были лишены привычной командной строки (CLI), доступной на репитерах. Если нужной настройки не было в графическом интерфейсе приложения, пользователям приходилось идти на компромиссы: искать обходные пути, использовать кастомные сборки или пересобирать прошивку самостоятельно. Например, калибровка показаний напряжения аккумулятора или периодический сброс AGC (автоматической регулировки усиления) были недоступны "из коробки". Теперь текстовые команды можно отправлять непосредственно устройству через приложение MeshCore 1.50.0.
2. Удаленное управление через радиосеть (Remote CLI)
Это революционное изменение для обслуживания инфраструктуры. В настройках контакта появилась опция Remote CLI. Если владелец узла предоставит это разрешение, другой Companion сможет отправлять команды через Mesh-сеть. Это позволяет диагностировать и перенастраивать удаленные ретрансляторы без физического доступа к ним.
⚠️ Критическое предупреждение по безопасности: Выдавайте разрешение Remote CLI только абсолютно доверенным контактам. Этот доступ позволяет читать чувствительные данные, включая сохраненный пароль Wi-Fi командой get wifi.pwd.
3. Комбинированная прошивка BLE + Wi-Fi
Долгожданное решение дилеммы "выбери одно". Ранее для одновременного использования Bluetooth (для связи с телефоном) и Wi-Fi (для локальной сети или MQTT) требовались альтернативные сборки. В версии 1.18.0 официальные комбинированные прошивки доступны для Heltec V3, V4, V4 R8, Wireless Paper, RAK3112, Xiao S3 и Xiao S3 WIO. Теперь можно настроить Wi-Fi через приложение по Bluetooth, перезагрузить устройство и продолжить работу с Companion уже через локальную сеть.
4. Локальное обнаружение репитеров на дисплее
Для Companion-устройств, оснащенных экраном, добавлен нативный интерфейс поиска репитеров. Запуск сканирования сети теперь возможен непосредственно с корпуса устройства, без необходимости подключать смартфон. Это ускоряет полевую диагностику.
5. Телеметрия Sensor Node по подписке
Вместо неэффективного постоянного опроса (polling) внедрен механизм подписки (subscription). Пользователь может указать интересующие параметры и порог их изменения (дельту). Сенсорный узел переходит в спящий режим и самостоятельно отправляет обновление подписчику только при превышении заданного порога. Это радикально снижает нагрузку на эфир.
6. Умная защита репитеров от петель (Loop Detection)
Режим loop.detect minimal теперь включен по умолчанию на новых установках. Эта функция, существующая с версии 1.14.0, анализирует заголовки пакетов и отбрасывает flood-трафик с признаками повторного прохождения через тот же репитер, предотвращая коллапс сети из-за петель маршрутизации.
7. Стабильность Room Server и исправления I²C
Для устройств на базе ESP32 доработан механизм сохранения системного времени после аппаратных сбросов (например, при срабатывании watchdog или просадке питания). Ранее время могло откатываться к 1970 году, что ломало логику пакетов. Также исправлено обнаружение датчиков Bosch: теперь сканируются оба адреса I²C (0x76 и 0x77), что исключает ошибки определения модели.
Глубокий разбор: переход от опроса к подписке 📡
Механизм подписки на телеметрию (Improvement #5) является самым значимым архитектурным сдвигом в этом релизе с точки зрения этики использования эфирного времени (airtime ethics).
Традиционная модель опроса выглядит так: Companion каждые N минут спрашивает Sensor Node: "Какая температура?". Даже если температура не изменилась, эфир тратится на запрос и ответ. В модели подписки логика инвертируется.
[ Companion Node ] │ │ (Команда: subscribe temp, delta=2.0) ▼ [ Sensor Node ] ──(Глубокий сон, 0 мкА)──> [ Измерение: +2.5°C ] │ │ (Превышен порог) ▼ [ Отправка обновления ]
Companion уже умеет передавать такие данные клиентскому ПО, хотя для полноценного использования требуется обновление пользовательских приложений для создания и обработки правил подписки. Этот подход напрямую перекликается с принципами рационального использования спектра, которые мы подробно разбирали в материале об автоматизации и этике эфирного времени в MeshCore.
Что изменилось у репитеров? 🔄
Помимо включения loop.detect minimal по умолчанию, разработчики пересмотрели логику работы скрытых репитеров. Если объявления (beacons) отключены, узел теперь полностью игнорирует запросы DISCOVER.
Это не делает узел абсолютно невидимым для радиосети (он все еще будет ретранслировать пакеты, если они до него дойдут), но исключает его из списков обычного обнаружения соседними устройствами. Это полезная функция для создания скрытых магистральных каналов, которые не должны "светиться" при стандартном сканировании.
Также исправлена пересылка ACK в direct-режиме: теперь система корректно учитывает настроенную задержку ретрансляции. Ранее в некоторых сценариях эта задержка обнулялась, что приводило к коллизиям в плотных сетях. Для понимания того, как это влияет на общую топологию, полезно освежить знания о том, как работает Mesh-сеть на уровне протокола.
Стратегия обновления: кому и как прошиваться 🛠️
Не все узлы требуют немедленного обновления. Подход должен быть дифференцированным в зависимости от роли устройства в сети.
Пошаговый гайд безопасного обновления
Процедура обновления кажется тривиальной, но одна ошибка может привести к потере идентичности узла. Следуйте этому алгоритму:
- Резервное копирование: Экспортируйте конфигурацию и, что критически важно, сохраните приватный ключ (Private Key) узла в надежное место.
- Подключение: Подключите устройство к компьютеру через надежный USB-кабель (используйте порты напрямую на материнской плате, избегайте дешевых хабов).
- Flasher: Откройте MeshCore Flasher, выберите правильную модель устройства и версию 1.18.0.
- КРИТИЧЕСКИЙ ШАГ: НЕ ставьте галочку "Erase device" без крайней необходимости. Полное стирание удаляет сохраненные настройки и криптографические ключи. Если приватный ключ не был сохранен, восстановить прежнюю идентичность узла в сети будет невозможно.
- Проверка: После прошивки проверьте базовые настройки (регион, мощность, вызов
get loop.detectдля репитеров).
Чего не хватило в этом релизе? 🔍
Несмотря на масштабность обновления, один важный сценарий остался нереализованным. В описании архитектуры 1.17.0 разработчики упоминали комбинацию BLE + USB как цель для универсального Companion.
Идея заключалась в том, чтобы смартфон мог подключаться по Bluetooth, а компьютер или Raspberry Pi — по USB, без необходимости поднимать Wi-Fi сеть и без смены прошивки. В официальных сборках 1.18.0 порт USB пока используется исключительно для логирования и прошивки, но не для подключения клиента. Будем надеяться, что эта функция будет реализована в следующих минорных обновлениях, так как для многих сценариев автономной работы она была бы полезнее, чем Wi-Fi.
Заключение: Эволюция, а не революция ✅
MeshCore 1.18.0 — это не набор случайных исправлений, а продуманная эволюция экосистемы. Введение CLI для Companion и Remote CLI закрывает многолетнюю боль администраторов сетей. Переход Sensor Node на модель подписки — это взрослый шаг к оптимизации спектра. А улучшения в работе репитеров делают магистральные каналы более устойчивыми к сбоям.
Если вы используете Companion, обновление является строго рекомендуемым. Для стационарных репитеров и Room Server действует правило: "Работает стабильно — не трогай", за исключением случаев, когда вам критически нужны конкретные исправления из этого списка.
🔥 Финальное напоминание: Технологии децентрализованной связи требуют ответственности. Всегда делайте бэкап ключей перед прошивкой и проверяйте настройки loop.detect на своих ретрансляторах. Стабильная сеть строится на внимании к деталям.
Следите за обновлениями, тестируйте новые функции в контролируемой среде и делитесь результатами с сообществом. Удачной прошивки! 📡✨