Skip to content

Latest commit

 

History

History
148 lines (75 loc) · 9.07 KB

README.md

File metadata and controls

148 lines (75 loc) · 9.07 KB

ESP8266串口透传MQTT

项目说明

UART⇄MQTT

可视化配置WIFIMQTT、订阅主题、连接状态,持久化存储,下一次重启自动连接,长按flash按钮清除连接信息、自定义控制日志输出

以下代码都在 ESP8266 Node MCU验证过(ESP12F模组)

下面以ESP8266 Node MCU为例,视频演示链接:https://www.bilibili.com/video/BV1d94y1c7RA (注:视频演示的是核心功能的使用,github仓库会更新一些新功能)

配置页面

设备信息 MQTT配置 WIFI配置
image-20231130162217993 企业微信截图_17037258401379 image-20231130162242987

串口、MQTT发送接收

串口发送长文本,MQTT订阅消息接收 MQTT消息推送、串口接收
image-20231130164454869 image-20231130164423978

日志输出

日志输出(默认开启)
image-20231201111801450

固件使用步骤

1、下载烧录固件并烧录(固件在build目录下,烧录工具ESP8266Flasher.exe也在仓库里。

注:使用这个软件烧录需要确保你的ESP8266自带自动下载电路(大部分都带,有的不带的需要点击一下Flash按键),确保端口、烧录固件选择正确

image-20231130165151013 image-20231130165202264

2、ESP8266会启动一个热点,连接上热点之后(以ESP开头的热点)访问192.168.4.1会跳转到配置页面

image-20231130165433039 image-20231130165535946

3、点击选择WIFI,输入WIFI密码、配置MQTT之后点击保存

注:事先准备一个MQTT服务器,MQTT服务器可以是外网,确保此WIFI可以访问你的MQTT服务器建议先配置好WIFI保存后再配置MQTT

image-20231130165615520 企业微信截图_17037258401379 image-20231130165649370

4、串口连接使用(确保客户端、ESP8266都能够正常访问MQTT服务器)

注:串口默认波特率为9600,串口发送ESP8266需要结束符,默认为uart-mqtt,二者都可以在配置页面修改(修改后重启模块)

image-20231130164423978

5、日志输出默认开启,日志输出引脚默认为D0(可在代码里自定义修改),波特率与透传串口相同,调试信息默认打印设备信息以及ESP8266MQTT透传、接收的信息

调试口

代码开发(windows环境)

1、准备好ESP8266Arduino开发环境

  • 安装Arduino软件(下载官网:Software | Arduino)这里是1.8.19版本(在我的测试中Arduino IDE版本1.8.192.1.0均正常) 注:安装过程中会让你安装一些组件,一路点安装、下一步即可image-20231201115618594

  • 安装ESP8266Arduino开发环境,先添加附加开发板管理网址https://arduino.esp8266.com/stable/package_esp8266com_index.json,然后安装开发板扩展包,注意是3.1.12版本,其它版本可能出现问题,下载库的时候可能会因为github被墙而无法下载,自行在网上搜索解决方案

    image-20231201130006353

image-20231201125507908

image-20231201130043913

image-20231201133347768

  • 烧录ESP8266Arduino固件(已经烧录Arduino固件的不用烧录)

    image-20231201120003337

2、准备好MQTT服务器、串口助手、烧录工具

3、双击打开Aduino项目,在首选项配置项目文件夹位置为D:\UART-MQTT-Trans-master(具体看自己路径)

image-20231201114558214
image-20231201134034984

3、注意不要更新相关库文件版本(尤其是WIFI Manager库)

image-20231201114231826

4、配置开发板信息

image-20231201114822875

5、点击编译

image-20231201122511046

6、数据线连接好后配置好端口,可以点击上传

image-20231201122712940 image-20231201122851936

7、自定义修改代码后可以选择导出新的固件

image-20231201123000228 image-20231201123120176

8、代码可自定义,自己实现想要的功能,比如开启、关闭日志串口,修改日志串口的输出引脚,修改串口向MQTT的结尾标志字符串

image-20231201123243421

image-20231201123713932

注:

1、串口波特率默认设置为9600(可在配置页面自行更改,修改后需重启模块)

2、长按flash三秒左右等待模块LED闪烁,说明清除配置成功

3、串口向MQTT发送数据时,注意要有一个结尾标志,默认是uart-mqtt(可在配置页面自行更改,修改后需重启模块)

4、在重启时,模块会通过串口打印自己信息(注意串口波特率要匹配)

5、事先启动一个MQTT服务器,在配置页面可以配置user password clientId

6、本固件已在ESP8266MCU模块上验证过

7、日志默认在D1也就是GPIO16输出日志(可在代码里自行配置)