LoRaHomeDongle is a USB adapter which enable bridging a lora home network and software applications (home automation). It is acting as the lora home gateway of the network, sending and receiving lora home packet over USB. It is intended to be used with LoRa2MQTTpy service simplifing software application integration with MQTT.
The dongle is managing the data link layer of the lora home communication protocol. The main features are:
- handle RX packets (check data integrity with a checksum, reply with ACK is any required, forward packet over USB uart)
- handle TX packets (receive packet over the uart, add checksum, and send them over lora)
- report its status with hearbeat system messages sent over uart
- provide a setting interface with system messages (lora communication, lora home network id)
ESP32 based hardware with a semtech SX12xx lora based communication module. Typically Heltec LoRa 32 or TTGO LoRa32.
The repository contains a PlatformIO project. VSCode IDE shall be used with PlatformIO extension. LoRaHomeDongle is leveraging Arduino framework, and FreeRTOS as underlying framework.