Book Image

Azure IoT Development Cookbook

By : Yatish Patil
Book Image

Azure IoT Development Cookbook

By: Yatish Patil

Overview of this book

Microsoft’s end-to-end IoT platform is the most complete IoT offering, empowering enterprises to build and realize value from IoT solutions efficiently. It is important to develop robust and reliable solutions for your organization to leverage IoT services. This book focuses on how to start building custom solutions using the IoT hub or the preconfigured solution of Azure IoT suite. As a developer, you will be taught how to connect multiple devices to the Azure IoT hub, develop, manage the IoT hub service and integrate the hub with cloud. We will be covering REST APIs along with HTTP, MQTT and AMQP protocols. It also helps you learn Pre-Configured IoT Suite solution. Moving ahead we will be covering topics like:-Process device-to-cloud messages and cloud-to-device messages using .Net-Direct methods and device management-Query Language, Azure IoT SDK for .Net-Creating and managing, Securing IoT hub, IoT Suite and many more. We will be using windows 10 IoT core, Visual Studio, universal Windows platform. At the end, we will take you through IoT analytics and provide a demo of connecting real device with Azure IoT.
Table of Contents (10 chapters)

Device firmware updates

The backend app is responsible for initiating a firmware update for the device through a direct method that it can run on the IoT device. The device then acts and downloads the firmware file, runs the firmware update, and finally reconnects to the IoT Hub service. Throughout the process, the IoT device uses the reported properties to update the progress and status of the device.

How to do it...

In this topic, we are going to create a C# simulator, which will use the device twin and direct methods to send the firmware update to device:

  1. Create C# console IoT application.
  2. Add a Azure.Devices package for NuGet.
  3. Trigger the remote update to update the device firmware:
client = ServiceClient.CreateFromConnectionString...