Joan Miquel Solé's LoRaMesher Builds LoRa Mesh Networks on Espressif ESP32 Microcontrollers
Designed to make it easy to build a LoRa network with no gateways, LoRaMesher lets nodes route traffic automatically.
Developer Joan Miquel Solé has released a library that aims to make it easy to build your own LoRa mesh radio networks on Espressif ESP32 microcontrollers using PlatformIO: LoRaMesher.
"With LoRaMesher, you can build a network of LoRa nodes that can communicate with each other directly, without the need for a gateway," Solé explains of the library. "LoRaMesher uses a distance vector routing protocol to enable two nodes to communicate data packets with each other, while the other nodes in the mesh network operate as routers."
Traditionally, a LoRa network offers long-range low-power communications coverage over a set area through the use of a single gateway communicating with multiple device nodes. In a mesh network, by contrast, devices communicate directly with one another — potentially allowing for wider coverage, with each individual device routing messages so that they can reach their target wherever it may sit in the network.
Using the RadioLib library and FreeRTOS real-time operating system as its basis, the LoRaMesher library has been successfully tested with Semtech's SX1276 and SX1262 LoRa radio modules using an Espressif ESP32 microcontroller host. A simple example is provided, in the form of a counter which sends a broadcast message to in-range nodes every ten seconds.
"Additionally," Solé adds, "I am working on another library that using MQTT you can communicate between nodes and the MQTT server and vice versa. Stay tuned for more updates on this library!"
LoRaMesher is available on GitHub, under the permissive MIT license, with additional information available in this Reddit post and the LoRaMesher documentation.
Main article image courtesy of LILYGO.