Ameba IoT Hub Plug and Play 示例

Ameba IoT Hub Plug and Play 示例展示了 Ameba 与 Azure IoT 服务交互的能力。我们提供了两个分别使用 SAS 或 X509 认证的示例,其功能在 Realtek Ameba 系列模型文件中描述。我们将详细介绍 Ameba 支持的功能,以及使用 Azure IoT Explorer 向 Ameba 设备发送和接收数据的方法。

Ameba IoT Hub Plug and Play 示例

Ameba IoT Hub Plug and Play 示例是负责 Ameba SDK 组件与 Azure IoT 服务之间通信的应用程序。我们的 SDK 中基本提供了两个示例:example_azure_iot_rtk_pnp_x509example_azure_iot_rtk_pnp_sas,二者功能完全相同,仅连接到 DPS 和 IoT Hub 的认证类型不同。

Wi-Fi 连接后,示例将继续运行。示例开始时,将连接到您的 DPS 并将设备注册到 IoT Hub。如果成功,您应该能在 Azure IoT Explorer 上看到您的设备,或者在 Azure IoT Central 上看到已预配的设备。接下来,示例将连接到 IoT Hub 上已预配的设备,并为 Ameba 设备启动 plug and play 流程:

  1. 通过 MQTT 订阅命令、设备孪生期望属性和响应。

  2. 初始化所有组件。如果有需要初始化的初始值或只读属性,可在此阶段完成。

  3. 首次为所有组件更新上报属性,然后发送孪生文档请求以检查 IoT Hub 上的设备状态。

  4. 启动遥测线程。该线程负责所有组件的遥测。

  5. 开始接收从 IoT Hub 订阅的消息。Ameba 设备将对传入消息做出反应,完成相应组件上的适当操作,并响应 IoT Hub。

X509 和 SAS 示例的配置如下:

X509:

Ameba IoT Hub Plug and Play 示例(X509 证书认证),通过 DPS 预配设备并启动 plug and play 流程。

  • example_azure_iot_entry.h 中选择 Ameba IoT Hub Plug and Play X509 示例

取消注释 EXAMPLE_AZURE_IOT_RTK_PNP_X509 以选择该示例。

  • 修改 example_azure_iot_rtk_pnp_x509.c 中的参数

ID_SCOPE 修改为您自己的 DPS ID 范围。

REGISTRATION_ID 修改为您自己的 DPS 注册 ID。

X509CERTIFICATE 修改为您自己的 x509 证书。

X509PRIVATEKEY 修改为您自己的 x509 私钥。

请确保证书具有 x509 v3 扩展。如果要连接到 Azure IoT Central 进行设备预配,还需要确保 x509 证书中的颁发者和主体 CN 设置为您的设备 ID。

Plug and Play 模型

Realtek plug and play 模型文件存放在 Microsoft 公共仓库的 Realtek 文件夹,使用 数字孪生定义语言 (DTDL) 定义。模型文件分为多个组件,每个组件代表设备的一项功能,并详细描述其遥测、属性和命令,以便与 Azure IoT 服务进行交互。

Ameba IoT Hub PnP 示例成功执行后,您可以在 Azure IoT Explorer 上检查已注册的设备,其"IoT Plug and Play 设备"列显示为 dtmi:realtek:rtk_ameba_series;1

image_pnp_device

接下来,您可以在 Azure IoT Explorer 上检查所有组件并与 Ameba 进行交互。

每个组件上有四种类型的接口可供检查。点击"IoT Plug and Play 组件"页面上的任意组件,将看到组件详情和如下所示的选项卡。

component_tab

  • [Property] 只读属性。您可以在"Properties (read-only)"选项卡中查看属性。

  • [Writable Property] 可写属性。您可以在"Properties (writable)"选项卡中修改可写属性。

  • [Telemetry] 遥测。您可以在"Telemetry"选项卡中查看收到的遥测消息。

  • [Command] 命令。您可以在"Commands"选项卡中发送命令。

Ameba 系列

Ameba 系列 是 Ameba 设备模型文件入口,是包含设备所有组件的默认组件。我们的 plug and play 示例在连接到 DPS 和 IoT Hub 时注册此模型文件的模型 ID。在 Azure IoT Explorer 上已注册设备的 IoT Plug and Play 组件页面中点击后,将看到此组件页面。

ameba_series

Audio:

音频组件 定义了设备的音频功能。目前仅包含一个支持属性,未来可进行扩展。

  • [Property] audio_support:设备音频支持。