一.固件烧录
1.打开安信可官网
2.点击wifi模组系列的ESP8266
3.点击各类固件后选择固件号1471下载
4.打开烧录工具将下载的二进制文件导入并将后面的起始地址写为0x00000,下面勾选40mhz QIO 8Mbit点击start下载即可
二.本地部署mqtt服务器(windows)
1.下载mosquitto后有一个mosquitto.conf文件,该文件为配置文件,用记事本打开
2.先找到我们局域网的内网ip地址,在命令号下输入ipconfig
我的就是192.168.1.106
3.修改配置文件,打开刚刚打开的配置文件
在最下方(可以在任意位置修改),主要要修改三个值第一个是listener:该值的格式为 端口号/ip地址(mqtt默认的端口号是1883)我就写1883了,那我的listener就是1883/192.168.1.106 第二个allow_anonymous该值是是否允许匿名登入我这边写的是false就是不允许匿名登入,填入true就是允许匿名登入;第三个是password_file该值的意思是用户信息的位置,我的位置就是在该目录下所以我的写入的值就是E:\mqtt\mosquitto\pwfile.example
4.部署完后重启下mqtt服务,win+r后输入services.msc找到Mosquitto Broker点击重启动即可。
三.增加用户信息
1.在mosquitto目录下的上方输入cmd按下回车
2. mosquitto_passwd -c pwfile.example 用户名:该命令相当于清楚所有的用户然后添加该用户mosquitto_passwd pwfile.example 用户名:该命令就是直接追加用户了那我这边就直接追加一个用户
用户名是user4,密码是1234。注意:密码不显示的,直接输入即可
我直接一共就有了4个用户user1、user2、user3、user4密码均是1234
四.部署mqttx
1.点击左边的加号
Name、Client ID随便填、Host的后面写入内网ip地址,也可就写入本机地址127.0.0.1,Username和Password要填入正确的,我这边填入的就是user1connect就行了。
2.先订阅一个主题topic1
五.ESP8266 01S发送消息(第一种方式)
依次发送以下AT指令
1. AT+CWMODE=1\r\n(设置客户端模式)
2. AT+CWJAP="120","Jhun1204"\r\n(填写wifi名称和密码,热点也可以)
3. AT+MQTTUSERCFG=0,1,"MQTT_ID","user2","1234",0,0,""\r\n(MQTT_ID填入客户端名称,后面依次填写设置好用户密码即可)
4. AT+MQTTCONN=0," 192.168.1.106",1883,0\r\n(后面两个填写自己的内网ip和端口,1883为默认的)
5. AT+MQTTPUB=0,"topic1 ","666",0,0\r\n(第一个双引号填写主题,第二个填写消息即可)
打开串口助手测试(波特率要为115200)
可以看到mqttx这边已经接受到了
六.ESP8266 01S发送消息(第二种方式)
依次发送以下指令
1.AT+CWMODE=1\r\n
2. AT+CWJAP="120","Jhun1204"\r\n
3. AT+CIPSTART="TCP"," 192.168.1.106",1883\r\n(后面填入ip和端口)
4. AT+CIPMODE=1\r\n(设置透传)
5. AT+CIPSEND\r\n(开始透传)
透传后相当于直接把数据发送到服务端,这边就要设备16进制发送按照mqtt协议发送即可
Mqttx这边已经收到了
我的两个十六进制为
1. 10 22 00 04 4D 51 54 54 04 C2 00 78 00 09 35 32 38 39 38 36 38 37 35 00 05 75 73 65 72 32 00 04 31 32 33 34
这个是连接,如果连接成功后,服务端会发送表示连接成功
2. 30 0B 00 06 74 6F 70 69 63 31 31 32 33
这个是像topic1发送123