完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
简介
IoT 中心是一项 Azure 服务,用于将大量遥测数据从 IoT 设备引入云中进行存储或处理。 接下来我们会运行 Azure 软件包提供的两个功能示例,一个示例用于展示设备向云端发送遥测数据功能,另一个示例用于展示接收物联网中心下发数据的功能。 运行这两个示例程序之前,需要先创建 IoT 中心并在 IoT 中心上注册设备。 准备工作 在运行本次示例程序之前需要准备工作如下: 1、注册微软 Azure 账户,如果没有 Azure 订阅,请在开始前创建一个试用帐户。 2、安装 DeviceExplorer 工具,这是一个 windows 平台下测试 Azure 软件包功能必不可少的工具。该工具的安装包为 tools 目录下的 SetupDeviceExplorer.msi,按照提示安装即可,成功运行后的界面如下图。 获取 Azure 软件包
RT-Thread online packages ---> IoT - internet of things ---> IoT Cloud ---> Azure: Microsoft azure cloud SDK for RT-Thread ---> Choose Protocol (Using MQTT Protocol) ---> #选择通信协议 Enable Azure iothub telemetry example #设备发送遥测数据示例 Enable Azure iothub cloud to device example #云端下发数据示例 Version (latest) ---> #选择软件包版本通信协议介绍 目前 RT-Thread Azure 软件包提供的示例代码支持 MQTT 和 HTTP 的通信协议,想要使用哪种协议,只需要在上面选项中选择相应的协议即可。在选择设备端通信协议时,需要注意以下几点: 1、当进行云到设备数据发送时,由于HTTPS 没有用于实现服务器推送的有效方法。 因此,使用 HTTPS 协议时,设备会在 IoT 中心轮询从云到设备的消息。 此方法对于设备和 IoT 中心而言是低效的。 根据当前 HTTPS 准则,每台设备应每 25 分钟或更长时间轮询一次消息。MQTT 支持在收到云到设备的消息时进行服务器推送。 它们会启用从 IoT 中心到设备的直接消息推送。 如果传送延迟是考虑因素,最好使用 MQTT协议。 对于很少连接的设备,HTTPS 也适用。 2、使用 HTTPS 时,每台设备应每 25 分钟或更长时间轮询一次从云到设备的消息。 但在开发期间,可按低于 25 分钟的更高频率进行轮询。 3、更详细的协议选择文档请参考 Azure 官方文档《选择通信协议》。 创建 IoT 中心 首先要做的是使用 Azure 门户在订阅中创建 IoT 中心。 IoT 中心用于将大量遥测数据从许多设备引入到云中。 然后,该中心会允许一个或多个在云中运行的后端服务读取和处理该遥测数据。 1、登录到 Azure 门户。2、选择“创建资源” > “物联网” > “IoT 中心”。 3、在 “IoT 中心” 窗格中,输入 IoT 中心的以下信息:
5、选择“Pricing and scale tier(定价和缩放层)”。 就测试用途来说,请选择“F1:Free tier(F1 - 免费)”层(前提是此层在订阅上仍然可用)。 有关详细信息,请参阅定价和缩放层。 6、选择“Review + create(查看 + 创建)”。 7、查看 IoT 中心信息,然后单击“创建”即可。 创建 IoT 中心可能需要数分钟的时间。 可在“通知”窗格中监视进度,创建成功后就可以进行下一步注册设备的操作了。 8、为了后续方便查找,可以手动将创建成功后的资源添加到仪表盘。 注册设备 要想运行设备端相关的示例,需要先将设备信息注册到 IoT 中心里,然后该设备才能连接到 IoT 中心。 在本次示例中,可以使用 DeviceExplorer 工具来注册设备。
2、在右侧弹出的属性框中获取 IoT 中心连接字符串:
2、打开 Management 选项栏,按照下图所示的步骤来创建测试设备。设备创建成功后,就可以运行设备的功能示例了。 功能示例一:设备发送遥测数据到物联网中心 示例文件 [tr]示例程序路径说明[/tr]
修改示例代码中的设备连接字符串 1、在运行测试示例前需要获取设备的连接字符串。 2、将连接字符串填入测试示例中的 connectionString 字符串中,重新编译程序,下载到开发板中。 运行示例程序 1、在 msh 中运行 azure_telemetry_sample 示例程序: msh />azure_telemetry_samplemsh />ntp initCreating IoTHub Device handleSending message 1 to IoTHub-> 11:46:58 CONNECT | VER: 4 | KEEPALIVE: 240 | FLAGS: 192 | USERNAME:xxxxxxxxxx.azuredevices.cn/devicexxxxxxx9d64648f19e97013bec7ab453/?api-version=2017-xx-xx-preview&DeviceClientType=iothubclient%2f1.2.8%20(native%3b%20xxxxxxxx%3b%20xxxxxx) | PWD: XXXX | CLEAN: 0<- 11:46:59 CONNACK | SESSION_PRESENT: true | RETURN_CODE: 0x0The device client is connected to iothubSending message 2 to IoTHubSending message 3 to IoTHub-> 11:47:03 PUBLISH | IS_DUP: false | RETAIN: 0 | QOS: DELIVER_AT_LEAST_ONCE | TOPIC_NAME: devices/device0f134df9d64648f19e97013bec7ab453/messages/events /hello=RT-Thread | PACKET_ID: 2 | PAYLOAD_LEN: 12-> 11:47:03 PUBLISH | IS_DUP: false | RETAIN: 0 | QOS: DELIVER_AT_LEAST_ONCE | TOPIC_NAME: devices/device0f134df9d64648f19e97013bec7ab453/messages/events /hello=RT-Thread | PACKET_ID: 3 | PAYLOAD_LEN: 12-> 11:47:03 PUBLISH | IS_DUP: false | RETAIN: 0 | QOS: DELIVER_AT_LEAST_ONCE | TOPIC_NAME: devices/device0f134df9d64648f19e97013bec7ab453/messages/events /hello=RT-Thread | PACKET_ID: 4 | PAYLOAD_LEN: 12<- 11:47:04 PUBACK | PACKET_ID: 2Confirmation callback received for message 1 with result IOTHUB_CLIENT_CONFIRMATION_OK<- 11:47:04 PUBACK | PACKET_ID: 3Confirmation callback received for message 2 with result IOTHUB_CLIENT_CONFIRMATION_OK<- 11:47:04 PUBACK | PACKET_ID: 4Confirmation callback received for message 3 with result IOTHUB_CLIENT_CONFIRMATION_OKSending message 4 to IoTHub-> 11:47:06 PUBLISH | IS_DUP: false | RETAIN: 0 | QOS: DELIVER_AT_LEAST_ONCE | TOPIC_NAME: devices/device0f134df9d64648f19e97013bec7ab453/messages/events /hello=RT-Thread | PACKET_ID: 5 | PAYLOAD_LEN: 12<- 11:47:07 PUBACK | PACKET_ID: 5Confirmation callback received for message 4 with result IOTHUB_CLIENT_CONFIRMATION_OKSending message 5 to IoTHub-> 11:47:09 PUBLISH | IS_DUP: false | RETAIN: 0 | QOS: DELIVER_AT_LEAST_ONCE | TOPIC_NAME: devices/device0f134df9d64648f19e97013bec7ab453/messages/events /hello=RT-Thread | PACKET_ID: 6 | PAYLOAD_LEN: 12<- 11:47:10 PUBACK | PACKET_ID: 6Confirmation callback received for message 5 with result IOTHUB_CLIENT_CONFIRMATION_OK-> 11:47:14 DISCONNECTError: Time:Tue Jul 31 11:47:14 2018 File:packages/azure/azure-port/pal/src/socketio_berkeley.c Func:socketio_send Line:853 Failure: socket state is not opened.The device client has been disconnectedAzure Sample Exit2、此时可在 DeviceExplorer 工具的 Data 栏查看设备发到云端的遥测数据: 示例运行成功,在 DeviceExplorer 工具中看到了设备发送到物联网中心的 5 条遥测数据。 功能示例二:设备监听云端下发的数据 示例文件 [tr]示例程序路径说明[/tr]
设备端运行示例程序
1、打开 DeviceExplorer 工具的 Messages To Device 栏向指定设备发送数据: 2、此时在设备端查看从 IoT 中心下发给设备的数据: msh />azure_c2d_samplemsh />ntp initCreating IoTHub Device handleWaiting for message to be sent to device (will quit after 3 messages)Received Binary message # 收到二进制数据Message ID: ea02902d-d6d2-4b7f-9f71-0873ca90b7a3 Correlation ID: |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
830 浏览 0 评论
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
2916 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1391 浏览 0 评论
2006 浏览 0 评论
1553 浏览 0 评论
75096 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 06:40 , Processed in 0.735372 second(s), Total 70, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号