阿里云物联网平台调试宝典:从入门到精通

一、目的

1.汇总阿里云物联网平台调试精髓:为开发者提供一份详尽的调试指南,助力后续项目开发。

2.解决初学者难题:针对初学者在阿里云物联网平台调试过程中遇到的常见问题,提供实用的解决策略。

3.鼓励自主思考:鼓励初学者在复刻他人项目时,结合个人思考,灵活运用调试经验,独立解决问题。

二、调试工具与资源

阿里云物联网平台调试工具

如果对您有所帮助,点点关注,不迷路哦

作者博客与主页

当然不可能总结的面面到位,如果有遗漏,欢迎补充,也可以加群一起讨论,一起学习,一起进步。

三、调试经验(持续更新)

1.(*)善用阿里云设备模拟器:模拟设备发送数据,简化调试流程。

2.利用阿里云日志服务:追踪设备连接与数据发送状态,精准定位问题

3.应用MQTT调试工具:如mqtt.fx,模拟设备发送数据,提升调试效率。

4.复刻并改进:先复刻完整连接过程的博客项目,再逐步修改,降低出错率。

5.多次尝试,不妨多试几次,可能因网络波动或硬件问题导致。

(*) 在调试连接过程中,如果一遍不成功,可以多试两次,科学的尽头是玄学,哈哈。因为有时候,网络连接不稳定,导致连接失败。也有可能是硬件本身的问题,多试几次,可能会有意想不到的效果。(泪崩,血的教训,哈哈)

6.查阅官方文档:阿里云官方文档详尽,遇到问题时,优先查阅。

四、 调试步骤(这里演示物模型topic)

1.创建阿里云物联网平台设备

可以参考我的这篇博客
零基础搭建自己的阿里云物联网平台

经过上面的步骤,我们就可以在阿里云物联网平台上创建一个设备,并获得MQTT的连接参数。

2. 设备连接阿里云物联网平台(建议先复刻我提供的AT指令,然后再自己改)

如果打算使用esp01s连接阿里云物联网平台,可以参考我的这篇博客

esp01s连接阿里云物联网平台

建议先复刻我提供的AT指令连接阿里云然后再自己改,这样可以避免一些问题。

1.AT
2.AT+RST
3.AT+CWMODE=1
4.AT+CIPSNTPCFG=1,8,"ntp1.aliyun.com"
5.AT+CWJAP="wxlzss","123456789"
6.AT+MQTTUSERCFG=0,1,"NULL","device_klx&a1smmmV6Xz0","f3139b3188c9fd8a67f01729cc2819fead22818446ac1098237e5ef2f524c37b",0,0,""
7.AT+MQTTCLIENTID=0,"a1smmmV6Xz0.device_klx|securemode=2\,signmethod=hmacsha256\,timestamp=1708563604419|"
8.AT+MQTTCONN=0,"a1smmmV6Xz0.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883,1
9.AT+MQTTSUB=0,“/sys/a1smmmV6Xz0/device_klx/thing/service/property/set”,1
10. AT+MQTTPUB=0,"/sys/a1smmmV6Xz0/device_klx/thing/event/property/post","{\"params\":{\"temperature\":45\,\"LightLux\":67\,\"WaterLevel\":78}}",1,0

注意细节:

1.调试助手的波特率为115200,如果使用其他波特率,可能会导致连接失败。

2.勾选发送新行

五、测试发送自己的MQTT数据

5.1 替换连接参数

1.如果成功复刻了第二步,这个时候说明硬件没什么问题

2.将我的连接信息替换为自己的,自己的连接信息在阿里云物联网平台上可以找到,如下图所示:

在这里插入图片描述

5.2 替换订阅发布topic

3.找到自己的订阅topic和发布topic,如下图所示:
将我的订阅topic和发布topic替换为自己的,
在这里插入图片描述

4.如果觉得麻烦,可以直接将我的发送的报文数据替换为自己的,发送,在日志服务中查看数据是否发送成功,(不保证百分百成功,因为有可能你的{级数更多,比如你发送经纬度,建议第六步)如下图所示:

200:代表的是发送成功码

如果出现其他错误码,可以参考阿里云的官方文档。
阿里云错误码文档
(我也记不住所有的错误码,哈哈)

5.3 对比分析

6.如果第五步没成功,日志服务没找到数据,可以使用设备模拟器,模拟发送一次数据,记得把原来的连接的设备断开连接,因为同一个设备不能同时连接阿里云物联网平台,(可以选择mqtt 3.1,5.0我没试过,不知道好用不)设备模拟器就是模拟的一个真实设备,如下图所示:(设备模拟器发送的是物模型topic,会直接显示在页面中)

在这里插入图片描述

在这里插入图片描述

7.第六步成功了之后,可以去日志服务里面找到刚刚发送的数据,和AT指令发送的数据对比一下,看看有没有缺哪些数据,({ 大括号的级数不能少,一定对比清楚,少一级可能阿里云的物模型数据都显示不出来)。如下图所示
在这里插入图片描述

5.4 优化与验证

8.如果第七步成功了,试着去掉不必要的属性,多发送几次,原则上除了params,其他的都可以去掉,看看有没有影响,如果影响,就保留,不影响,就删掉。

9.如果第八步成功了之后,表示你已经成功的连接了阿里云,可以写单片机代码连接阿里云了,

STM32连接阿里云

ESP8266 NodeMcu连接阿里云

六、自定义topic 连接阿里云调试

1.如果使用自定义topic,需要先在阿里云物联网平台创建自定义topic,还需要进行云产品流转,相当于两个设备进行数据转发,可以参考我写的博客,里面有详细的云产品流转步骤。
阿里云云产品流转规则设置M2M

2.配置好云产品流转规则之后,就可以进行调试了,可以使用mqtt.fx,也可以使用调试助手,我这里使用的是调试助手,如下图所示:
在这里插入图片描述

3.如果可以顺利流转,说明自定义topic连接阿里云成功,可以进行APP端,或者微信小程序端的调试了。

微信小程序连接阿里云

从0到1:使用app inventor 开发手机app实现连接阿里云平台

七、AT指令连接阿里云会出现的问题(ESP8266)

1.是烧录了MQTT固件后,才能连接阿里云,烧录了其他固件,比如AT固件,是不能连接阿里云的。(我用的是1471固件)

2.出现以下烧录固件错误
ets Jan 8 2013,rst cause:4, boot mode:(3,7)

wdt reset
load 0x40100000, len 6960, room 16 
tail 0
chksum 0xa5
load 0x3ffe8008, len 24, room 8 
tail 0
chksum 0x1c
load 0x3ffe8020, len 3196, room 8 
tail 4
chksum 0xde
csum 0xde

过一段时间就自动重启(快点几秒慢点两分钟)

解决办法:wifi模块供电不稳定,导致esp01s芯片卡死,更换供电设备重新烧录固件即可。

3.AT指令不要连着发同一条指令,有可能会报error,比如你连续发送AT指令,会报error,所以需要等待一段时间,再发送下一条指令

AT+MQTTCLIENTID=0,"a1smmmV6Xz0.device_klx|securemode=2\,signmethod=hmacsha256\,timestamp=1708563604419|"

这条指令有可能会失败,多实验几次不行的话,去掉timestamp再试试

八、总结

本文旨在分享阿里云物联网平台调试的实战经验与思路,鼓励开发者结合个人硬件与项目需求,灵活运用调试技巧。同时,欢迎读者指正文中可能存在的问题,共同促进技术进步。希望本文能为初学者提供有价值的参考,助力大家在阿里云物联网平台的开发之路上越走越远。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

墨小羽ovo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值