LighthouseReckoning: Легкая Lo... Заметка
DEV Community на русском

LighthouseReckoning: Легкая LoRa Mesh-сеть для Arduino, ESP32 и RP2040

LighthouseReckoning — это легковесная библиотека для создания mesh-сетей LoRa, совместимая с микроконтроллерами Arduino. Она была протестирована на ESP32 и RP2040 с радиомодулями SX126x. Основная цель библиотеки — обеспечить передачу данных с датчиков на центральный узел "Home" через несколько промежуточных узлов-ретрансляторов. Узлы автоматически определяют кратчайший путь к "Home", обмениваясь информацией о расстоянии со своими соседями. Каждому узлу достаточно знать расстояние до "Home" только от своих непосредственных соседей, а не всю топологию сети. Маршрутизация осуществляется с помощью подхода "вектор расстояния", позволяя узлам пересылать данные пошагово к узлу "Home". Система реализует пошаговую надежность, при которой каждый узел подтверждает получение данных от своего непосредственного предшественника, перекладывая подтверждение от начала до конца на локальные повторные попытки. Это гарантирует, что только исходный узел нуждается в подтверждении от своего прямого соседа. Библиотека спроектирована так, чтобы не блокировать основной цикл, позволяя непрерывно обновлять данные. Она поддерживает автоматическую многоскачковую маршрутизацию, локальные повторные попытки отправки пакетов, обнаружение дубликатов и защиту TTL. LighthouseReckoning использует RadioLib для абстракции радиомодулей и в настоящее время тестируется на конкретных аппаратных платформах. Будущие разработки направлены на улучшение протокольных функций и безопасности.