[文章]【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】MQTT发布数据到华为云

阅读量0
0
0
以下部分内容参考:
MQTT使用指导https://support.huaweicloud.com/devg-iothub/iot_02_2200.html
润和MQTT直播视频 http://t.elecfans.com/live/1398.html?room=1
连老师的demo  https://bbs.elecfans.com/jishu_2000820_1_1.html
感谢各位老师

本文主要介绍如何配置华为云,以及如何通过润和的DEMO连接华为云。由于华为云上传数据比较大,需要将mqtt-test.c中sendbuf和readbuf改大。我这里从80改到了300。
1.png


1、登录华为云,并进入IoT物联网,选择设备接入IoTDA
2.png

3.png

下图是华为云提供开发者免费测试的地址。我们的设备端就连接到这个地址。
4.png

2、当我们需要在华为云上开发一个物联网设备时,首先需要新建一个产品。在左侧选择“产品”
5.png

然后右侧红框选择“创建产品“。
产品的基本信息根据自己的需要填写,这里选择的通信协议是MQTT,由于工业物联网设备要求的资源比较有限,所以我选择“二进制码流“的数据格式,产商名字、所属行业、设备类型随意。
6.png

3、有了产品之后就需要创建设备,在左侧点选“设备“,点击下面的所有设备就出现当前的设备列表,右侧点选”注册设备“
然后弹出下面这个框,选择刚刚的资源空间,所属产品选择刚刚新建的那个,设备标识码和设备名称任意起,但是需要符合规则,不符合规则也不允许通过。最后填写密钥。
7.png

最后会弹出设备创建成功的提示框,这个框不用记,把密钥记住就行了。
确定后设备ID就是刚刚那个框的内容,未激活表示我们的没有连接过。
8.png

4、下面就是要获取生成连接信息三要素,(ClientId、Username、Password)。下面这个网址就可以通过我们的“设备ID”和”密钥”生成连接信息。
https://iot-tool.obs-website.cn-north-4.myhuaweicloud.com/
9.png

连接鉴权接口文档:https://support.huaweicloud.com/api-iothub/iot_06_v5_3009.html
不同的云这个连接鉴权是不同的。
生成的连接信息是设备上要用的,但是现在还不能连接,因为我们的云上还没有


5、使用MQTT的demo后,用串口调试助手发送连接WiFi。连接成功后,使用AT+MQTT_CONN连接华为云,命令如下:
AT+MQTT_CONN=iot-mqtts.cn-north-4.myhuaweicloud.com,1883,ClientID,Username,Password
其中,ClientID,Username,Password这三个参数是上面步骤4生成的。

6、因为我们打算用二进制流的方式,需要在云上进行转换,回到产品界面,点刚刚新建的产品。
(1)首先进行模型定义,下面对话框随意填写,个人认为在数据格式为“二进制流模式”下不是很重要,在“json模式”下比较重要。   

10.png

(2)弹出的界面添加属性,我添加了两个属性分别为Cond和Temp。
11.png

12.png

(3)点击“插件开发”选择“图形化开发”
13.png

(4)在出现的界面中,选择“新增消息”,消息名称也是随便填写以下
14.png

添加了两个字段
15.png

添加结果如下,然后点确定
16.png

(5)将右侧的两个命令拖拽出来后,会自动连接刚刚的消息,如下图,然后点击右上角的“部署”
17.png

至此,云上配置完成,可以回到设备界面,监测上传数据了。

7、MQTT设备想要向云上传数据,需要“发布主题”信息。向华为云上传数据发布的主题格式如下“$oc/devices/", username, "/sys/properties/report”,如何需要自行替换username。关于华为云的Topic,参考https://support.huaweicloud.com/api-iothub/iot_06_v5_3004.html
发送命令
18.png

我发了20,由于串口调试助手53实际是按照字符串发的,实际上就是ASCII码值,50和48。这时看云上的数据
19.png


回帖

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
链接复制成功,分享给好友