IoT with Windows 10
In this chapter you will get a short overview if what IoT is, and what you can do in IoT with Azure and Windows 10.
- Windows 10 for IoT
- Windows 10 Universal apps
- Azure IoT offerings
Using Platform-specific functionalities
How are Windows 10 Universal apps able to use platform-specific functionalities? An XBox can have a Kinect-sensor,
an IoT-device can have sensors for heat, humidity, light, etc..., which are not available on a PC. You will learn how to create a universal app
that can run on all Windows 10 devices, but can still use functionalities only available on one of these Windows 10 device-families.
- Using the Extensions SDK
- Writing adaptive code for different devices
Sensors and services
In this module you will learn how to get information from your sensors. You will focus on the most common ones
like the Locationsensor, gyroscope and webcam.
- Determining your position with the Accelerometer
- Using the GeoLocationWatcher
- Using the Compass and Gyro
- WebCam and microphone
- The virtual Motion-sensor: combining the existing sensors with a bunch of math
- Checking the status of your device
Reading external IoT Sensors
There are many different sensors that an IoT device can use, and there is not an api for every one. You will need to use a more generic way of reading
and controlling sensors.
- Headed and Headless apps
- Using General Purpose I/O Ports
- Using I2C : Inter-integrated circuits
- Using SPI : Serial Peripheral Interface
- LAB: Reading out a DHT11 temperature sensor
Azure Event Hubs
In this module you will learn how to process the data sent by your devices by using
Event Hubs, a hyperscaled service for collecting and ingesting millions of events.
- Receive telemetry from millions of devices
- Consuming Event Hub data
- Capacity and Security
- LAB: Sending telemetr to an Azure Event Hub
Azure IoT Hubs
Azure IoT hubs allows you to easily and securely connect your IoT devices to the cloud.
IoT devices can use the IoT Hub for sending information, but also for receiving commands and notifications.
- per-device authentication
- Event-based device-to-cloud ingestion
- cloud-to-device messaging (sending commands)
- Keeping the state of your devices with Device Twins
- LAB: D2C and C2D communication with IoT Hubs
After ingesting the telemetry from your IoT devices, you need to analyze the data.
Stream Analytics allows you to analyze streams of data in real-time using a SQL-like language.
This makes it possible for detecting anomalies, checking conditions and displaying real-time data in a portal.
- Real-time analytics and event handling
- Telemetry and Dashboards
- Connecting inputs and outputs
- Analyse data with Power BI
- LAB: Setting up Stream Analytics
Stream Analytics is a great tool for analyzing what is happening, based on your IoT telemetry.
But it would even be better if we could predict what is probably going to happen.
Machine Learning gives you Artificial Intelligence for analyzing and detecting patterns in your data, allowing it to predict the future outcome.
- Predictive analytics with Machine Learning
- Creating predictive models in Machine Learning Studio
- Model Training and Evaluation
- LAB: setting up an automated ML model
Creating full solutions using IoT Solution accelerators and IoT Central
Creating a full IoT solution, including code running on devices, ingestion and analysis of data, predictions, etc... can be a
complex and time-consuming job. The IoT suite allows to quickly set up everything needed for some typical IoT scenarios.
- The Remote Monitoring Solution
- The Connected Factory Solution
- The Predictive Maintenance Solution
- Test your IoT solution with device simulation
- Set up IoT solutions with IoT Central
Azure IoT Edge
Using the cloud for A.I. gives you the full power of the cloud like scalability and flexibility. But if you need to use it for making split-second decisions, then you have to deal with latency. IoT Edge allows you to deploy A.I. locally in IoT devices.
- The IoT Edge Runtime
- Supported platforms
- Simulating an Edge Device
- Creating Edge Modules
- Deploying Machine Learning as an Edge module
- Storing data at the edge