本文主要有如下内容:
了解C2D/D2C消息;
了解IoT Hub中Device的概念
了解并下载Device SDK
使用Device SDK 向云发送遥测消息(模拟温湿度)
查看发送的数据
本文参考了微软官方文档:https://docs.azure.cn/zh-cn/iot-hub/quickstart-send-telemetry-python
图文内容
1.在IoT Hub创建设备
凡是要连接到Iot Hub的设备,必须在此处进行添加,当然添加的方式有多种,通过API,SDK,DPS服务等等,本文在portal上手动添加
设备名称必须唯一,本文中使用对称密钥的身份验证方式。
创建完成后,能够在列表中看到创建好的IoT Device,点击可以查看详情。
在详情页,可以看到该设备的主连接字符串,该字符串要在后续步骤中,拷贝到代码里,代码通过该字符串连接到IoT Hub。
2.开发环境准备
Ptyhon 环境安装:https://www.python.org/downloads/
注意,勾选添加到环境变量选框
Azure CLI:
https://docs.microsoft.com/zh-cn/cli/azure/install-azure-cli?view=azure-cli-latest
安装完Azure CLI后,需要添加Azure IoT 的扩展,在命令行中输入:
az extension add --name azure-cli-iot-ext
如果使用的是世纪互联的Azure,则需要运行如下代码,切换到世纪互联的Azure:
az cloud set --name AzureChinaCloud
安装完成后,需要在Azure CLI登录到Azure中,
az login
切换到中国Azure,然后登录的界面如下图,浏览器中出现partner.microsoft.cn字样,表示使用的是中国区Azure。
如下图,登录成功,会显示订阅信息
3.使用实例代码发送D2C消息
示例代码:https://github.com/Azure-Samples/azure-iot-samples-python/archive/master.zip
本案例使用\azure-iot-samples-python-master\iot-hub\Quickstarts\simulated-device\SimulatedDevice.py
运行代码前,记得安装Python 的SDK:
pip install azure-iot-device
将代码中的CONNECTION_STRING 替换成我们创建的device01的链接字符串,运行代码即可。
如下图提示,消息发送成功
4.使用Azure CLI查看设备发送到云端的消息
使用如下命令接收 D2C消息
az iot hub monitor-events --hub-name {YourIoTHubName} --device-id MyPythonDevice
如下图所示: