Skip to content

Grim1313/microReticulum_Next

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

921 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

microReticulum_Next

Экспериментальная автономная прошивка узла Reticulum для LoRa-устройства на базе RNode Firmware и microReticulum. Узел может работать без постоянно подключённого компьютера, хранить конфигурацию во flash-памяти, участвовать в Reticulum-сети и использовать Wi-Fi/TCP uplink.

Проект основан на microReticulum_Firmware и RNode Firmware. Лицензия исходного кода приведена в файле LICENSE.

Warning

Прошивка экспериментальная и пока подготовлена только для LilyGO TTGO T-Beam с радиомодулем SX1276, диапазон 868 МГц. Среда сборки: ttgo-t-beam. Другие платы, ревизии T-Beam, SX1262 и другие диапазоны не поддерживаются и не проверялись. Прошивка может содержать ошибки, терять конфигурацию или требовать полного перепрошивания. Не используйте её в системах, от которых зависит безопасность.

Возможности

  • автономная работа стека microReticulum на ESP32;
  • LoRa-интерфейс SX1276 и USB/KISS-подключение;
  • сохранение настроек узла в энергонезависимой памяти;
  • Wi-Fi STA и TCP uplink;
  • встроенный транспорт Reticulum, discovery и статистика;
  • резервное копирование transport identity в EEPROM;
  • настройка, диагностика и обновление через tools/micrornodeconf.py;
  • локальная диагностическая панель через USB/COM без внешнего веб-сервиса.

Требования

Аппаратная часть

  • LilyGO TTGO T-Beam с ESP32 и SX1276;
  • вариант радиотракта 868 МГц;
  • USB-кабель с передачей данных;
  • подходящая LoRa-антенна, подключённая до включения передатчика.

Среда разработки

  • Python 3.12 или новее;
  • PlatformIO Core 6.1.19;
  • pyserial 3.5;
  • Git.

Установка проверенных актуальных версий в PowerShell:

py -3.12 -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install platformio==6.1.19 pyserial==3.5

Все C++-зависимости и платформа ESP32 имеют фиксированные версии в platformio.ini; PlatformIO загрузит их автоматически. Это делает сборку повторяемой и не требует ручной установки Arduino-библиотек.

Сборка

Клонируйте репозиторий и откройте его каталог:

git clone <URL-ВАШЕГО-РЕПОЗИТОРИЯ>
cd microReticulum_Next

Соберите прошивку:

python -m platformio run

Основной бинарник появится в:

.pio\build\ttgo-t-beam\rnode_firmware_tbeam.bin

Для создания ZIP-пакета и локального feed:

python -m platformio run -t package

Результаты будут созданы в Release\ и не должны коммититься в Git.

Прошивка устройства

Подключите T-Beam по USB, узнайте номер COM-порта в диспетчере устройств Windows и закройте программы, которые могут удерживать этот порт.

Сборка и загрузка одной командой:

python -m platformio run -t upload --upload-port COM7

Замените COM7 на фактический порт устройства. После первой загрузки проверьте состояние:

python tools\micrornodeconf.py COM7 --show

Если устройство требует повторной инициализации EEPROM/конфигурации:

python tools\micrornodeconf.py COM7 --firmware-hash auto
python tools\micrornodeconf.py COM7 --rom
python tools\micrornodeconf.py COM7 --show

Базовая настройка

Пример тестовой настройки LoRa для 868 МГц:

python tools\micrornodeconf.py COM7 --freq 868.825MHz --bw 125kHz --sf 10 --cr 7 --txp max --radio on --save

Покажите все сохранённые параметры:

python tools\micrornodeconf.py COM7 --show

Управление встроенным транспортом:

python tools\micrornodeconf.py COM7 --transport auto
python tools\micrornodeconf.py COM7 --transport on
python tools\micrornodeconf.py COM7 --transport off

Диагностика Wi-Fi и TCP uplink:

python tools\micrornodeconf.py COM7 --wifi-show

Значок Wi-Fi на экране подтверждает только соединение с точкой доступа. Состояние TCP uplink нужно проверять отдельно командой выше.

Локальная панель диагностики

python tools\micrornode_dashboard.py COM7 --open

Панель показывает состояние радио, счётчики RX/TX, RSSI/SNR, память, причины перезапуска, Wi-Fi, TCP uplink и основные параметры microReticulum. Она работает локально и не отправляет данные во внешний веб-сервис.

Для демонстрации без устройства:

python tools\micrornode_dashboard.py --demo --open

COM-порт одновременно может использовать только одна программа. Перед запуском micrornodeconf.py, Reticulum, PlatformIO upload или serial monitor остановите панель кнопкой Stop & Close.

Резервная копия transport identity

Проверить активную identity и EEPROM-копию:

python tools\micrornodeconf.py COM7 --identity-show

Экспортировать локальную резервную копию:

python tools\micrornodeconf.py COM7 --identity-export "$env:USERPROFILE\.config\rnodeconf\tbeam_transport_identity.hex"

Восстановить identity и перезагрузить узел:

python tools\micrornodeconf.py COM7 --identity-import "$env:USERPROFILE\.config\rnodeconf\tbeam_transport_identity.hex" --reboot

Не публикуйте файл identity: он содержит приватный ключ узла.

Просмотр последовательного лога

python -m serial.tools.miniterm COM7 115200 --filter debug

Закройте miniterm сочетанием Ctrl+] перед запуском других инструментов.

Структура репозитория

  • RNode_Firmware.ino, *.h, *.cpp — исходный код прошивки;
  • platformio.ini — единственная поддерживаемая конфигурация сборки;
  • partitions/ — таблица разделов flash-памяти для автономного T-Beam;
  • tools/ — конфигуратор, панель и средства диагностики;
  • Release/esptool/ — минимальные скрипты, необходимые для создания устанавливаемого пакета;
  • extra_script.py — сборка пакета, подготовка зависимостей и служебные действия PlatformIO.

Ограничения и безопасность

  • соблюдайте разрешённые частоты, мощность и duty cycle для своей страны;
  • не включайте передачу без подходящей антенны;
  • перед обновлением сохраняйте transport identity и важные настройки;
  • не считайте доступность узла на карте доказательством исправности Wi-Fi/TCP uplink;
  • не публикуйте Wi-Fi-пароли, identity, дампы EEPROM и диагностические логи с секретами;
  • поддержка других устройств появится только после отдельной адаптации и аппаратного тестирования.

Очистка сборки

python -m platformio run -t clean

Каталоги .pio/, Debug/, logs/ и сгенерированные файлы Release/ исключены из Git.

About

Fork of RNode_Firmware for LilyGO TTGO T-Beam SX1276 868 MHz with integration of the microReticulum network stack to implement a completeley self-contained standalone Reticulum node

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 49.9%
  • C++ 30.8%
  • C 19.3%