您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

Azure IoT 设备和应用程序开发指的是什么?

Azure IoT 是可以连接、监视和控制 IoT 设备的托管服务与平台服务的集合。 Azure IoT 为开发人员提供一组全面的选项。 选项包括设备平台、支持性云服务、SDK,以及用于生成设备所支持的云应用程序的工具。

本文为想要开始使用 Azure IoT 的开发人员概述了几条关键注意事项。 这些概念将引导 IoT 设备开发人员熟悉 Azure IoT 选项,帮助他们着手进行开发。 具体而言,本文概述了以下概念:

设备开发角色

本文将介绍在设备开发人员之间可以注意到的两个常用角色。 本文中所用的角色是指相关开发任务的集合。 了解你当前充当的开发角色类型会很有用。 角色会影响所能做出的许多开发选择。

  • 设备应用程序开发: 与现代开发实践相一致,面向许多高阶语言,在 Windows 或 Linux 等通用操作系统上执行。

  • 嵌入式设备开发: 描述面向资源受限型设备的开发。 资源受限型设备往往用于降低每单位成本、功耗或设备大小。 这些设备能够直接控制其执行所在的硬件平台。

设备应用程序开发

设备应用程序开发人员需要适应现有设备,以连接到云并集成到其 IoT 解决方案中。 这些设备能够支持高阶语言(例如 C# 或 Python),并且往往支持 Windows 或 Linux 等可靠的通用操作系统。 常见目标设备包括电脑、容器、Raspberry Pi 和移动设备。

这些开发人员不是大规模开发受限型设备,而是专注于实现其云解决方案所需的特定 IoT 方案。 其中一些开发人员也会出于其云解决方案的原因而使用受限型设备。 对于使用受限型设备的开发人员,请参阅下面的嵌入式设备开发路径。

提示

请参阅非受限型设备 SDK 获取入门信息。

嵌入式设备开发

嵌入式开发面向内存和处理能力有限的受限型设备。 与传统的开发平台相比,受限型设备会限制可实现的目标。

嵌入式设备通常使用实时操作系统 (RTOS),或者根本不使用操作系统。 由于缺少通用操作系统,嵌入式设备可以全面控制其硬件。 这一事实使得嵌入式设备成了实时系统的极好选择。

当前的嵌入式 SDK 面向 C 语言。 嵌入式 SDK 不提供操作系统,也不提供 Azure RTOS 支持。 它们是在考虑到嵌入式目标的前提下设计的。 设计注意事项包括尽最大限度减少空间占用量,并采用无需分配内存的设计。

如果设备能够运行通用操作系统,则我们建议遵循设备应用程序开发路径。 该路径提供更丰富的一组开发选项。

提示

请参阅受限型设备 SDK 获取入门信息。

选择硬件

Azure IoT 设备是 IoT 解决方案的构建基块,负责观察环境并与之交互。 有许多不同类型的 IoT 设备,了解现存的设备类型以及这些设备如何影响开发过程会很有帮助。

有关本文中所述设备类型之间的差异的详细信息,请参阅关于 IoT 设备类型

选择 SDK

Azure IoT 设备开发人员可以借助各种不同的设备 SDK 和 Azure 服务 SDK 来生成设备所支持的云应用程序。 SDK 能使开发工作变得简单有序,并可大大简化连接和管理设备的复杂性。

设备开发角色部分所述,有三种类型的 IoT SDK 可用于设备开发:

  • 嵌入式设备 SDK(适用于受限型设备)
  • 设备 SDK(用于通过高阶语言将现有设备连接到 IoT 应用程序)
  • 服务 SDK(用于生成可将设备连接到服务的 Azure IoT 解决方案)

若要详细了解如何选择 Azure IoT 设备或服务 SDK,请参阅 Azure IoT 设备 SDK 概述

选择连接选项

开发过程中的一个重要步骤是选择用于连接和管理设备的一组选项。 需要考虑两个重要方面:

  • 选择 IoT 应用程序平台来托管设备。 对于 Azure IoT 而言,这意味着要选择 IoT 中心或 IoT Central。
  • 选择开发人员工具以帮助连接、管理和监视设备。

若要详细了解如何选择应用程序平台和工具,请参阅概述:适用于 Azure IoT 设备开发人员的连接选项

后续步骤

选择与你的开发角色最相关的嵌入式开发或应用程序开发快速入门系列之一。 这些文章演示了有关创建用于托管设备的 Azure IoT 应用程序、使用 SDK、连接设备和发送遥测数据的基础知识。