This project consists of an Arduino, a UWP app and an Azure service.
Arduino sends all it's data over HTTP to the app service instance, which stores it in a database (easy tables), and the records are retreived on the UWP app using the app service SDK.
Since my AVR based mega was too slow for TLS and didn't have space for a certificate, I had to settle on HTTP.
I considered using MQTT - but I didn't find any well documented broker written in C#, then looked at CoAP, when I realized, app service was only intended for HTTP traffic on port 80 and 443.
Json is not the most efficient data transport, seems like a crazy way to do it. But it meets the target performance and also shows that there is always a quick hack for everything..
If you are experience enough then you can set it all up (minus the sensors, etc) in less than 6 hours, because using "easy tables" is really easy (since it has a http api) and using the SDK for a UWP app (with a wonderful language like C#) is easy too.. And you won't have to deal with marshalling and all since the json libraries on the arduino and .net are both easy to use, allowing for a flexible schema..
Why didn't I go NoSQL ? T_T
1 / 2 • Fetching essential weather data. I could fetch the Gas Sensor data as well, but that is useless unless I start processing data in ppm which will require more sampling than the Mega can handle and lab calibration too.
1 / 13 • All the electronic modules required for this project.
1 / 2 • 1 : testing some of the components for first time
- This project uses Microsoft trademarks under the Contest Rules which states:
You may include Microsoft trademarks, logos, and designs, for which Microsoft grants you a limited license to use for the sole purposes of submitting an entry into this Contest.
And for the rest:
This project documentation is licensed under CC0 (including all images except the images using Microsoft trademarks).