欢迎光临散文网 会员登陆 & 注册

STM32驱动ESP8266连接阿里云(1)----使用AT指令连接阿里云

2023-08-28 11:12 作者:记帖  | 我要投稿

烧录MQTT固件

购买的ESP8266一般没带MQTT固件,所以无法通过MQTT指令与云平台通信,需要烧录固件。 MQTT固件可以在安信可科技进行下载。 交流qun:6_15061293。 https://docs.espressif.com/projects/esp-at/zh_CN/release-v2.2.0.0_esp8266/index.html

下载器可以使用乐鑫官方的下载器。 https://www.espressif.com.cn/zh-hans/support/download/other-tools 

下载完毕之后,选择对应模块的型号。 

接线方式如下所示。 


选择刚刚下载的固件,配置好对应的串口,点击下载即可。 

下载成功如下所示。 

若出现这种情况8-download data fail,则是flash大小不够,需要更换nor flash。 

创建阿里云产品

阿里云官网:https://www.aliyun.com/ 选择物联网平台,开始创建产品。 

选择公共实例,点击进入。 

创建产品。 

这里我的基本配置如下所示。 

添加设备。 

这里可以输入自己喜欢的设备名字,也可以点击确认自动生成。 

生成设备之后,将温湿度上报添加进来。 

添加标准功能。 

添加所需功能。 

添加完毕之后点击上线。 

AT指令接入阿里云 AT指令手册:https://docs.espressif.com/projects/esp-at/zh_CN/release-v2.2.0.0_esp8266/AT_Command_Set/MQTT_AT_Commands.html 设置Wi-Fi模式 

AT+CWMODE=1

连接路由器 

例如WIFI名称66,密码:1234abcd,则输入

AT+CWJAP="66","1234abcd"

可以通过查询IP地址来查看是否连接上wifi。 

AT+CIFSR

使能 SNTP 服务器,设置中国时区 (UTC+08:00) 

AT+CIPSNTPCFG=1,8,"ntp1.aliyun.com"

查看MQTT参数,这里面包含MQTT三元组信息:clientld,username,password 

设置登录密码 

对应的MQTT参数如下所示。 

AT+MQTTUSERCFG=0,1,"NULL","4WpGE15ik3MbGt0lEiIj&a1ZCbJN0kQB","0ac7bb4bf8eb2b96ea8ced5760eb72b62238935a5ec42c22849fcee7fe13137d",0,0,""

配置 MQTT 用户属性 设置指令:

AT+MQTTUSERCFG=<LinkID>,<scheme>,<"client_id">,<"username">,<"password">,<cert_key_ID>,<CA_ID>,<"path">

对应的MQTT参数如下所示。 

注意:需要在每个逗号前面加上\

AT+MQTTCLIENTID=0,"a1ZCbJN0kQB.4WpGE15ik3MbGt0lEiIj|securemode=2\,signmethod=hmacsha256\,timestamp=1679562771636|"

连接 MQTT Broker 

对应的MQTT参数如下所示。 

设置指令:

AT+MQTTCONN=0,"a1ZCbJN0kQB.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883,1

此时可以查看设备,可以看到已经是在线状态。 

订阅

订阅Topic是指在一个订阅服务中,用户可以选择关注或订阅感兴趣的话题或主题。 

通过订阅Topic,用户可以更加精准地获取自己的内容,提高信息的质量和效率。 

发送AT指令,订阅Topic 

AT+MQTTSUB=0,"/a1ZCbJN0kQB/4WpGE15ik3MbGt0lEiIj/user/get",1

订阅成功会在阿里云进行显示。 

上报数据

这里定义了温湿度的功能。 

可以使用AT+MQTTPUBRAW发布 MQTT 消息 

例如发送温度32 湿度66

AT+MQTTPUB=0,"/sys/a1ZCbJN0kQB/4WpGE15ik3MbGt0lEiIj/thing/event/property/post","{params:{\"Temperature\":32}}",0,0 AT+MQTTPUB=0,"/sys/a1ZCbJN0kQB/4WpGE15ik3MbGt0lEiIj/thing/event/property/post","{params:{\"CurrentHumidity\":66}}",0,0

实际情况如下所示: 

下发数据

下发数据可以按照如下操作进行。 

实际情况如下所示。 

断开连接

使用下列指令可以断开连接

AT+MQTTCLEAN=0


STM32驱动ESP8266连接阿里云(1)----使用AT指令连接阿里云的评论 (共 条)

分享到微博请遵守国家法律