Search icon
Cart icon
Close icon
You have no products in your basket yet
Save more on your purchases!
Savings automatically calculated. No voucher code required
Arrow left icon
All Products
Best Sellers
New Releases
Learning Hub
Free Learning
Arrow right icon
Over 7,000 tech titles at $9.99 each with AI-powered learning assistants on new releases
Azure IoT Development Cookbook
Azure IoT Development Cookbook

Azure IoT Development Cookbook: Develop and manage robust IoT solutions

By Yatish Patil
$35.99 $9.99
Book Aug 2017 254 pages 1st Edition
$35.99 $9.99
$15.99 Monthly
$35.99 $9.99
$15.99 Monthly

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Buy Now

Product Details

Publication date : Aug 11, 2017
Length 254 pages
Edition : 1st Edition
Language : English
ISBN-13 : 9781787283008
Vendor :
Category :
Table of content icon View table of contents Preview book icon Preview Book

Azure IoT Development Cookbook

Getting Started with the Azure IoT Platform

In this chapter, you will learn the following recipes:

  • Creating Azure IoT Hub from the portal
  • Creating Azure IoT Hub from the Command Prompt
  • Creating Azure IoT Hub from PowerShell
  • Understanding the Azure IoT Suite
  • Using Azure IoT SDK
  • Calculating the pricing of IoT Hub


IoT is the next revolution in computing and is truly the first step toward a digital business. Connected sensors, devices, and intelligent operations can transform businesses and enable new growth opportunities. A critical part of IoT is cloud-based solutions that enable you to connect, secure, and manage IoT devices, as well as providing deep insights from IoT data. Microsoft Azure is an all-in-one IoT platform which provides ways to implement end-to-end IoT solutions.

The recipes in this chapter will primarily focus on getting you started with the Microsoft Azure IoT platform, understanding the IoT lifecycle, and each phase of the IoT solution, followed by which, we will also consider how to create an IoT Hub and how the IoT Hub endpoints work. You will also be introduced to the Azure IoT Suite introduction. We will go through the sizing of different IoT Hub instances and will end with pricing calculations for IoT Hubs. IoT Hub is a central connection point for IoT devices and IoT solution, the features Hub supports are IoT specific.

Getting started with the Microsoft Azure IoT platform

Microsoft Azure supports connectivity, data ingestion, storage, to analytics using a diverse set of cloud offerings. One can easily adopt the Microsoft platform for reliable and secure IoT device-to-cloud communication when you build any IoT solution.

Azure IoT Suite image from Microsoft documentation

Components of the IoT platform

Today, IoT is described using various definitions; however, it essentially consists of four basic areas:

  • Things: Any physical thing, such as line-of-business assets, including industry devices or sensors
  • Connectivity: Those things that have connectivity to the internet
  • Data: Those things that can collect and communicate information – this information may include data collected from the environment
  • Analytics: The analytics that come with the data produce insight and enable people or machines to take actions that drive business outcomes

Microsoft's IoT platform's core foundation is the Azure cloud platform; it has a set of services to help companies achieve the benefits of implementing an IoT strategy. Microsoft's Azure IoT services are a set of IoT capabilities, outlined in the following, enabling enterprises to build and realize value from IoT solutions quickly and efficiently. As part of core IoT offerings, Microsoft Azure IoT services enable Microsoft to meet the customers wherever they are in their IoT journey – whether they are focused on where to start, or are ready to scale IoT scenarios which will transform their digital business.

The Azure IoT approach to providing such an IoT platform is built on three foundational pillars. These IoT services set Microsoft apart from other vendors – no other vendor delivers the breadth of capabilities, enterprise level service, and scale that Microsoft does.

  • Comprehensive technology: The most comprehensive set of IoT technologies, to help customers connect, analyze, and act on insights
  • Enterprise focus: The services are built on an enterprise grade cloud that take advantage of all the scalability and security features we have enabled in our cloud
  • Global scale: By leveraging Azure IoT services, customers can seamlessly scale from Proof of Concept (PoC) to global deployment on Microsoft's hyper-scale worldwide infrastructure

Microsoft Azure IoT platform

The IoT solutions offered by Microsoft Azure are broadly divided into two categories. These are Azure IoT Suite and Azure IoT Hub. IoT solutions, including Azure IoT Suite and Azure IoT Hub, harness the power of our full cloud, data and developer offerings for the enterprise to provide hyper-scale IoT services, rich data and analytics, and deep integration. The IoT Suite is generally used by developers to build custom solutions using IoT SDKs. Microsoft Azure IoT SDK are open source are easily available to download from GitHub. It supports various language like C#, Node.JS, C, and Java. you can use any machine which is capable of development with these technologies.

The Azure IoT offerings are customizable to fit the unique needs of organizations. It will provides finished applications to speed deployment of common scenarios we see across many industries. Some example of such common scenarios are remote monitoring, asset management and predictive maintenance. It can grow and scale solutions to millions of things. The Azure platform provides a simple pricing model while providing a rich set of capabilities, so companies can plan and budget appropriately. This approach is aimed at simplifying the complexities that often exist with implementing and costing IoT solutions. Along with this, Microsoft and its partners also provide a workshop in which one can identify IoT scenarios, and at the end of this workshop, they can decide to work on common goals. These workshops have various stages starting right from business problem identification, implementing PoC, to development and trials with organizational readiness and implementing it across an organization to achieve the business outcome following the path for the digitization of the business.

Developers can start building custom solutions using IoT Hub or get started quickly with the comprehensive pre-configured solutions of Azure IoT Suite (which includes Azure IoT Hub). This book will focus mostly on Azure IoT Hub and IoT Suite.

Creating Azure IoT Hub from the portal

Microsoft Azure is a leading PaaS service provider. The Azure IoT Hub is nothing but a fully managed service that enables secure and bidirectional communication with millions of IoT enabled devices using IoT protocols such as HTTPS, AMQP, and MQTT. It helps to connect, control, and manage these devices. Microsoft Azure provides easy-to-easy IoT SDK, which are available in various languages, such as C#, C, Node.js, and so on.

Getting ready

Azure IoT Hub provides:

  • Device identity and registry
  • Device-to-cloud and cloud-to-device communication, including one way or bidirectional
  • It also supports file transfer messages
  • We can query the device store information to find out device properties, firmware versions, and other configurations
  • SDK for most platforms and languages to support development
  • Secure authentication on a per-device basis
  • Monitoring for devices and messages

Azure IoT Hub diagram from Microsoft Azure documentation

How to do it...

To create your first IoT Hub, you will need a Microsoft Azure account. You can easily get registered on

Once you have access, you can follow the steps to create your IoT Hub:

  1. Log in to
  2. Once you are logged in, click on the New menu:
  1. This blade will show all the Azure services available, we need to expand the Internet of Things and hit the IoT Hub, as shown in the following:
  1. This will come up with a new blade, where we need to fill in the details and hit the button to the create IoT Hub:
    • We will give the Name as IoTHubCookeBook
    • Pricing and scale tier should be F1 - Free
Microsoft Azure provides free tier. This is useful for learning, as well as to evaluate any PoC on how the IoT solution will be developed.
  1. We will select the data center of our choice from the list of the many available.
  2. Partitions: A default value is set when the IoT Hub is created. You can change the number of partitions through this setting:
  1. Hit the Create button and Azure will create the free tier IoT Hub for you in a moment:

Creating Azure IoT Hub from the Command Prompt

How to do it...

In this section, let's look at creating an IoT Hub using CLI:

  1. Open the Command Prompt within administrator mode.
  2. Use the login command in Command Prompt:
azure login
  1. It will ask you to login using a web browser with the link displayed in the Command Prompt:
Login command
  1. The web link will validate the code generated in Command Prompt:
Login authenticate through web
  1. Once you successfully log in, it will show a message on the browser and you can go back to the Command Prompt for your work:
Login validated successfully
  1. Now, select the account with which you want to work and create the IoT Hub:
azure account set “Visual Studio Enterprise”
Select Azure account
  1. Now, we need to create a resource group, which this IoT Hub will be a part of:
azure group create -n MyBookIoTHub -l westus
  1. We use the following command to create a new IoT Hub using the Command Prompt:
azure iothub create -g MyBookIoTHub -n MyBookIoTHub -l westus -k s1 -u 1

In the preceding create IoT Hub command, the parameters are resource group, IoT Hub name, location, instance size, and unit.

Creating Azure IoT Hub from PowerShell

How to do it...

Let's look at this section to create IoT Hub using PowerShell:

  1. Open PowerShell in administrator mode:
Start PowerShell in administrator mode
  1. Once the PowerShell window is ready, log in to the Azure account using the command:
Login to Azure account
  1. If you have only one Azure subscription, then you are good to go.
  2. If you have multiple subscriptions, first we need to select the subscription which we need to work on.
  3. To view a list of all the available Azure subscription for your work use the following command:
  1. Select the subscription with the command, (in my case it is Visual Studio Enterprise):
Select-AzureRMSubscription -SubscriptionName "{subscription name}"
Select the Azure account to work with
  1. Before we create the IoT Hub, we need to create a resource group, which this IoT Hub will be a part of.
  2. The command to create a new resource group is the following:
New-AzureRmResourceGroup -Name MyBookIoTHub -Location "West US"
Add new resource group
  1. We will create the IoT Hub using the following command:
New-AzureRmIotHub `
-ResourceGroupName MyBookIoTHub `
-Name MyBookIoTHub `
-SkuName S1 -Units 1 `
-Location "West US"
Azure IoT Hub created
  1. You can log in to the Azure portal and view the newly created IoT Hub:
IoT Hub list view
  1. To view the available IoT Hub in your account, use the command:
  1. To delete an existing IoT Hub, use the following command:
Remove-AzureRmIotHub `
-ResourceGroupName MyBookIoTHub `
-Name MyBookIoTHub

Understanding the Azure IoT Suite

The Azure IoT Suite is a set of Azure services that provides you with a complete solution which helps with the following:

  • Collecting data from devices
  • Analyzing data streams in-motion
  • Storing and querying large datasets
  • Visualizing both real-time and historical data
  • Integrating with backend systems
  • Managing your devices

IoT Suite architecture from Microsoft Azure documentation

The Azure IoT Suite can connect with a broad range of devices with the help of IoT SDKs. The data generated by devices can be any operational data.

These devices can send that data to the Azure IoT Hub using the Azure IoT cloud gateway. The IoT solution backend receives, processes, and stores the data from these devices. The Azure IoT and Power BI enables you to analyse the data and present it in the form of dashboards or Power BI reports.

How to do it...

We will understand pre-configured solutions in this section:

  • What is a pre-configured solution?
  • How remote monitoring works
  • How predictive maintenance works
  • How connected factory works

How it works...

Microsoft helps companies to take advantage of IoT to transform business outcomes by providing pre-configured solutions under IoT Suite, a common IoT solution pattern to reduce the time for initial base development. This is comprised of multiple Azure services which are a part of the Microsoft IoT platform. The source code is also available on GitHub, using which, one can customize the solution as per specific business scenarios.

Pre-configured solutions

Azure IoT Suite provides two common IoT solution patterns. Each solution is end-to-end, built along with the simulator to generate the telemetry data. These solutions give you the starting point for your IoT case, as well as a lesson on how a common IoT scenario works.

Microsoft Azure IoT provides three common scenarios in the form of pre-configured solutions with IoT Suite:

Remote monitoring: This preconfigured solution connects and monitors devices. Once we deploy the remote monitoring suite on Azure subscription, it also provides a simulator and these simulated devices will keep on generating data for these devices. Once the data is ingested, it will be processed against a set of rules and the data will then be presented on the dashboard. It uses a Bing map to show the live location of the devices.

Predictive maintenance: Predictive maintenance is another common IoT scenario. This solution, once deployed, starts automatically simulating the data. It also provides a predictive model, which is helpful in the case of asset maintenance. In Chapter 6, IoT Suite and Pre-Configured Solutions, we will be creating pre-configured solutions.

Connected factory: When you deploy the connected factory pre-configured solution, this solution is built with a common industrial scenario. In this scenario, factories can be connected to the solution, thus reporting the data values required to find out overall equipment efficiency (OEE) and key performance indicators (KPIs) for the factory operations. The following sections show you how to:

  • Monitor factory, production lines, station OEE, and KPI values
  • Analyze the telemetry data generated from these devices using Azure Time Series Insights
  • Act on alerts to fix issues

It also provides the dashboard view for these actions and operations as a part of this solution.

Using Azure IoT SDK

Azure provides SDK for the device side as well as the PaaS services which are a part of its IoT stack. Microsoft Azure IoT SDK are open source are easily available to download from GitHub. It supports various language like C#, Node.JS, C, Java. you can use any machine which is capable of development with these technologies.

Azure IoT device SDK, which runs on the IoT device side enables the device for communicating with the IoT Hub. It uses the protocols available. The application deployed on the device then sends the telemetry data to cloud. For this purpose, the device needs to be registered with the IoT Hub as well. These SDKs also help run the bidirectional commands which make it easy to control and manage the device.

Getting ready

Currently these IoT device SDKs support different programming languages, such as ANSI C using .NET C#, and for Java, Node.js and Python as well.

Likewise, these SDKs also support various OS and platforms on which we can develop the applications. Microsoft has made these SDKs portable on any platform and OS. By making these SDKs open source, they are readily available for download on GitHub to make any customization as per your needs.

How to do it...

Azure IoT service SDK provides the code that is used in building an IoT application that directly works with the IoT Hub. It will enable you to manage devices, read messages sent by devices, or even send commands to devices to control actions at the device end.

The GitHub URL to download these open source SDK's are:

Azure IoT gateway SDKs are used to simplify the connectivity to IoT Hub when we have scenarios which vary drastically between industries, and even between customers within the same industry. The Azure IoT gateway SDK can be used to implement custom-made IoT solutions for your scenario. The device SDKs can be used to implement an IoT client that facilitates connectivity to the cloud. It simply uses the supported communication protocol, it will extract and process the data using the protocol supported before sending it to the cloud.

See also

Calculating the pricing of IoT Hub

IoT Hub is offered in four editions: Free, S1, S2, and S3. IoT Hub is generally available. In this section, we will understand the different instance sizes and will apply a calculation to find the pricing of IoT Hub. This will help you to identify the right size, and right cost for your IoT solution.

Getting ready

The pricing table based on Microsoft Azure IoT Hub pricing is as follows:




Message size


$ 0


0.5 KB


$ 50


4 KB


$ 500


4 KB


$ 5,000


4 KB

How to do it...

To find out the what will be the price based on the IoT solution needs we will use the pricing calculator provided by Microsoft Azure:

  1. The price is per size of the IoT Hub instance.
  2. First find out the size and units per size required.
  3. First use the following link to go to Azure pricing calculator:

  1. Now select the Azure service for which you want to estimate the price, in our case it is IoT Hub:
Select the service for estimation
  1. Once you have selected IoT Hub service, it will show the estimation area:
IoT Hub selected for price estimation
  1. Select the IoT Hub tier based on the number of messages per day capability you want to build in your IoT solution:
Select the IoT Hub tier
  1. Select the number of units required to full fill your requirement amount of messages per day:
Set the units for selected tier
  1. I have selected S1 tier with 2 units. It will support 800 k messages per day at $100.

There's more...

Let's consider an example to understand how the pricing works.

A device ingests the 1 KB device-to-cloud message size data per minute to the IoT Hub. The solution backend invokes a method (with 512 bytes of payload) on the device every ten minutes to trigger a specific action. The device responds to the method with a result of 200 bytes.

The device consumes 1 message * 60 minutes * 24 hours = 1440 messages per day for the device-to-cloud messages, and 2 requests plus responses * 6 times per hour * 24 hours = 288 messages for the methods, for a total of 1728 messages per day.

See also

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • •Build secure and scalable IoT solutions with Azure IoT platform
  • •Learn techniques to build end to end IoT solutions leveraging the Azure IoT platform
  • •Filled with practical recipes to help you increase connectivity and automation across IoT devices


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.

What you will learn

• Build IoT Solutions using Azure IoT & Services • Learn device configuration and communication protocols • Understand IoT Suite and Pre-configured solutions • Manage Secure Device communications • Understand Device management, alerts • Introduction with IoT Analytics, reference IoT Architectures • Reference Architectures from Industry • Pre-Configured IoT Suite solutions

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Buy Now

Product Details

Publication date : Aug 11, 2017
Length 254 pages
Edition : 1st Edition
Language : English
ISBN-13 : 9781787283008
Vendor :
Category :

Table of Contents

10 Chapters
Preface Chevron down icon Chevron up icon
1. Getting Started with the Azure IoT Platform Chevron down icon Chevron up icon
2. Introducing Device Management Chevron down icon Chevron up icon
3. IoT Hub Messaging and Commands Chevron down icon Chevron up icon
4. Azure IoT Communication Protocols Chevron down icon Chevron up icon
5. Azure IoT Hub Security and Best Practices Chevron down icon Chevron up icon
6. IoT Suite and Pre-Configured Solutions Chevron down icon Chevron up icon
7. Azure IoT Analytics Chevron down icon Chevron up icon
8. Using Real Devices to Connect and Implement Azure IoT Hub Chevron down icon Chevron up icon
9. Managing the Azure IoT Hub Chevron down icon Chevron up icon

Customer reviews

Filter icon Filter
Top Reviews
Rating distribution
Empty star icon Empty star icon Empty star icon Empty star icon Empty star icon 0
(0 Ratings)
5 star 0%
4 star 0%
3 star 0%
2 star 0%
1 star 0%

Filter reviews by

No reviews found
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial


How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to
  • To contact us directly if a problem is not resolved, use
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.