The Internet of Things is here and it has brought tremendous new opportunities, and tooling learning requirements, with it. This course will introduce you to Azure IoT Hub and teach you how to build both device-side and cloud-side solutions.
The Internet of Things, commonly known as IoT, is a tremendous opportunity with the potential to disrupt virtually all other industries. Companies that can bring new solutions to market quickly will have a distinct advantage in this changing landscape. In this course, Azure IoT Hub for Developers: Getting Started, you will learn how Microsoft Azure IoT Hub can help you quickly build robust, scalable IoT solutions. First, you will learn the basics of Azure IoT Hub and how it addresses common IoT challenges. Next, you will use Microsoft's IoT client SDK to build a .NET Core device application. After that, you will learn how to use Azure IoT Hub to send and receive messages, both on the device side, and on the cloud side. Finally, you will see how you can deploy your solutions in the cloud and benefit from other Azure capabilities. When you have completed this course, you will have the foundation you need to build Azure IoT Hub as you capitalize on the Internet of Things. Software required: Visual Studio 2015 and up, NodeJS, .NET Core, Azure IoT Hub SDK.
Matt is a Senior Software Architect specializing in ASP.NET web application architecture and development. He is also an avid testing practitioner and is the creator of two open-source testing frameworks. When he isn’t writing code, he’s often busy writing about code or helping others improve their own development skills.
Course Overview Hi everyone. My name is Matt Honeycutt, and welcome to my course, Azure IoT Hub for Developers: Getting Started. I am an independent software developer that helps companies around the world build solutions on Microsoft technologies. I have nearly two decades of experience building enterprise applications, and I've spent the last several years focused on solutions for the Internet of Things. The Internet of Things is all about connecting things to the internet, enabling new solutions for all sorts of devices, from the lightbulbs in your home to equipment on a factory floor. IoT as the Internet of Things as commonly known, is predicated to enable roughly 2 trillion dollars in productivity improvements by 2022. That's a big opportunity. In this course, we're going to learn about Microsoft Azure IoT Hub as we build a solution for a fictional theme park operator. Some of the major topics that we will cover include creating an Azure IoT hub, connecting a virtual device to the cloud using. NET Core, sending, receiving, and processing messages, and deploying to Azure. By the end of this course, you will be ready to create IoT solutions using Microsoft Azure IoT Hub and its SDKs. Before beginning this course, you should be familiar with C#, Visual Studio, and you should have a general understanding of Microsoft Azure. I hope you'll join me on this journey to learn how to build IoT solutions with the Azure IoT Help for Developers: Getting Started course at Pluralsight.
Introduction and Overview Hi there. I'm Matt Honeycutt. Welcome to Azure IoT Hub for Developers: Getting Started. We're going to start this course off by taking a look at the problem we're trying to solve and how Microsoft Azure's IoT hub can help us. Let me start by setting the stage for you. We've been contracted by the Globomantics Corporation to assist them in a new undertaking. They've decided to enter the wonderful wide world of amusement parks, and they've made their first acquisition. Their vision is to create a modern connected experience where guests are integrated into the park. That tight integration will be enabled by the Globomantics Band. This is a small wearable device that each guest will be given when they arrive at the park. The band will allow Globomantics to track their guests as they move about the park. And while that may sound nefarious on the surface, it's actually all about providing a better experience. If Globomantics notices that part of the park is becoming congested, they can perform special activities in other less crowded portions of the park to help disperse the crowds. The bands will also allow real- time communication between guests and the park operations staff. Guests will be able to submit feedback in real time. If they are happy or unhappy with this current experience, they can just tap the appropriate button on the band. Another nice benefit of the band is that it can receive notifications. Park operations can let people know if a theme park character is appearing nearby or if a ride they previously visited currently has a shorter-than-usual wait. The possibilities really are endless. But none of this capabilities exist yet. That's where we come in. Our challenge is to make this vision a reality. That's not going to be easy.
Creating an IoT Hub Hello. I'm Matt Honeycutt. As you might guess from the title, this module is all about creating an IoT Hub and taking our first steps with that hub. We'll kick things off by creating our first IoT Hub on Azure. There are several options that we can adjust as we create our hub, and we'll discuss each of them. Next, we'll take a 30, 000-ft look at how connections are established between devices and IoT Hub. We'll then jump into the demo-heavy portion of this module, starting with provisioning a new device entry on hub using the IoT Hub Explorer tool. We'll be using that same tool to simulate our new device too. Once we've got our simulated device connected, we'll take a step back and look at another core capability of IoT Hub, message routing. We'll review the routes that are already there, and we'll create one of our own. Finally, we'll see how to store incoming messages. I'll also show you a trick you can use to view the raw messages in the hub without having to store them.
Creating an Iot Hub Consumer Application Using .NET Hi, I'm Matt Honeycutt. Welcome to creating an IoT Hub Consumer Application Using. NET. We've made good progress so far on our Globomantics band solution. We have our instance of Azure IoT Hub deployed and ready to receive messages, and we have our agent application ready to connect and send data to the cloud. In this module, we're going to create a. NET Core application to process messages that are sent from our band to the hub. We're going to start with a very brief overview of Azure Event Hubs. Why are we doing that? Well, that's because Azure IoT Hub is actually built on top of Event Hubs, and many of the Event Hub concepts we'll cover are just as important when you're processing messages from IoT Hub. Don't worry though, we'll still be writing a lot of code in this module. We'll actually put what we learn about Event Hubs to good use as we create an event processing application. We'll also see a live example of how multiple event processors can work together to process messages in parallel, all without us having to write any additional code.
Sending Messages to an IoT Device Hi, I'm Matt Honeycutt, welcome to Sending Messages to an IoT Device. We're almost finished with the initial version of our Globomantics solution. We have a. NET Core application that can run on our band, we have an Azure IoT Hub ready to authenticate our devices and to process messages sent up from our bands, and we have a. NET Core message processing application that's subscribed to all those messages. In this module, we'll implement that final piece, a device manager application that can send commands down to our device through the hub. We'll be looking at all three methods that Azure IoT supports for cloud-to-device communication. We'll start with sending simple cloud-to-device messages down from our manager to our band application, and we'll see how to handle those messages in our band application. We'll also build out some code to monitor the delivery status of our messages. That way, we'll know when a message is successfully delivered, and when it fails to actually reach our device. There's another messaging approach that Azure IoT Hubs supports too called direct methods. We'll see how using direct methods allows us to send messages to our device, and receive feedback from the device in a clean, elegant way. We'll also revisit device twins, and we'll see how we can use device twin properties to request changes from the cloud on our device, and to communicate status back up from the device.
Creating IoT Hub Consumers in Azure Hello, I'm Matt Honeycutt. Welcome to creating IoT Hub Consumers in Azure. We've spent the previous modules in this course building an IoT solution for Globomantics Corporation's new theme park. We've created an agent application that can run on bands that their guests will wear while they're in the park. We've created an Azure IoT Hub to help us communicate and manage these bands remotely. We've implemented a message processor application that will receive telemetry from our bands and decide what to do with that data. We've also created a band manager application, and that allows us to send messages down to our bands, and to kick off and monitor for software updates. In this module, we're going to look at how we can move our message processing into Azure. Azure gives us many different ways we can process different messages while also leveraging Azure's strengths. We'll start by discussing these various options. I wish we could dive into each fully, but we'll have to keep things high level. We will actually implement a couple of the options though. We'll see how easy it is to convert what we've already created to an Azure WebJob, how we can publish that job, and how we can monitor it while it's running. We aren't going to stop there though. We're going to see how we can move to a serverless form of processing by leveraging Azure functions to process our messages. Sadly, after that it will be time for us to part ways, as we'll have reached the end of this course. Stick around until the very end though, We'll conclude with a quick recap of all the things we've learned, and I'll provide you with some suggestions on where to go next if you want to learn more.