你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

将 Raspberry Pi 联机模拟器连接到 Azure IoT 中心 (Node.js)

本教程会先介绍使用 Raspberry Pi 联机模拟器的基础知识。 然后介绍如何使用 Azure IoT 中心将 Pi 模拟器无缝连接到云。

将 Raspberry Pi Web 模拟器连接到 Azure IoT 中心

启动 Raspberry Pi 模拟器

如果有物理设备,请访问将 Raspberry Pi 连接到 Azure IoT 中心以开始进行操作。

准备工作

  • 了解 Raspberry Pi 联机模拟器的基础知识。

  • 创建 IoT 中心。

  • 在 IoT 中心内为 Pi 注册设备。

  • 在 Pi 上运行示例应用程序,将模拟传感器数据发送到 IoT 中心。

首先,将模拟 Raspberry Pi 连接到创建的 IoT 中心。 然后,使用模拟 Pi 运行示例应用程序,生成传感器数据。 最后,将传感器数据发送到 IoT 中心。

学习内容

  • 如何创建 Azure IoT 中心以及如何获取新的设备连接字符串。 如果没有 Azure 帐户,只需几分钟时间就能创建一个免费的 Azure 试用帐户

  • 如何使用 Raspberry Pi 联机模拟器。

  • 如何将传感器数据发送到 IoT 中心。

Raspberry Pi Web 模拟器概述

选择以下按钮以启动 Raspberry Pi 联机模拟器。

Web 模拟器中有三个区域。

  1. 组装区域 - Pi 模拟器以及任何模拟设备和连接的图形化说明。

    默认情况下,组装区域模拟从 Pi 到两个设备的连接:

    • 连接到 I2C.1 的 BME280 湿度传感器
    • 连接到 GPIO 4 的 LED

    组装区域在此预览版本中已锁定,因此当前无法在其中进行自定义操作。

  2. 编码区域 - 一个联机代码编辑器,可在其中使用 Raspberry Pi 进行编码。 默认示例应用程序可帮助从模拟 BME280 传感器收集传感器数据,并将数据发送到 IoT 中心。 该应用程序与真实 Pi 设备完全兼容。

  3. 集成控制台窗口 - 显示代码输出的窗口。 在此窗口的顶部,有三个按钮。

    • 运行 - 在编码区域运行应用程序

    • 重置 - 将编码区域重置为默认示例应用程序

    • 折叠/展开 - 可使用右侧的按钮折叠/展开控制台窗口。

注意

目前 Raspberry Pi Web 模拟器提供的是预览版。 请通过 Gitter Chatroom 向我们提供意见和建议。 源代码在 GitHub 上是公开的。

Pi 联机模拟器概述

创建 IoT 中心

此部分介绍如何使用 Azure 门户创建 IoT 中心。

  1. 登录 Azure 门户

  2. 在 Azure 主页上,选择“+ 创建资源”按钮。

  3. 在“类别”菜单中选择“物联网”,然后选择“IoT 中心”。

  4. 在“基本信息”选项卡上,按如下所示填写字段:

    • 订阅:选择要用于中心的订阅。

    • 资源组:选择资源组或新建资源组。 若要新建资源组,请选择“新建”并填写要使用的名称。 若要使用现有的资源组,请选择它。 有关详细信息,请参阅管理 Azure 资源管理器资源组

    • IoT 中心名称:输入中心的名称。 此名称必须全局唯一,长度介于 3 到 50 个字母数字字符之间。 名称还可以包含短破折号 ('-') 字符。

    重要

    由于 IoT 中心将作为 DNS 终结点公开可发现,因此请务必避免在命名它时输入任何敏感信息或个人身份信息。

    • 区域:选择最近的区域,希望中心所在的位置。 某些功能(如 IoT 中心设备流)仅适用于特定区域。 对于这些受限功能,你必须选择受支持的区域之一。

    • 层:选择要用于中心的层。 根据你需要多少功能以及每天通过解决方案发送多少消息来选择层。 某些功能(如设备孪生)仅在特定层提供。 免费层适用于测试和评估。 如果是免费层,则可将 500 台设备连接到中心,每天最多可传输 8,000 条消息。 每个 Azure 订阅可以在免费层中创建一个 IoT 中心。

      若要比较每个层的可用功能,请选择“比较层”,然后选择包含要用于中心的功能的层。 有关详细信息,请参阅选择适用于解决方案的 IoT 中心层

      如果你正在按照快速入门进行操作,请选择免费层级。

    • 每日消息限制:为中心选择消息的每日最大配额。 可用选项取决于为中心选择的层。 若要查看可用的消息传送和定价选项,请选择“查看所有选项”,然后选择最符合中心需求的选项。 有关详细信息,请参阅 IoT 中心配额和限制

    注意

    所示价格仅用作示例。

    显示如何在 Azure 门户中创建 IoT 中心的屏幕截图。

  5. 在完成时选择“下一步:网络”,继续创建中心。

    在“网络”选项卡上填写字段,如下所示:

    • 连接性配置:选择可供设备用来连接到 IoT 中心的终结点。 接受此示例的默认设置“公共访问”。 可以在创建 IoT 中心后更改此设置。 有关详细信息,请参阅管理 IoT 中心的公用网络访问

    • 最低 TLS 版本:选择 IoT 中心支持的最低 TLS 版本。 创建 IoT 中心后,无法更改此值。 接受此示例的默认设置 (1.0)。

    显示如何选择可连接到新 IoT 中心的终结点的屏幕截图。

  6. 在完成时选择“下一步:管理”,继续创建中心。

    屏幕截图:如何为新的 IoT 中心设置基于角色的访问控制和缩放。

    可在此处接受默认设置。 如果需要,可以修改以下任何字段:

    • 权限模型:此属性是基于角色的访问控制的一部分,决定如何管理对 IoT 中心的访问。 允许共享访问策略或仅选择基于角色的访问控制。 有关详细信息,请参阅使用 Azure Active Directory 控制对 IoT 中心的访问

    • 分配给我:可能需要访问 IoT 中心数据 API 以管理实例中的元素。 如果你有权访问角色分配,请选择“IoT 中心数据参与者角色”,以授予自己对数据 API 的完全访问权限。

      注意

      若要分配 Azure 角色,必须拥有 Microsoft.Authorization/roleAssignments/write 权限,例如用户访问管理员所有者

    • 设备到云的分区:此属性会将设备到云的消息与这些消息的同步读取器的数量关联起来。 大多数 IoT 中心只需要 4 个分区。

  7. 选择“下一步: 加载项”,转到下一屏幕。

    注意

    所示价格仅用作示例。

    屏幕截图:如何为新的 IoT 中心设置可选加载项。

    可在此处接受默认设置。 如果需要,可以修改以下任何字段:

  8. 在完成时选择“下一步:标记”继续到下一屏幕。

    标记是名称/值对。 可以为多个资源和资源组分配相同的标记,以便对资源进行分类并合并计费。 在本文档中,不会添加任何标记。 有关详细信息,请参阅使用标记来组织 Azure 资源

    屏幕截图:如何为新的 IoT 中心分配标记。

  9. 在完成时选择“下一步:查看+创建”可查看选择。 你会看到类似于此屏幕的内容,但其中包含创建中心时选择的值。

    注意

    所示价格仅用作示例。

    屏幕截图:与创建新 IoT 中心相关的评审信息。

  10. 选择“创建”,以启动新中心的部署。 创建中心时,部署将持续几分钟。 部署完成后,选择“转到资源”以打开新的中心。

在 IoT 中心内注册新设备

本部分在 IoT 中心的标识注册表中创建设备标识。 设备无法连接到中心,除非它在标识注册表中具有条目。 有关详细信息,请参阅 IoT 中心开发人员指南

  1. 在 IoT 中心导航菜单中,打开“设备”,然后选择“添加设备”,以在 IoT 中心中添加设备。

    显示如何在门户中创建设备标识的屏幕截图。

  2. 在“创建设备”中,提供新设备的名称(例如 myDeviceId),然后选择“保存”。 此操作会为 IoT 中心创建设备标识。 让“自动生成密钥”保持选中状态,这样将自动生成主密钥和辅助密钥。

    显示如何添加新设备的屏幕截图。

    重要

    收集的日志中可能会显示设备 ID 用于客户支持和故障排除,因此,在为日志命名时,请务必避免包含任何敏感信息。

  3. 在创建了设备后,在“设备”窗格的列表中打开该设备。 复制“主连接字符串”的值。 设备代码使用此连接字符串与 IoT 中心进行通信。

    默认情况下,密钥和连接字符串进行了掩码处理,因为它们是敏感信息。 如果单击眼睛图标,这些信息就会显示。 使用“复制”按钮进行复制时,无需显示它们。

    显示设备连接字符串的屏幕截图。

注意

IoT 中心标识注册表只存储设备标识,以启用对 IoT 中心的安全访问。 它存储设备 ID 和密钥用作安全凭据,以及可用于禁用单个设备访问的启用/禁用标志。 如果应用程序需要存储其他特定于设备的元数据,则应使用特定于应用程序的存储。 有关详细信息,请参阅 IoT 中心开发人员指南

在 Pi Web 模拟器上运行示例应用程序

  1. 在编码区域,请确保自己处理的是默认示例应用程序。 将第 15 行的占位符替换为 Azure IoT 中心设备连接字符串。

    替换设备连接字符串

  2. 选择“运行”或在集成控制台窗口中键入 npm start 以运行应用程序。

应看到以下输出,该输出显示发送到 IoT 中心的传感器数据和消息输出 - 从 Raspberry Pi 发送到 IoT 中心的传感器数据

读取 IoT 中心收到的消息

若要监视 IoT 中心从模拟设备收到的消息,一种方法是使用适用于 Visual Studio Code 的 Azure IoT Tools。 若要了解详细信息,请参阅使用适用于 Visual Studio Code 的 Azure IoT Tools 在设备和 IoT 中心之间发送和接收消息

若要了解如何通过更多方式来处理设备发送的数据,请转到下一部分。

后续步骤

此时已运行示例应用程序,以收集传感器数据并将其发送到 IoT 中心。

若要继续了解 Azure IoT 中心入门知识并浏览所有扩展的 IoT 方案,请参阅: