跳至主要内容

IoT Device Configuration and Communication: C Edition


Microsoft

About This Course

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.

你已经准备好进行物联网设备应用开发了吗?现在机会来了。本课将带领你通过一些列实验来学习怎样进行物联网编程,并使用云来保证安全通信。你将会学习如何创建和设置一个云网关(IoT hub),如何注册,维持和管理物联网设备,以及如何开发和部署物联网应用。在这节课中,会根据现实情况安排教学内容,但实验场景已经是被简化成教学形式,为了突出核心概念而减少一些复杂情况。

在开始阶段,会进行关于今天可用的云网关以及怎样兼容 Azure 与 Azure IoT Hub 的介绍。接下来,你会创建你自己的 IoT Hub 并探索 IoT Hub Service 特征。你将会学习到如何设置 MXChip 设备开发环境,通过 IoT Hub 注册设备,和部署一个预设的解决方案,来展示如何实现设备与云之间的通讯。

然后,你将会更深入的学习 Azure IoT SDKs, 以及如何实现设备与云之间双向的安全通讯。通过深入研究利用SDK实现与集线器的安全通信的代码,你学习将配置 Raspberry Pi 设备并逐步完成开发解决方案的过程。您还将学习如何使用 Azure CLI 等客户端工具配置模拟设备,以及如何在检查设备安全性方面时执行管理任务。

接下来,你将了解设备配置服务以及如何大规模配置设备。你还将使用自动化流程大规模配置设备标识和属性。之后,你将使用设备双胞胎和直接方法检查设备管理任务,并了解为何设备双胞胎是更受推荐的方法。最后,重点转移到管理 IoT Hub 操作,你将了解有关 IoT Hub 端点和消息路由的更多信息。

为了完成本课程,你将实施一个真实的项目场景。你将评估项目文档来确定需求,开发项目硬件和软件,然后应用你在课程中学到的知识来实现解决方案的客户端和服务器端部分。你甚至可以在解决方案中考虑使用Azure IoT Edge。

Requirements

Before starting this course, students should understand the following:

  • IoT terminology and business goals
  • Embedded device programming
  • C programming
  • Modern software development tools

在开始本课程之前,学生应该了解以下内容

  • 物联网术语和业务目标
  • 嵌入式设备编程
  • C编程
  • 现代软件开发工具

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
  • 创建和管理云网关
  • 提供设备
  • 实现一个简单的设备到云通信示例
  • 检查 IoT 设备和服务 SDK
  • 开发一个设备应用程序,将遥测消息发
  • 送到您的云网关
  • 配置Azure IoT的本地管理工具
  • 配置和保护物联网设备
  • 描述设备管理以及如何使用设备双胞胎和设备属性
  • 使用设备配置服务配置设备
  • 自动化设备配置和管理
  • 管理物联网中心运营
  • 评估解决方案设计目标
  • 实施遥测数据聚合和批量通信
  • 归档冷路径分析的数据
  • 实现简单的物联网边缘设备

Course Syllabus

    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

    本节课全部使用实验教学,不包含任何讲座或阅读内容。所有学习内容都直接嵌入在课程实验中,并已经根据学习进度设计安排顺序,包括对工具和技术的介绍,参考以及额外内容,视频展示预计代码解释。

    测试问题也将出现在学习活动中,这些练习问题将帮助你准备期末考试。

    本节课包含四个单元,每个单元包含至少两个实验练习活动。实验提纲如下。

    第1单元:配置云网关和设备

  • 实验1:创建云网关
  • 实验2:MXChip AZ3166设备入门
  • 实验3:实现简单的设备到云通信
  • 第2单元:实施设备通信

  • 实验1:探索物联网SDK
  • 实验2:开发Raspberry Pi设备应用程序
  • 实验3:配置和保护IoT Hub设备
  • 第3单元:管理您的设备

  • 实验1:配置设备
  • 实验2:自动化设备配置和管理
  • 实验3:管理物联网中心操作
  • 第4单元:开发真实设备应用程序

  • 实验1:评估解决方案设计目标
  • 实验2:实现设备硬件和软件
  • 实验3:冷路分析的归档数据
  • 实验4:IoT Edge入门

Course Staff

Course Staff Chris Howd

Chris Howd

Engineer and Software Developer

Microsoft

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.

Course Staff Matt Dixon

Matt Dixon

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.

选修