Are you ready to begin developing IoT device applications? Now is your chance. This course will lead you through a series of labs that teach you how to program IoT devices for secure communication with the cloud. You will learn how to create and configure a cloud gateway (IoT hub), how to register, provision, and manage IoT devices, and how to develop and deploy real-world IoT applications. Throughout this course, the activities are framed within the context of a real-world scenario, however, the lab scenarios are simplified just enough to eliminate some of the complexities that often prevent us from grasping the most important concepts.
The course begins with a quick walkthrough of the cloud gateway options available today and where Azure and the Azure IoT Hub fit in. Next, you create your own IoT Hub and explore features of the IoT Hub Service. You will then learn how to configure the development environment for an MXChip device, register your device with the IoT Hub, and deploy a pre-configured solution that demonstrates how communication between a device and the cloud is implemented.
You will then take a closer look at the Azure IoT SDKs and how to implement secure 2-way communication between devices and the cloud. You will provision a Raspberry Pi device and walk your way through the process of developing a solution as you dig deeper into the code that leverages the SDKs to implement secure communication with the hub. You will also learn how to provision simulated devices using client tools such as Azure CLI and how to preform management tasks while examining aspects of device security.
Next, you will learn about the Device Provisioning Service and how to provision devices at scale. You will also use automated processes to configure device identities and properties at scale. After that, you will examine device management tasks using both device twins and direct methods, and learn why using device twins is the recommended approach. Shifting focus briefly to managing IoT Hub operations, you will learn more about IoT Hub endpoints and message routing.
To finish up this course, you will be tasked with implementing a real-world project scenario. You will evaluate project documentation to determine requirements, develop your project hardware and software, and then apply what you learned during the course to implement the client-side and server-side portions of the solution. You will even look into including Azure IoT Edge in your solution.
Before starting this course, students should understand the following:
IoT terminology and business goals
Embedded device programming
Modern software development tools
What you'll learn
Create and manage a cloud gateway
Provision a device
Implement a simple device to a cloud communication example
Examine the IoT Device and Service SDKs
Develop a device application that sends telemetry messages to your cloud gateway
Configure the local admin tools for Azure IoT
Configure and secure IoT devices
Describe device management and how to use device twins and device properties
Provision devices using the Device Provisioning Service
Automate device configuration and management
Manage IoT Hub operations
Evaluate solution design goals
Implement telemetry data aggregation and batch communications
Archive data for cold path analytics
Implement a simple IoT edge device
This course is completely lab-based. There are no lectures or required reading sections. All of the learning content that you will need is embedded directly into the labs, right where and when you need it. Introductions to tools and technologies, references to additional content, video demonstrations, and code explanations are all built into the labs.
Some assessment questions will be presented during the labs. These questions will help you to prepare for the final assessment.
The course includes four modules, each of which contains three or more lab activities. The lab outline is provided below.
Module 1:Configure a Cloud Gateway and Devices
Lab 1:Creating Your Cloud Gateway
Lab 2:Getting Started with Your MXChip AZ3166 Device
Lab 3: Implementing Simple Device-to-Cloud Communication
Module 2:Implement Device Communications
Lab 1:Exploring the IoT SDKs
Lab 2:Developing a Raspberry Pi Device Application
Lab 3:Configuring and Securing IoT Hub Devices
Module 3:Manage Your Devices
Lab 1:Provisioning Devices
Lab 2:Automating Device Configuration and Management
Lab 3:Managing IoT Hub Operations
Module 4:Develop Real-World Device Applications
Lab 1:Evaluating Solution Design Goals
Lab 2:Implementing Device Hardware and Software
Lab 3:Archive Data for Cold Path Analytics
Lab 4:Getting Started with IoT Edge
Engineer and Software Developer
Chris is an engineer and software developer who has been working at Microsoft in various roles for the past 15 years. Before coming to Microsoft, Chris worked for the U.S. Department of Defense designing and developing computer controlled instrumentation and robotic systems, and was a self-employed contractor doing engineering research with NASA and select engineering start-ups.
Owner and Founder
Front Range Systems
Matt is owner and founder of Front Range Systems, a software consulting company focusing on custom software solutions for its clients. Matt has over 16 years of professional development experience, and loves solving complex problems with simple solutions. He has helped organizations through mentorship and training and specializes in professional and enterprise solutions with various technologies including HTML5, AngularJS, ASP.Net, WPF and C#.
Frequently Asked Questions
Who can take this course?
Unfortunately, learners from one or more of the following countries or regions will not be able to register for this course: Iran, Cuba and the Crimea region of Ukraine. While edX has sought licenses from the U.S. Office of Foreign Assets Control (OFAC) to offer our courses to learners in these countries and regions, the licenses we have received are not broad enough to allow us to offer this course in all locations. EdX truly regrets that U.S. sanctions prevent us from offering all of our courses to everyone, no matter where they live.