AdaFruit.IO Windows 10 IotCore Field Gateway for LoRa capable devices
A Windows 10 IoT Core application based on my @RFM9X Library for uploading telemetry data from RFM9X/SX127X equipped devices to an @AdaFruit.IO
The field gateway currently supports these shields
RPIZero Shield from @Uputronics
RPIPlus Shield from @Uputronics
LoRa Radio Bonnet from @Adafruit
I have sample client applications which show how to send telemetry from
- @Arduino using Dragino, elecrow and MakerFabs shields
- @Netduino using Dragino, elecrow and MakerFabs shields
- @Maduino
- @IoTNet
- @IoTMCU915
- @AdaFruit Feather M0
- @Elecrow 32u4 with LoRa RFM95 IoT Boatd
- @M2M Low power LoRaWan Node Model A328
- @M2M Low power LoRaWan Node Model B1284
- @Wisen Whisper Node LoRa
- @Dragino LoRa Mini Dev
- @SparkFun Pro RF LoRa 915MHz
- @Motenino M0
- @Arduino MKR1300 WAN
- @Arduino Nano with EasySensors RFM69/95 Shield
- @Wisen Whisper Node-LoRa 915MHz
An empty configuration file is created the first time the application is run. A minimal configuration file has the device address, the Azure Device Client transport protocol, and the centre frequency.
{
"AdaFruitIOUserName": "——",
"AdaFruitIOApiKey": "——",
"AdaFruitIOGroupName": "——",
"Address": "——",
"Frequency": 915000000.0,
}
The application has been tested with 433MHz and 915MHz devices and stress tested will a number of clients
The "SensorIDIsDeviceIDSensorID" flag concatenates the deviceID and SensorID together so the device can work with Azure IoT Central.
The packet format is detailed in these blog posts @IoTCore and @NetMF. It was intentionally kept simple to make it easier for students to use and debug.
Future proposed enhancements include
- Cloud to device messaging (MSMQ Field gateway)
- OTA device provisioning
- OTA Data encryption
- Support for other Windows 10 IoT Core devices e.g. Dragon Board 410C
- Support for other SX127X/RFM9X shields/plates/mezzanine boards