本教程将以搭建温湿度采集节点为案例,演示如何通过UIFlow编程设备接入Azure IoT云服务平台。
接入前,需要先通过Azure门户创建IoT中心并注册新设备。 点击此处访问Azure官方文档查看详情
根据Azure官方文档完成设备创建后,连接Azure IoT前,我们需要获取到两个字符串,分别是Primary Connection String
和 SAS Token
。
Primary Connection String
,我们可以设备属性界面直接看到(如下图)。为你的设备烧录UIFlow固件(固件要求v1.7.3及以上版本),点击下方对应文档链接,可查看详细烧录步骤。
案例程序中上传的数据格式为JSON
,能够便于数据后续的拓展与传递,如往Power BI等应用中扩展。
Connection String:"Primary Connection String"
SAS Token: "SAS Token"
# 初始化连接
azure = IoT_Hub(connection_string='')
# 证书接入方式
azure = IoT_Hub(device_id='', host_name='', ssl=True, cert_file_path='', private_key_path='')
# 启用连接
azure.start()
# direct_method信息订阅
azure.subscribe_direct_method(topic, azure_direct_fun)
# 监听云端数据callback
azure.subscribe_C2D_message(azure_C2D_cb)
# 发布数据至云端
azure.publish_D2C_message()
# 上传数据至云端设备实例(Device Twin)
azure.update_twin_reported_properties(key1='value',key2='value')
# 传数据至云端设备实例(Device Twin) 响应callback
azure.subscribe_twin_desired_response(azure_desired_cb)
# 获取云端设备实例(Device Twin)拥有的属性
azure.retrieve_twin_properties()
# 初始化连接
azure = IoT_Central(scope_id='', device_id='', device_key='')
# 启用连接
azure.start()
# direct_method信息订阅
azure.subscribe_direct_method(topic, azure_direct_fun)
# 监听云端数据callback
azure.subscribe_C2D_message(azure_C2D_cb)
# 发布数据至云端
azure.publish_D2C_message()
# 上传数据至云端设备实例(Device Twin)
azure.update_twin_reported_properties(key1='value',key2='value')
# 传数据至云端设备实例(Device Twin) 响应callback
azure.subscribe_twin_desired_response(azure_desired_cb)
# 获取云端设备实例(Device Twin)拥有的属性
azure.retrieve_twin_properties()
将代码推送至Core2后,设备将根据程序内容开始上传数据。查看数据的方式并不唯一,该案例将演示通过Azure-IoT-Explorer工具,对上传数据进行查看。 点击访问Azure-IoT-Explorer下载页面
下载完成后,双击打开,点击Add connection
填写连接密钥,输入相应的密钥后确认(传入的密钥字符串可以在,Azure门户中的Iot中心
- 设置
- 共享访问策略
-iothubowner-Primary connection string
中获得,如下图所示)。
配置完成后,即可获取到当前应用中所包含的设备列表
选中设备进入详情页,通过Cloud-to-device message
功能实现信息下发。
Azure-IoT-Explorer目前并不支持查看D2C数据,用户可通过 VSCode - Azure IoT Hub 插件 进行数据监听与下发。更多内容请查看 VSCode - Azure IoT Hub 插件Github