Building NextGen IoT solutions using Python and Cloud
Saurabh Kirtani (~saurabh2) |
In this workshop, we will use we will use Raspberry Pi B+ running Linux, connect various sensors to it – such as temperature, ultrasonic, and light sensor - and leverage the power of Python to push the sensor/IoT data on to the Cloud. In practical scenarios, the same setup can be extended to millions of devices through a number of different sensors. However, the bigger challenge resides in successfully collecting and analyzing the data from these devices in real-time. For this, we will leverage the power of Cloud to do real-time analytics. We will divide the entire walk-through into 4 main parts:
• getting started with Python on Raspberry Pi running Linux – 15 mins
• capture data from multiple sensors – 45 mins
• post the device data to cloud – 30 mins
• perform real-time analytics using Stream Analytics – 45 mins
The remaining time will be allocated for Q&As.
Raspberry Pi is a single board computer, which is broadly used in the learning industry and creating prototypes. It's a pretty well known board due to its capabilities, and in addition to it, cheap cost. Time permits, we will also use another development board, Intel - Galileo for deploying the same code there.
We would leverage Arduino Uno which would read sensor data and pass it on to the Raspberry Pi/Galileo. We would use Sparkfun Weather Shield (Sensor Kit) for the same, which is an Arduino compatible shield. We will use the Gateway Architecture, connecting Arduino to Raspberry Pi/Galileo which in turn will setup a secure Data communication with the cloud.
Please read the prerequisites before coming to this workshop.
Attendees of this workshop are requested to bring in their own hardware - Raspberry Pi B+, Arduino Uno board with a weather shield, stackable headers, USB A to B cable to connect the Arduino to the Raspberry Pi (should be USB 2.0). More details available here
There will be only 3-4 hardware setups made available in the workshop, so attendees are strongly requested to get the hardware.
We will be using this Github repo for the workshop.
Also, if time permits, we will implement this on Galileo as well, where we will use this library to get started.
The draft of this workshop is available in these slides.
Abhishek Narain – Technical Evangelist, Microsoft
As a Technical Evangelist, Abhishek helps developers adapt to the latest technologies. He is a Devices and gadget enthusiast and loves exploring various boards. Previously, he was a consultant at Microsoft focused on Web stack, Azure, Cross-Platform Client Dev, and Game development. He is a regular speaker at Technology Conferences – TechEd, User Groups, OSI days, Droidcon, etc. Prior to Microsoft, Abhishek was working at Infragistics – a leading UI/UX company. He has worked extensively on HTML5 and was awarded the Microsoft MVP award for his contributions on Client Web Technologies, while working outside Microsoft.
Saurabh Kirtani – Technical Evangelist, Microsoft
As a Technical Evangelist, Saurabh Kirtani has worked majorly on technologies such as Azure, IoT-based solutions, game dev by Unity and client-side web dev (responsive design, JS, jQuery, HTML/CSS3). He has been a regular speaker at various developer camps and conferences such as TechEd, Azure Conference and GIDS. Other than technology, he likes to follow cricket and lawn tennis, watch comedy/suspense TV shows, and spend time on Quora.