一.固件燒錄
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