LoRaLite is a lightweight library for building a LoRa-based communication network using ESP32 devices with LoRa transceivers, without needing a LoRa Gateway. It supports managing peer devices (auto-pairing), handling file transfers (chunked transfers), and configuring devices as either master or slave.
This one-to-many architecture allows only the master to initiate communication, ensuring collision management and network congestion control due to LoRa transceiver limitations.
git clone https://github.com/qiweimao/LoRaLite.git
cd LoRaLite
LoRaLite.h
lora_user_settings
with necessary parameters:
LORA_RST
, DIO0
, LORA_SCK
, LORA_MISO
, LORA_MOSI
, LORA_SS
enum UserMessageType
CHUNK_SIZE
, ACK_TIMEOUT
, POLL_TIMEOUT
enum UserMessageType
. Handlers should exit quickly to avoid blocking incoming packet processing. Use tasks for longer operations.The master automatically creates a node
folder at the root of the SD card. For each new peer (slave), a folder using its device name is created inside node
. Handlers can request data or files from the slave, storing them in the respective folder on the master device's SD card.
Refer to the examples
directory for sample code demonstrating the setup and usage of different components in the LoRa network.
This project is licensed under the MIT License.