- MQTT简介
- 一、MQTT服务器搭建(ActiveMQ /Apollo)
- 1、下载-安装
- 2、搭建MQTT服务器
- 2.1、CMD进入工作文件夹
- 2.2、创建实例
- 2.3、运行实例
- 二、ESP8266-MQTT接入
- 1、硬件准备
- 2、软件准备
- 3、软件 *** 作
- ①烧录工具下载
- ②烧录配置
- ③启动模块
- ⑤ 发布消息
- ⑥订阅消息
- ⑦ 关闭MQTT连接
MQTT 是轻量级基于代理的发布/订阅的消息传输协议,设计思想是开放、简单、轻量、易于实现。这些特点使它适用于受限环境。MQTT有三种消息发布服务质量:
一、MQTT服务器搭建(ActiveMQ /Apollo) 1、下载-安装QS0:“至多一次”,消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。 这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。
QS1“至少一次”,确保消息到达,但消息重复可能会发生。
QS2“只有一次”,确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。
官网下载: https://activemq.apache.org/components/artemis/download/
下载完成后,将压缩包解压至安装目录,这里我保存的路径是 D:MQTT-apache 。
安装完成后得到这个文件夹,如图
这里需要Java环境,系统环境变量下要有JAVA_HOME。
检查和安装java环境:https://jingyan.baidu.com/article/ea24bc39c26f74da62b33100.html.
详细方法参照此处
下面以 D:MQTT-apache 为例,
方法一:
在对应文件夹中直接点击路径栏,默认全部选中。直接输入cmd,回车后,即可看cmd窗口,默认路径就在该路径。
方法二:
win+R键打开运行窗口,输入cmd,打开命令行界面CMD
②在cmd界面输入命令:盘符:
比如切换到D盘,那么命令就是
d:
然后需要切换到具体的路径,就是用cd 路径.例:
cd D:MQTT-apache2.2、创建实例
运行其工作目录下的…binartemis.cmd,命令后面带上参数「create mybroker」,创建服务器实例。
binartemis.cmd create [实例名],例:
//创建一个名为mybroker的实例
binartemis.cmd create mybroker
然后需要依次输入你的用户名、密码(窗口不显示出来了)、是否允许匿名访问。
完成实例的创建。
进入 . [ 实例名 ] bin 目录,运行 artemis.cmd
cd .[实例名]bin artemis.cmd run
例:
cd .mybrokerbin artemis.cmd run
运行后输出信息如下:
找到服务器的Web管理页面的地址,一般为 http://localhost:8161
在浏览器中打开 http://localhost:8161,登录服务器Web页面,进入管理控制台(Management Console)
在控制台登录页面输入创建实例时的用户名和密码
①ESP8266系列开发板、USB转TTL(串口模块)
②接线
ESP8266 —> USB转TTL
5V ------------> 5V
GND ---------> GND
Tx0 (IO0) —> Rx
Rx0 (IO3) —> Tx
我的是在淘宝eixpsy店 买的ESP8266开发板(CH340),刚好板载串口
没收广告费,就不放链接了
①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 ** 文件
链接: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
⑦ 关闭MQTT连接AT+MQTTSUB=0,“ESP8266/ACtiveMQ”,0
#订阅一条topic为“ESP8266/ACtiveMQ”,QOS为0的数据
收到的内容依次为:QoS,Topic,消息长度,消息
在串口中输入AT指令:AT+MQTTCLEAN=0
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)