【BC26】-03-对接阿里云
MQTT 部分
MQTT发送过程
- AT+CGPADDR,查询IP,获取到OK表示BC26状态正常
- AT+QMTCFG="aliauth",0,"gg43bimZeb9","Lighting","2790aa518d49f0ed3955254f693c0c13",配置阿里云
- AT+QMTOPEN=0,“iot-as-mqtt.cn-shanghai.aliyuncs.com”,1883连接阿里云,在连接完成后马上需要用5发送连接设备指令,否者会自动断开
- AT+QMTCONN=0,"Lighting",连接设备,这里的lighting是阿里云自己定义的设备名称
- AT+QMTPUB=0,0,0,0,"/sys/a1tW6nsMu2w/BC28/thing/event/property/post",发布指令
- {params:{RoomHumidity:58.8}},具体数据
MQTT接收过程
- AT+QMTSUB=0,1,"/a1tW6nsMu2w/BC28/user/get",0阿里云下发消息需要NB提前订阅阿里云的发布主题
MQTT最后断开设备或关闭网络
- AT+QMTDISC=0,断开设备
- AT+QMTCLOSE=0,关闭网络(不要关闭)
云平台配置
直接在aliyun上,搜索物联网云平台即可。
代码以及具体实现
串口的问题
以前的串口存在一个问题,一次只能接收一行数据,必须要每次接收多行数据才行。因此,buffer再加一个维度,得到的一个二维的buffer用于接收多行的数据。
逻辑是,以前在flag=true的时候,是直接忽略了下一次数据的输入。现在,去掉这一个限制,当前这个flag(一行数据接收完毕)的功能不用,其功能转化为判断是否接收完毕的功能,如果其值为false说明没有接收完毕,继续接收;如果为true(手动置位),说明当下这一批数据已经处理完成,不再需要,将数组清空,最后将其reset为false,进行新一轮数据的等待接收。
信息发送





参考资料
物联网通信之初识MQTT协议_JIANGYINGH的博客-CSDN博客
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Xuanyao's Blog!





