Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Getting Started with IoT using Azure, Windows IoT Core, and Raspberry Pi

3,060 views

Published on

This is a presentation Chris Pietschmann gave to the Milwaukee Azure (http://MkeAzure.com) group on 8/17/2016 covering where to get started building IoT solutions using Microsoft Azure, Windows IoT Core, and Raspberry Pi. No IoT solution is complete without hardware so he will be using Windows IoT Core on a Raspberry Pi 3 to read from sensors and send that data to the cloud. This presentation will cover what you need to get started building IoT solutions using the Microsoft Azure platform.

Published in: Technology
  • Be the first to comment

Getting Started with IoT using Azure, Windows IoT Core, and Raspberry Pi

  1. 1. http://BuildAzure.com Getting Started with IoT Using Azure, Windows IoT and Raspberry Pi
  2. 2. Chris Pietschmann Senior Cloud Solution Architect http://Opsgility.com ~15 years architecting enterprise systems Microsoft MVP (2008 – 2012) http://BuildAzure.com @BuildAzure
  3. 3. The Internet of Things
  4. 4. IoT Devices
  5. 5. Agenda •IoT Architecture •Raspberry Pi •Windows IoT Core •Azure IoT
  6. 6. IoT Architecture
  7. 7. Device-to-Cloud Messaging • Data Event / Messages are sent from the hardware device to the cloud • Sensor readings • Telemetry stream • Generally feeds into some kind of Message Queue for processing
  8. 8. Lambda Architecture • Data Aggregation • Real-Time Processing / Analytics • fast • Batch Processing • slow
  9. 9. Cloud-to-Device Messaging • Command / Messages sent to the hardware device • Instruction to perform an action • Turn something on: Light, Fan, Open Door, etc • Start / Stop gathering telemetry • 2-way messaging
  10. 10. MQTT Protocol • Message Queuing Telemetry Transport • Publish / Subscribe, simple and lightweight protocol • Encryption performed using SSL • Designed for low-bandwidth, high-latency or unreliable networks • Created in 1999 http://mqtt.org
  11. 11. Other Protocols • AMQP • Advanced Message Queuing Protocol • http://amqp.org • HTTP • Standard web protocol • Custom or Device Specific • Legacy or Proprietary
  12. 12. IoT Gateways • Similar to a Proxy • Provide aggregation point for device communications • Field Gateway • Low powered or simple devices may not have capacity to provide security necessary for IoT; maybe no SSL • Protocol Gateway • Provides protocol adaptation • Translates from custom / proprietary protocol to one cloud supports; like MQTT or AMQP • Offers a single security attack vector connected to Internet
  13. 13. IoT Architecture
  14. 14. Raspberry Pi
  15. 15. Raspberry Pi • Designed with the purpose to help teach Basic Computer Science in schools • Very active community building all kinds of stuff • First boards released in 2012 • Many editions have been released since http://www.raspberrypi.org
  16. 16. Raspberry Pi 2 & 3 • ARM CPU • Header with 40 GPIO Pins • Network: Ethernet, Wifi • Video: HDMI, Composite Video • Storage: Micro SD Card • 4 USB Ports • Operating System support: • Raspbian / Linux • Windows 10 IoT Core
  17. 17. Raspberry Pi 2 & 3 Raspberry Pi 2 • 900 Mhz 32-bit quad-core ARM Cortex-A7 CPU • 1GB RAM • Released Feb 2015 Raspberry Pi 3 • 1.2 Ghz 64-bit quad-core ARMv8 CPU • 1 GB RAM • Integrated: • Wifi 802.11n • Bluetooth 4.1 w/ BLE • Released Feb 2016
  18. 18. Certified for IoT Starter Kit • Adafruit Raspberry Pi Kit • Raspberry Pi 3 • Breadboard • Jumper wires • Temp, Pressure, Humidity Sensor • RGB Color Sensor • Photo cell • LEDs • Resistors • and more http://bit.ly/AzureIoTStarterKits
  19. 19. Windows IoT Core
  20. 20. Windows IoT Core • Windows 10 optimized for smaller devices • With Display or Headless • Supports Auto-update over Windows Update • Hardware Support • Raspberry Pi 2 & 3, Qualcomm DragonBoard 410c, MinnowBoard MAX FREE
  21. 21. Device UI - Dashboard • Device Name • Network & IP Address • Windows 10 Version
  22. 22. Device UI – Setup Wifi & Bluetooth • Setup Wifi • Setup Bluetooth
  23. 23. IoT Development • Universal Windows Apps (UWP) API • Same development tools for Windows 10 Desktop, Phone, Xbox, HoloLens, and Windows IoT Core • Visual Studio 2015, .NET, XAML
  24. 24. IoT Dashboard • Easily Flash SD Card • Configure Device Settings • Device name • Administrator Password • Wifi network https://developer.microsoft.com/en-us/windows/iot/downloads
  25. 25. Device Web Portal • Headless Management of Device • http://{IP Address}:8080 • Login: Administrator • Password defined when SD Card was flashed
  26. 26. Windows IoT Remote Client • Needs “Windows IoT Remote Server” turned on. • Can be done from the Device Web Portal • Available in Windows Store
  27. 27. Windows IoT Core Pro Commercial Version is available https://www.windowsforiotdevices.com/
  28. 28. Azure IoT
  29. 29. Azure IoT Suite IoT Hub Notification Hubs Stream Analytics Machine Learning Power BI
  30. 30. IoT Hub • Device-to-Cloud messaging • Support AMQP, MQTT, HTTP/1 • Cloud-to-Device messaging • 2-way communication between Cloud and IoT Device • Scalable • Supports millions of simultaneous devices • Device Management / Security • Azure IoT Gateway SDK Beta • Open Source SDK for building IoT Gateways
  31. 31. IoT Hub SDKs • Multi-platform • C • Node.js • Java • .NET • Python https://github.com/ Azure/azure-iot-sdks
  32. 32. IoT Hub Architecture
  33. 33. Notification Hub • Send Push Notifications to any platform • Mobile Push Notification, not to be confused with SMS messages • Supports All Major Platforms • iOS, Android, Windows, Kindle, Baidu • Highly Scalable • Millions of Mobile Devices and Billions of Notifications
  34. 34. Stream Analytics • Real-time stream processing • Stream millions of events per second • Can handle multiple Inputs and Outputs • Input: IoT Hub, Event Hubs, Blob Storage • Output: SQL Database, DocumentDB, Azure Storage, Event Hubs, Power BI, Service Bus Queues/Topics • Uses SQL-like query syntax for Input to Output mapping
  35. 35. Stream Analytics Architecture Stream Analytics SQL Database DocumentDB IoT Hub
  36. 36. Machine Learning • PaaS Predictive Analytics • Create Learning Models using ML Studio • Outputs Web Service that can be run on Schedule and connected to database • Add intelligence to apps or provide insights to BI tools
  37. 37. Power BI • PaaS Service • Create Interactive Reports • Easily embed BI and analytics within apps
  38. 38. Other PaaS Services
  39. 39. App Service Web Apps • Platform as a Service (PaaS) • Host Web Applications • ASP.NET, Node.js, PHP, Java • Foundation for other services • API Apps • Mobile Apps • Functions
  40. 40. Azure Functions • Server-less • Well not really, actually built on top of App Service Web Apps • Language Support: • C# and Node.js • Isolated Function of Code • Run on Schedule or Trigger
  41. 41. Service Bus Queue • Message Queue • First In, First Out • Enable loosely coupled applications • More robust than Storage Queues
  42. 42. DocumentDB • NoSQL document database • JSON documents • Schema-free • Highly scalable • SQL query syntax
  43. 43. Demo
  44. 44. Raspberry Pi GPIO http://bit.ly/RPiHeaderPins
  45. 45. Connect Temperature Sensor • Adafruit BME280 • Temperature, Humidity, Barometric Pressure • Connect to I2C bus on header pins 3 and 5 http://bit.ly/RPWeather3
  46. 46. Connect LED • Blue LED • 220 Ohm Resistor • Connected to GPIO 4 • Located on Header Pin 7
  47. 47. All wired up
  48. 48. Demo Hardware
  49. 49. Demo Architecture UWP App / Raspberry Pi IoT Hub Stream Analytics DocumentDB Function Service Bus Queue
  50. 50. Demo: Into the Code and Portal
  51. 51. More Information • http://hackster.io/microsoft • http://adafruit.com • http://BuildAzure.com @BuildAzure
  52. 52. Thank you to our sponsor

×