请选择 进入手机版 | 继续访问电脑版

MQTT应用——基于EMQ服务器(AT指令)

[复制链接]
查看3225 | 回复0 | 2021-4-28 11:13:44 | 显示全部楼层 |阅读模式
本帖最后由 GE-Rita 于 2021-5-3 13:42 编辑

一、介绍
        本文主要介绍EP8266、ESP32以及ESP32S2开发板的基于EMQX服务器实现MQTT通讯的操作过程;                    
  • 注意:
  • 本文中设备端与服务器通信过程在同一局域网中实现,因此,需要连接到同一个wifi
  • 在本操作中,ESP8266、ESP32以及ESP32S2开发板的AT指令一致,无需任何修改

二、硬件与软件准备
        关于硬件与软件准备方面参见之前的一片文档:ESP8266、ESP32以及ESP32-S2的AT指令固件烧录

三、操作步骤
       (1) 下载EMQX软件,软件获取链接:https://www.emqx.cn/downloads#broker

       (2) 这里以Windows版本为例下载EMQX软件


        (3)将下载好的EMQX软件压缩包解压到自定义路径中,如本机路径为:D:\EMQX\emqx,打开Windows PowerShell,指定到EMQX软件的路径,输入“./bin/emqx start”命令,若无报错,即服务器开启成功

(4) 打开浏览器,输入“本地IP:18083”或者“localhost:18083”域名,点击enter访问,输入账号“admin”,密码“public”,点击login


       (5) 进入Dashboard界面,点击Tools,选择Websocket,点击“Connect”;

       (6) 在Subscribe对话框中,Topic内容填写“ESP8266/online”,Qos选择0,点击Subscribe;在Message对话框中,Topic内容填写“ESP8266/EMQX”,Message内容填写“abcde”,Qos选择0


       (7) 打开串口,重启单片机,开始发送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值以及消息内容等信息,效果如下:


  (8) 在Dashboard界面中将设置好的Message数据send出去之后,串口将显示接收到的数据内容,包括QOS值以及消息内容,效果如下:



  (9)关闭MQTT连接,在串口中输入AT指令:AT+MQTTCLEAN=0









本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

7

主题

8

帖子

80

积分

注册会员

Rank: 2

积分
80