
Ethereum LoRa is a project aimed at adding a LoRa radio interface to Ethereum nodes. By doing so, it becomes possible to query a node with JSON-RPC commands even in locations where Wi-Fi or cellular connectivity is absent. This enhancement allows Ethereum-based services to run in rural or underdeveloped areas of the world, fostering crypto adoption.
The LoRa Communication System is an innovative project designed to facilitate seamless and efficient communication using the LoRa protocol. Aimed at establishing a reliable medium for data transmission even in challenging conditions, our solution stands as a testament to the powerful blend of software ingenuity and hardware capabilities. Whether it's for remote sensing applications, IoT devices, or any scenario where traditional connectivity might falter, our system ensures that your data reaches its destination.
The software interfaces with the Ethereum node and the LoRa E22 module, allowing bi-directional communication. When the system starts, it sets up the LoRa module with specific configurations. Users can input JSON payloads, which are then sent via the LoRa interface to an Ethereum node. The system also listens for incoming messages from the Ethereum node, which can then be parsed and presented to the user.
At its core, our system relies on the LoRa (Long Range) protocol, a patented digital wireless data communication technology. Through a combination of software controllers and hardware integrations, the system listens for incoming LoRa messages and parses them for further processing. Depending on the message type—whether it's a handshake or a request—the controller can efficiently interpret and respond to the data.
We've designed a modular approach, with a main driver program that leverages two key components: the ConfigManager and LoRaController. The ConfigManager handles configuration retrieval while the LoRaController manages the setup, listening, and sending of LoRa messages. When data is received, it's parsed based on its message type and, if it's a request, further extracted to ensure clean and valid JSON content.
git clone <repository_url>
pip install -r requirements.txt
LORA_CHIP_MODEL, SERIAL_PORT, etc.).python client.py
python server.py
The BOM is very basic, consisting of a LoRa UART module and a simple PCB TTL-to-UART adapter.
Pins at the bottom of the PCB allow users to upgrade the firmware or select a different working mode, for instance to support re-broadcasting, a form of basic mesh networking.
A big thanks goes to the Ethereum Foundation for sponsoring this project under their "Run a Node" program.