2-ESP8266 SDK開發-項目開發教程-微信小程序使用APUConfig配網綁定ESP8266,並通過MQTT實現遠程通信控制(自建物聯網平台)


<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/Learn8266ForSDK" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

 

說明

這節使用微信小程序使用APUConfig配網綁定ESP8266,並通過MQTT實現遠程通信控制繼電器和查看設備溫濕度數據;

APUConfig是我自己做的一種方式, 為了便於使用微信小程序綁定WiFi模組而寫的;

 

注意

這節是連接的自建的物聯網平台,用戶可以按照下面的教程自行搭建;

https://www.cnblogs.com/yangfengwu/p/13208227.html

教程有Windows版和Linux版,下面的教程是用來做產品項目的

配置起來周期比較長,需要等2個星期才會審核完成!

對於學習開發者使用我提供的MQTT服務器地址信息測試就可以.

 

 

 

測試

1,打開源碼,打開下載軟件,添加上下載的bin文件

 

 

 

 

 

eagle.flash.bin                             0x00000

eagle.irom0text.bin                      0x10000

esp_init_data_default_v08.bin    0x3FC000

blank.bin                                      0x3FE000

 

注意:bin文件排列順序要按照下圖. 

 

 

 

2,讓開發板進入下載模式

按下固件按鈕(一直按着) → 按下復位按鈕 → 松開復位按鈕 → 松開固件按鈕

 

3,點擊START下載

 

 

 

4,下載完成以后復位下

 

    

 

5,安裝微信小程序(使用開發工具打開以下工程)

注:如果沒有學習過小程序,請先學習微信小程序開源教程

 

 

6.點擊 預覽,使用微信掃碼以后安裝到手機

注:默認連接的我的服務器,mnif.cn,用戶可以在詳情里面選擇不校驗域名(不推薦,可能通信有問題)

 

 

推薦在微信小程序平台上設置域名白名單

 

 

 

 

 

 

 

點擊預覽,然后使用微信掃描安裝到手機

 

7.添加設備

 

8.添加WiFi設備

 

 

9.手機連接自家的路由器,輸入自家路由器密碼

提示:路由器名稱會自動顯示, 如果沒有自動顯示需要打開手機定位

 

10.長按開發板的固件引腳大約3S,等待指示燈快閃,之后松開按鈕

 

11.點擊 APP 綁定設備按鈕

 

 

綁定成功以后自動跳轉到主頁面,並添加了一個設備

 

 

12.點擊設備進入設備控制頁面

頁面顯示的為設備的溫濕度數據, 可以點擊按鈕控制開發板繼電器

 

 

整體說明

整個程序就是利用MQTT服務器實現微信小程序和設備之間通信.

微信小程序通過和設備配網綁定,讓設備連接上路由器.

通信過程中,APP也獲取到了設備的MAC地址信息.

 

設備連接上MQTT服務器以后,設備訂閱的主題是: user/設備的MAC地址   設備發布的主題是: device/設備的MAC地址

微信小程序獲取設備的MAC地址后,微信小程序發布的主題是: user/設備的MAC地址   微信小程序訂閱的主題是: device/設備的MAC地址

微信小程序和設備的發布和訂閱的主題相對應,APP和設備的消息發給MQTT服務器以后,MQTT服務器就為各自的消息互相轉發.

 

 

程序綁定過程

1.整體

綁定過程中WiFi模塊會發出固定無線信號(ssid:wifi_8266_bind; Password:11223344),

微信小程序連接WiFi模塊發出的無線信號,然后使用UDP和模組進行通信

微信小程序連接上wifi模塊的無線以后,不停的使用udp把路由器信息發給模組

模組接收到路由器信息以后把自身的MAC地址發給微信小程序

 

2,ESP8266的綁定程序封裝好了,用戶只需要調用即可

 

 

 

 

3.現在看下微信小程序的綁定程序,點擊添加設備菜單跳轉到添加設備頁面

 

4.點擊添加WiFi設備按鈕跳轉到綁定頁面

 

 

5.點擊綁定按鈕連接WiFi模塊的熱點,初始化UDP

注:用戶不用過於關心內部細致的流程,以后移植使用的時候知道大體就可以

 

 

6.連接上熱點以后允許UDP每隔1S發送路由器信息給WiFi模組

 

 

 

 

 

7,接收到模組返回的mac地址數據,攜帶着數據跳轉到index

 

 

8.index把接收的數據存儲起來

 

 

9.在onShow顯示數據

 

 

 

ESP8266 MQTT程序說明

1.初始化MQTT,並執行連接

 

 

 

 

 

2.檢測到MQTT斷開,發送任務通知, 在任務函數里面重新連接MQTT

提示:按照官方建議,為使程序穩定,所有的網絡通信操作函數盡量在任務中執行.

 

 

 

 

 

 

3.接收處理MQTT數據

 

 

4.發送MQTT數據

 

 

 

5.獲取串口接收的數據,並把串口接收的數據發送到MQTT

 

 

 

 

 

 

微信小程序 MQTT程序說明

1,關於mqtt的js包

paho-mqtt.js 官方底層包  mqtt.js本人再次封裝的mqtt包,用戶后期通信都是使用這個里面的api函數

用戶可以根據自己的mqtt服務器更改參數

 

 

2,連接mqtt只需要在一開始的時候調用下 

MQTT.ConnectMqtt();//鏈接MQTT

然后內部就是自動連接.

 

3,點擊頁面上的設備,攜帶着設備的MAC地址信息跳轉到設備控制頁面

 

4,控制頁面在onLoad函數里面接收跳轉的數據,並在里面設置MQTT回調函數

 

5.在定時器里訂閱主題

 

 

 

 

 

 

6.在MQTT接收回調函數中接收處理數據

 

 

 

7.點擊按鈕發布繼電器控制命令

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM