![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
| × | 1 | ||||
![]() |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Components and supplies
Necessary tools and machines
![]() |
| |||
![]() |
|
Apps and online services
![]() |
| |||
![]() |
| |||
![]() |
| |||
| ||||
| ||||
| ||||
![]() |
|
About this project
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..
The AppThe PartsMisc. PicturesLegal- 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).
Code
Main Repository
Schematics
Old Schematic
To view with more detail, download the .fzz file from the fritzing project and view it in Fritzing (fritzing.org) - it's free !
I WILL NOT UPDATE FRITZING SCHEMATICS ANYMORE - MAKING NEW PARTS IS EASIER ON UPVERTER.
Latest Schematic
Comments
Author
Additional contributors
- Azure and c# tutorials by Troy Hunt
- Documentation on various breakout boards and libraries used in this project. by Adafruit Industries + ladyada
- Documentation on various breakout boards and libraries used in this project. by Sparkfun Electronics
- Arduino azure data upload code by Thomas Conté
- Detailed data on inexpensive air quality monitoring and also for slope of sharp_dust_sensor by Chris Nafis
- Arduinojson library. by Benoît Blanchon
- Write_eeprom_string repository. by Bradford Needham
- Si7021 library by jayjayuk@pjrc
- Dsm501a library by richardhmm@github
- Ms-iot sample code. by Microsoft Open Technologies, Inc.
- Sharp gp2y1010au library by Owen Kwon
Published on
March 19, 2016Members who respect this project
you might like