赞
踩
本文主要介绍EP8266、ESP32以及ESP32S2开发板,借助EMQ服务器实现MQTT通讯的操作过程
固件烧录部分参考ESP-Touch配网的实现的固件烧录章节,这里不再赘述
下载EMQX软件
软件获取链接:https://www.emqx.cn/downloads#broker,这里以windows版本为例
将下载好的EMQX软件压缩包解压到自定义路径中,如本机路径为:D:\EMQX\emqx,打开Windows PowerShell,指定到EMQX软件的路径,输入“./bin/emqx start”命令,若无报错,即服务器开启成功
打开浏览器,输入“本地IP:18083”,如本机的IP地址为192.168.2.158,或者输入“localhost:18083”域名,点击enter访问,输入账号“admin”,密码“public”,点击login
进入Dashboard界面,点击Tools,选择Websocket,点击“Connect”;
MQTT连接成功之后,在Subscribe对话框中,Topic内容填写“ESP8266/online”,Qos选择0,点击Subscribe;在Message对话框中,Topic内容填写“ESP8266/EMQX”,Message内容填写“abcde”,Qos选择0
打开串口,重启单片机(按下单片机复位键),开始发送AT指
依次发送AT指令
AT #测试AT功能
AT+CWMODE=1 #设置模组进入STA模式
AT+CWJAP="ssid","password" #连接wifi
AT+MQTTUSERCFG=0,1,"用户ID","登陆账号","密码",0,0,""
#设置MQTT连接所需要的的参数,
#包括用户ID(随机取,不为空)、 账号(admin)以及密码(public)
AT+MQTTCONN=0,"本地IP",1883,0
AT+MQTTPUB=0,"ESP8266/online","1",0,0
#发布一条topic为“ESP8266/online”,message为“1”的数据,
#QOS设置为0
AT+MQTTSUB=0,"ESP8266/EMQX",0 #订阅一条topic为“ESP8266/EMQX”,QOS为0的数据
操作结束之后,DashBoard中Messages received显示sub到这条数据的时间、QOS值以及消息内容等信息,效果如下:
在Dashboard界面中将设置好的Message数据send出去之后,串口将显示接收到的数据内容,包括QOS值以及消息内容,效果如下:
关闭MQTT连接,在串口中输入AT指令:AT+MQTTCLEAN=0
MQTT协议是基于TCP协议的应用层协议,其主要特点是MQTT是基于客户端-服务器的消息发布与订阅协议。
提供了一对多消息分发,以实现与应用程序的解耦。
对负载内容屏蔽的消息传输机制。
对传输消息有三种服务质量(QoS)可选。
数据传输和协议交换的最小化(协议头部只有2字节),以减少网络流量。
通知机制,异常中断时通知传输双方。
更多MQTT协议的工作详情参考文章——MQTT协议详解
以上就是本期分享的内容,目的在于让大家快速适应新品方案的开发,以上提供的驱动源码联系我们可以免费提供
官方官网:https://www.ai-thinker.com
开发资料:https://docs.ai-thinker.com/
官方论坛:http://bbs.ai-thinker.com
商务合作:sales@aithinker.com
技术支持:support@aithinker.com
公司地址: 深圳市宝安区西乡固戍华丰智慧创新港C栋410
联系电话:0755-29162996
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。