你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
快速入门:将 MXCHIP AZ3166 Devkit 连接到 IoT Central
适用于:嵌入式设备开发
总完成时间:30 分钟
本快速入门介绍如何使用 Azure RTOS 将 MXCHIP AZ3166 IoT DevKit(后称 MXCHIP DevKit)连接到 Azure IoT。
你将完成以下任务:
- 安装一组嵌入式开发工具,用于以 C 语言编写 MXCHIP DevKit 的程序
- 生成一个映像并将其刷入到 MXCHIP DevKit
- 使用 Azure IoT Central 创建云组件、查看属性、查看设备遥测和调用直接命令
先决条件
运行 Windows 10 的电脑
用于克隆存储库的 Git
硬件
- MXCHIP AZ3166 IoT DevKit(简称 MXCHIP DevKit)
- Wi-Fi 2.4 GHz
- USB 2.0 A 公头转 Micro USB 公头电缆
一个有效的 Azure 订阅。 如果没有 Azure 订阅,请在开始之前创建一个免费帐户。
准备开发环境
若要设置开发环境,请先克隆一个 GitHub 存储库,其中包含本快速入门所需的所有资产。 然后安装一组编程工具。
克隆本快速入门所需的存储库
克隆以下存储库以下载所有示例设备代码、安装脚本和文档的脱机版本。 如果以前在另一篇快速入门中克隆过此存储库,则无需再次执行此操作。
要克隆存储库,请运行以下命令:
git clone --recursive https://github.com/azure-rtos/getting-started.git
安装工具
克隆的存储库包含用于安装和配置所需工具的安装脚本。 如果在另一篇嵌入式设备快速入门中安装了这些工具,则无需再次执行此操作。
若要安装工具:
在文件资源管理器中,导航到存储库中的以下路径,并运行名为 get-toolchain.bat 的安装脚本:
getting-started\tools\get-toolchain.bat
安装后,打开一个新的控制台窗口来识别安装脚本所做的配置更改。 使用此控制台完成本快速入门中的其余编程任务。 可以使用 Windows CMD、PowerShell 或 Git Bash for Windows。
运行以下代码,确认已安装 CMake 版本3.14 或更高版本。
cmake --version
创建云组件
创建 IoT Central 应用程序
可以通过多种方式将设备连接到 Azure IoT。 本部分介绍如何使用 Azure IoT Central 连接设备。 IoT Central 是一个 IoT 应用程序平台,可降低创建和管理 IoT 解决方案的成本和复杂性。
要创建新的应用程序:
从 Azure IoT Central 门户的侧面导航菜单中选择 “编译” 。
注意
如果有现成的 IoT Central 应用程序,则可以用来完成本文中的步骤,而不必创建新的应用程序。 在这种情况下,如果要使用现有的设备 ID,我们建议你创建一个新设备,或者删除设备,然后重新创建设备。
在 “自定义应用” 磁贴中选择 “创建应用” 。
添加应用程序名称和 URL。
选择标准定价计划之一。 选择“目录”、“Azure 订阅”和“位置”。 若要了解如何创建 IoT Central 应用程序,请参阅创建 IoT Central 应用程序。 若要了解定价,请参阅 Azure IoT Central 定价。
选择“创建” 。 IoT Central 在预配应用程序后,会自动将你重定向到新的应用程序仪表板。
创建新设备
在本部分中,将使用 IoT Central 应用程序仪表板创建新设备。 在后面的部分中,将使用新创建的设备的连接信息安全连接到你的物理设备。
创建设备:
在应用程序仪表板中,选择侧面导航菜单中的“设备”。
从 “所有设备” 窗格中选择 “创建设备” 以打开 “新建设备” 窗口。 (如果要重复使用已有一个或多个设备的现有应用程序,请选择 “+ 新建” 以打开该窗口。)
将“设备模板”保持设为“未分配”。
填写所需的设备名称和设备 ID。
选择“创建”按钮。
新创建的设备显示在“所有设备”列表中。 选择设备名称以显示详细信息。
在右上方的菜单栏中选择“连接”可显示连接信息(用于在下一节中配置设备)。
请注意,“连接”对话框中显示的以下连接字符串参数的连接值。 将在下一步中将这些值添加到配置文件中:
ID scope
Device ID
Primary key
准备设备
要将 MXCHIP DevKit 连接到 Azure,需要修改 Wi-Fi 和 Azure IoT 设置的配置文件,重建映像,并将映像刷写到设备。
添加配置
在文本编辑器中打开以下文件:
getting-started\MXChip\AZ3166\app\azure_config.h
在本地环境中,将 Wi-Fi 常量设置为以下值。
常量名称 值 WIFI_SSID
{Wi-Fi SSID} WIFI_PASSWORD
{Wi-Fi 密码} WIFI_MODE
{文件中枚举的 Wi-Fi 模式值之一} 将 Azure IoT 设备信息常量设置为在创建 Azure 资源后保存的值。
常量名称 值 IOT_DPS_ID_SCOPE
{ID 范围值} IOT_DPS_REGISTRATION_ID
{设备 ID 值} IOT_DEVICE_SAS_KEY
{主密钥值} 保存并关闭该文件。
生成映像
在控制台或文件资源管理器中,在以下路径中运行脚本 rebuild.bat 以生成映像:
getting-started\MXChip\AZ3166\tools\rebuild.bat
生成完成后,请确认已在以下路径中创建了二进制文件:
getting-started\MXChip\AZ3166\build\app\mxchip_azure_iot.bin
刷写映像
在 MXCHIP DevKit 上,找到“重置”按钮和 Micro USB 端口。 可在以下步骤中使用这两个组件。 下图突出显示了这两个组件:
将 Micro USB 电缆连接到 MXCHIP DevKit 上的 Micro USB 端口,然后将电缆连接到计算机。
在文件资源管理器中,找到在上一节中创建的二进制文件。
复制二进制文件 mxchip_azure_iot.bin。
在文件资源管理器中,找到连接到你的计算机的 MXCHIP DevKit 设备。 设备在系统中显示为驱动器,驱动器标签为 AZ3166。
将二进制文件粘贴到 MXCHIP Devkit 的根文件夹中。 刷写会自动启动,并在几秒钟内完成。
注意
在刷写过程中,MXCHIP DevKit 上的绿色 LED 闪烁。
确认设备连接详细信息
可以使用 Termite 应用来监视通信,并确认设备已正确设置。
启动 Termite。
提示
如果无法将 Termite 连接到 devkit,请安装 ST-LINK 驱动程序,然后重试。 有关其他步骤,请参阅故障排除。
选择“设置”。
在“串行端口设置”对话框中,检查以下设置并根据需要进行更新:
- 波特率:115,200
- 端口:你的 MXCHIP DevKit 连接到的端口。 如果下拉列表中有多个端口选项,则可以找到要使用的正确端口。 打开 Windows 设备管理器,查看“端口”以确定要使用的端口。
选择“确定”。
按设备上的“复位”按钮。 该按钮在设备上进行了标记,位于 Micro USB 连接器附近。
在 Termite 应用中,检查以下检查点值,以确认设备已初始化并连接到 Azure IoT。
Starting Azure thread Initializing WiFi MAC address: C8:93:46:8A:4C:43 Connecting to SSID 'iot' SUCCESS: WiFi connected to iot Initializing DHCP IP address: 192.168.0.18 Mask: 255.255.255.0 Gateway: 192.168.0.1 SUCCESS: DHCP initialized Initializing DNS client DNS address: 75.75.75.75 SUCCESS: DNS client initialized Initializing SNTP client SNTP server 0.pool.ntp.org SNTP IP address: 38.229.71.1 SNTP time update: May 19, 2021 20:36:6.994 UTC SUCCESS: SNTP initialized Initializing Azure IoT DPS client DPS endpoint: global.azure-devices-provisioning.net DPS ID scope: *** Registration ID: mydevice SUCCESS: Azure IoT DPS client initialized Initializing Azure IoT Hub client Hub hostname: ***.azure-devices.net Device id: mydevice Model id: dtmi:azurertos:devkit:gsgmxchip;1 Connected to IoT Hub SUCCESS: Azure IoT Hub client initialized
在以下步骤中,保持 Termite 处于打开状态以监视设备输出。
查看设备状态
要在 IoT Central 门户中查看设备状态,请执行以下操作:
在应用程序仪表板中,选择侧面导航菜单中的“设备”。
确认“设备状态”已更新为“已预配”。
确认“设备模板”已更新为“MXCHIP 入门指南” 。
查看遥测数据
通过 IoT Central,可以查看从设备到云的遥测数据流。
在 IoT Central 门户中查看遥测数据:
在应用程序仪表板中,选择侧面导航菜单中的“设备”。
从设备列表中选择设备。
在“概述”选项卡中,查看设备向云发送消息的实时遥测数据。
注意
还可以使用 Termite 应用从设备监视遥测数据。
在设备上调用直接方法
还可以使用 IoT Central 来调用已在设备上实现的直接方法。 直接方法有一个名称,可以选择包含 JSON 有效负载、可配置的连接和方法超时。 在本节中,将调用一个方法让你可以打开或关闭 LED。
要在 IoT Central 门户中调用方法,请执行以下操作:
在设备页中选择“命令”选项卡。
在“状态”下拉列表中选择“True”,然后选择“运行” 。 LED 指示灯应亮起。
在“状态”下拉列表中选择“False”,然后选择“运行” 。 LED 指示灯应关闭。
查看设备信息
可以从 IoT Central 查看设备信息。
从设备页中选择“关于”选项卡。
提示
若要自定义这些视图,请编辑设备模板。
故障排除和调试
如果在生成设备代码、刷写设备或进行连接时遇到问题,请参阅故障排除。
要调试应用程序,请参阅使用 Visual Studio Code 进行调试。
清理资源
如果不再需要本快速入门中创建的 Azure 资源,可以从 IoT Central 门户将其删除。
要删除整个 Azure IoT Central 示例应用程序及其所有设备和资源,请执行以下操作:
- 选择“管理”>“你的应用程序”。
- 选择“删除”。
后续步骤
在本快速入门中,你生成了一个包含 Azure RTOS 示例代码的自定义映像,然后将该映像刷写到了 MXCHIP DevKit 设备。 还使用 IoT Central 门户创建了 Azure 资源,将 MXCHIP DevKit 安全地连接到 Azure,查看遥测数据以及发送消息。
接下来请浏览以下文章,以详细了解如何使用 IoT 设备 SDK 将设备连接到 Azure IoT。
重要
Azure RTOS 为 OEM 提供了一些组件,通过这些组件可以保护通信以及使用底层 MCU/MPU 硬件保护机制创建代码和数据隔离。 但是,每个 OEM 最终负责确保其设备满足不断变化的安全要求。