ESP8266-MQTT收发消息

ESP8266-MQTT收发消息,第1张

ESP8266-MQTT收发消息

目录
  • MQTT简介
  • 一、MQTT服务器搭建(ActiveMQ /Apollo)
    • 1、下载-安装
    • 2、搭建MQTT服务器
      • 2.1、CMD进入工作文件夹
      • 2.2、创建实例
      • 2.3、运行实例
  • 二、ESP8266-MQTT接入
    • 1、硬件准备
    • 2、软件准备
    • 3、软件 *** 作
      • ①烧录工具下载
      • ②烧录配置
      • ③启动模块
      • ⑤ 发布消息
      • ⑥订阅消息
      • ⑦ 关闭MQTT连接

MQTT简介

MQTT 是轻量级基于代理的发布/订阅的消息传输协议,设计思想是开放、简单、轻量、易于实现。这些特点使它适用于受限环境。MQTT有三种消息发布服务质量:

QS0:“至多一次”,消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。 这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。
QS1“至少一次”,确保消息到达,但消息重复可能会发生。
QS2“只有一次”,确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。

一、MQTT服务器搭建(ActiveMQ /Apollo) 1、下载-安装

官网下载: https://activemq.apache.org/components/artemis/download/
下载完成后,将压缩包解压至安装目录,这里我保存的路径是 D:MQTT-apache

安装完成后得到这个文件夹,如图

2、搭建MQTT服务器

这里需要Java环境,系统环境变量下要有JAVA_HOME。
检查和安装java环境:https://jingyan.baidu.com/article/ea24bc39c26f74da62b33100.html.

2.1、CMD进入工作文件夹

详细方法参照此处
下面以 D:MQTT-apache 为例,
方法一:
在对应文件夹中直接点击路径栏,默认全部选中。直接输入cmd,回车后,即可看cmd窗口,默认路径就在该路径。

方法二:
win+R键打开运行窗口,输入cmd,打开命令行界面CMD

②在cmd界面输入命令:盘符:
比如切换到D盘,那么命令就是

d:

然后需要切换到具体的路径,就是用cd 路径.例:

cd D:MQTT-apache

2.2、创建实例

运行其工作目录下的…binartemis.cmd,命令后面带上参数「create mybroker」,创建服务器实例。
binartemis.cmd create [实例名],例:
//创建一个名为mybroker的实例

binartemis.cmd create mybroker 


然后需要依次输入你的用户名、密码(窗口不显示出来了)、是否允许匿名访问。

完成实例的创建。

2.3、运行实例

进入 . [ 实例名 ] bin 目录,运行 artemis.cmd

cd .[实例名]bin
artemis.cmd run

例:

cd .mybrokerbin
artemis.cmd run

运行后输出信息如下:

找到服务器的Web管理页面的地址,一般为 http://localhost:8161
在浏览器中打开 http://localhost:8161,登录服务器Web页面,进入管理控制台(Management Console)

在控制台登录页面输入创建实例时的用户名和密码

二、ESP8266-MQTT接入 1、硬件准备

①ESP8266系列开发板、USB转TTL(串口模块)
②接线

ESP8266 —> USB转TTL
5V ------------> 5V
GND ---------> GND
Tx0 (IO0) —> Rx
Rx0 (IO3) —> Tx

我的是在淘宝eixpsy店 买的ESP8266开发板(CH340),刚好板载串口
没收广告费,就不放链接了

2、软件准备

①AT指令固件下载(.bin文件)
链接:https://docs.ai-thinker.com/%E5%9B%BA%E4%BB%B6%E6%B1%87%E6%80%BB
选择第四个,MQTT透传AT固件 (固件号:1112)

将下载的文件解压,得到 ** (1112)ESP8266-AT-4M.bin ** 文件

3、软件 *** 作 ①烧录工具下载

链接:https://www.espressif.com/zh-hans/support/download/other-tools

将下载的文件解压,运行flash_download_tool_3.9.2.exe,选择ESP8266,点击OK

②烧录配置

安装下图进行配置。
选择上面步骤下载的 ** (1112)ESP8266-AT-4M.bin ** 文件
COM号选择ESP8266连接的端口。

烧录完成

③启动模块

打开串口,波特率115200,reset按钮重启单片机,串口收到部分乱码与模块信息
我后面使用串口调试助手与MQTT.fx进行调试
串口调试助手XCOM下载链接
MQTT.fx下载链接

④AT指令连接WIFI与MQTT服务器

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
#本地IP是你安装了MQTT服务器的电脑的IP,不懂的看这

如果连接成功,如下图。MQTT控制台中可看到连接。

⑤ 发布消息

AT+MQTTPUB=0,“ESP8266/online”,“abc”,0,0
#发布一条topic为“ESP8266/online”,message为“abc”的数据, #QOS设置为0

⑥订阅消息

AT+MQTTSUB=0,“ESP8266/ACtiveMQ”,0
#订阅一条topic为“ESP8266/ACtiveMQ”,QOS为0的数据
收到的内容依次为:QoS,Topic,消息长度,消息

⑦ 关闭MQTT连接

在串口中输入AT指令:AT+MQTTCLEAN=0

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5636966.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存