LoRaLite - Gateway Architecture
Explain how the master node performs scheduled tasks such as polling data, time synchronization, and configuration verification. Additionally, it handles web API commands triggered by a flag. The main control loop checks the current time and executes tasks at specified intervals, ensuring efficient coordination and communication within the network. The implementation includes a flow chart for clarity and detailed steps for setting up time synchronization and task scheduling.
LoRaLite - File Transfer
In this post, we explore a rough protocol for transferring large files over LoRa using ESP32 devices. The protocol involves sending metadata, file chunks, and an end-of-transfer message, with acknowledgment handling to ensure reliable transmission.
LoRaLite - Structured Messages
Explore how to send and receive structured messages using LoRa with ESP32 devices. Instead of sending simple strings, we use structs to include a MAC address for identification, extraction instructions, and a payload. By using an enum to declare message types and identifying the message type with the first byte (msgType), we eliminate the need to include message length in the transmission.
LoRaLite - The Delicacy of LoRa.onReceive()
When developing with the ESP32 or Arduino, using the LoRa.onReceive function requires careful handling due to its operation within an interrupt context. Interrupt Service Routines (ISRs) in the ESP32 have stringent requirements and limitations. Performing complex or time-consuming tasks within an ISR can lead to various issues, including crashes and reboots.
LoRaLite - Build a LoRa Network With Transceivers Only
Learn the difference between LoRa and LoRaWAN and how to set up a cost-effective LoRa network with ESP32 devices and transceivers. This guide covers the limitations of a no-gateway setup and provides solutions for timing coordination, avoiding conflicts, and assigning unique identifiers. Includes practical examples and code snippets using the Arduino LoRa library to help you implement your own LoRa network.