nRF24L01 Windows 10 IoT Core Field Gateway #AdafruitIO #IoTuesday
From Bryn Lewis on Hackster.io:
For school Internet of Things(IoT) projects, I needed a robust field gateway for uploading telemetry data from a number of “cheap n cheerful” sensor nodes.
The distances involved were modest 5M (indoors) to 600M (outdoors) so a mix of Low & high power nRF24L01 wireless modules looked like a suitable choice.
After looking at several Cloud IoT Services AdaFruit.IO looked like it had sufficient flexibility and a reasonable pricing model. The security model (Feb 2018) with a shared API Key will have some challenges in wider scale deployments
Initially, I was going to use the Adafruit.IO MQTT interface but have found that getting an HTTP endpoint (fine for telemetry) white-listed in a school environment is easier.
While reading the AdaFruit.IO API documents I noticed that they have published a swagger definition of the API so I used NSwag to generate a C# client. I added a partial class with a single method to put an HTTP Header with the AdaFruit.IO API Key (see AdaFruit.IO.Swagger\APIKey.cs for details) on every request.
The field gateway hardware is Raspberry PI 2/3 based with an “off the shelf” shield (with some simple modifications).
The Field Gateway configuration is stored in a JSON file (a sample file is provided in the Github repo).
Edit [2018-03-10] application now generates an empty configuration file when first run so the one on GitHub is no longer required.
Here at Adafruit, we sell all of these amazing components, but we couldn’t find a good way to interact with them over the internet. There are certainly a lot of great services out there for datalogging, or communicating with your microcontroller over the web, but these services are either too complicated to get started, or they aren’t particularly fun to use. So, we decided to experiment with our own system, and that is how Adafruit IO got started.
To make it easy for people to get started using Arduino or ESP8266 we have starter packs with just about everything you may want to connect to the internet, with known-working WiFi modules! ESP8266 Huzzah Kit CC3000 Huzzah Kit
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.