本文主要分享一个案例:

10分钟- 使用Python 示例代码和SDK向IoT Hub 发送遥测消息

本文主要有如下内容:

  1. 了解C2D/D2C消息;
  2. 了解IoT Hub中Device的概念
  3. 了解并下载Device SDK
  4.  使用Device SDK 向云发送遥测消息(模拟温湿度)
  5.  查看发送的数据

视频讲解:

请观看B站视频:https://www.bilibili.com/video/av90223553/

或本站视频(内容相同,二选一即可)

 

 

图文步骤:

本文参考了微软官方文档: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 

如下图所示:

 

Azure IoT Hub 十分钟入门系列,其他文章,请参见:
  1. (视频)Azure IoT Hub 十分钟入门系列 (1)- 10分钟带你了解Azure IoT Hub 并创建IoT Hub
  2. (视频)Azure IoT Hub 十分钟入门系列 (2)- 使用模拟设备发送设备到云(d2c)的消息
  3. (视频)Azure IoT Hub 十分钟入门系列 (3)- 使用消息路由将原始设备数据记录存档
  4. (视频)Azure IoT Hub 十分钟入门系列 (4)- 实现从设备上传日志文件/图片到 Azure Storage
  5. (视频)Azure IoT Hub 十分钟入门系列 (5)- 10分钟实现云到设备的消息(direct method)
  6. (视频)Azure IoT Hub 十分钟入门系列 (6)- 了解设备孪生(device twin)
  7. (视频)Azure IoT Hub 十分钟入门系列 (7)- 小结