Ameba Arduino: [RTL8722CSM] [RTL8722DM] [RTL8722DM MINI] 连接到 Microsoft Azure IoT

材料准备

• AmebaD [RTL8722DM/ RTL8722CSM/ RTL8722DM MINI] x 1
• Microsoft Azure 帐户

范例

Microsoft Azure IoT 是一种云服务,如官网所述: 依靠 Microsoft Azure IoT Hub 轻松安全地连接您的物联网 (IoT)。使用设备遥到云端测数据了解设备的状态。
Azure IoT hub通过云端到设备消息可靠地提供发送命令和通知。在云端到设备消息中,可靠地向连接的设备发送命令和通知——并确认消息传递状态。设备消息以持久的方式发送以适应间歇性的连接。 (来自 https: //azure.microsoft.com/zh-tw/services/iot-hub/)。

• 创建 Azure 帐户以使用 Microsoft Azure。您可以在这里找到登录和注册信息: https://azure.microsoft.com/en-us/.
• 登录 Azure https://portal.azure.com/#home.
• 在 Azure 主页上,创建一个 IoT Hub:
1. 选择 + Create a resource 按钮,然后在 Search the Marketplace 中搜索并选择 IoT Hub。

2. 选择 IoT hub 接着选择 Create.

3. 在Basics页面中,填写以下字段:

– Subscription: 选择要用于您的hub的订阅
– Resource Group: 请选择一个group或创建一个新group。要新建一个,请单击Create并填写组名。
– Region: 选择离您最近的位置
– IoT Hub Name: 输入您的hub的名称。这里我们使用“AmebaGO”作为我们的名称。

4. 接着选择 Create 创建一个新的 IoT hub。部署过程可能需要几分钟时间。部署完成后,单击Go to resource以打开hub。

• 创建hub后,我们需要在IoT hub中注册新设备。选择并转到您的 IoT hub,在左侧导航菜单中,选择 IoT devices,然后单击Add Device。

• 在这里,我们在 Device ID 字段中将新设备命名为“AmebaGO1”。身份验证类型选择“Symmetric key”并勾选自动生成密钥以自动生成主密钥和辅助密钥。

• 然后我们需要使用以下 PowerShell 命令为嵌入式 C 的 Azure SDK 创建一个 Arduino 库:

PS C:\> Invoke-WebRequest -Uri https://raw.githubusercontent.com/Azure/azure-sdk-for-c/main/sdk/samples/iot/aziot_realtek_amebaD/New-ArduinoZipLibrary.ps1 -OutFile New-ArduinoZipLibrary.ps1
PS C:\> .\New-ArduinoZipLibrary.ps1

注意: 如果出于安全原因默认限制执行,请以管理员身份运行 PowerShell 并运行以下命令:

Set-ExecutionPolicy Unrestricted

• 然后打开Arduino IDE并安装Azure SDK Embedded C zip library:Sketch -> Include Library -> Add .zip Library…,然后选择我们在上一步创建的azure-sdk-for-c.zip,点击OK。
• 下载 “Azure SDK for Embedded C” repository (https://github.com/Azure/azure-sdk-for-c) 至本地端。
• 然后在 PowerShell 中输入以下命令来在 Realtek AmebaD 范例文件夹中生成 ca.h:

cd /sdk/samples/iot/aziot_realtek_amebaD
.\New-TrustedCertHeader.ps1

• 现在从 Arduino IDE 打开 Realtek AmebaD 范例。通过输入您自己的信息来编辑 iot_configs.h:
您可以填写自己的 WiFi SSID 和密码、主机名、设备 ID 和您自己的设备密钥。您可以通过单击 IoT hub中的设备名称来查找包括设备密钥在内的设备信息。然后保存文件。
You can find the device information including the device key by clicking the name of the device in the IoT hub. Then save the file.

• 编译并上传范例到 Ameba RTL8722DM,点击重置按钮并打开串口监视器查看结果。您应该能够看到以下显示。

请先确认已安装QQ通讯软体