前言
有多少人一直在期盼着小程序可以實現SmartConfig或者Airkiss的功能? 來吧!我的這種方式包您滿意.
注:APUConfig 是我自己取的名字(哈哈誰讓這種方式,我是第一個在微信小程序上實現的),代表着 AP UDP Config
綁定流程詳細說明:
APUConfig小程序端源碼:
https://gitee.com/yang456/APUConfig.git

實際上就是控制Wi-Fi模塊開熱點,控制小程序連接熱點,然后通過UDP通信!
實現功能概要
這節是用SDK直接開發的ESP8266
然后實現微信小程序用APUConfig方式配網綁定8266,最后通過MQTT通信控制
提醒:
本教程SDK開發的源碼,全部按照針對於開發人員講解!
本教程SDK開發的源碼只說明怎么用和代碼處理思路!
如果沒有基礎,請先學習SDK開發的基礎教程!

說明
為了能讓用戶輕松的移植使用,我封裝成了以下文件
教程最后會說明如何移植到自己的項目!

下載程序
提醒:V2.5.1及其以上PCB版本,單片機的PB2內部直接連接了Wi-Fi的復位引腳,單獨開發Wi-Fi時請保持單片機的PB2引腳為高電平!
提醒:V2.5.1及其以上PCB版本,單片機的PB2內部直接連接了Wi-Fi的復位引腳,單獨開發Wi-Fi時請保持單片機的PB2引腳為高電平!
提醒:V2.5.1及其以上PCB版本,單片機的PB2內部直接連接了Wi-Fi的復位引腳,單獨開發Wi-Fi時請保持單片機的PB2引腳為高電平!
可以把boot0接3.3V,然后復位下STM32,不要讓STM32工作!
可以把boot0接3.3V,然后復位下STM32,不要讓STM32工作!
可以把boot0接3.3V,然后復位下STM32,不要讓STM32工作!
1.調整撥動開關讓WIFI和電腦串口通信
2.按下固件(WIFI)按鈕 (IO0引腳)
3.按下復位按鈕
4.松開復位按鈕
5.松開固件按鈕
此時,模塊進入等待刷固件狀態




安裝微信小程序
安裝方式1: 此節微信小程序已經發布,可以直接微信掃描安裝

安裝方式2: 用開發軟件打開本節工程,使用預覽微信掃碼安裝到手機


小程序配網綁定控制
一,點擊小程序下方的添加設備按鈕

二,選擇添加Wi-Fi設備

三,輸入路由器密碼(注:Wi-Fi名稱自動獲取,也可自己填寫)

四:長按 固件按鈕(GPIO0)大約3S,直至指示燈快閃,
內部默認用GPIO0檢測按鍵輸入

五.點擊小程序上的 "綁定設備"按鈕,開始搜索設備,綁定成功,將自動跳轉到主頁面,顯示綁定的Wi-Fi設備
5.1 正在嘗試連接Wi-Fi模塊的熱點

5.2 連接上熱點,正在和模塊通信

5.3 成功綁定設備

六.點擊設備,進入控制頁面,控制設備

七, 控制LED
注意:SDK程序是控制的其 GPIO5引腳


移植使用
1.用戶把以下兩個文件拷貝到自己的工程

2.包含頭文件(具體路徑依據自己的自行修改)

3.啟動APUConfig配網
apuconfig_start(apuconfig_callback,60);//啟動apuconfig配網

/*** *apuconfig 配網回調函數 */ void apuconfig_callback(apuconfig_status status, void *pdata){ switch(status) { case APU_STATUS_GETING_DATA://獲取了APP發送的數據 os_printf("\nAPU_STATUS_GETING_DATA:%s\n",pdata); break; case APU_STATUS_LINK_SSID_PSWD://開始連接路由器 { struct station_config *sta_conf = pdata; os_printf("\nAPU_STATUS_LINK_SSID_PSWD: %s %s",sta_conf->ssid,sta_conf->password);//打印連接的路由器信息 break; } case APU_STATUS_LINKED://連接上路由器 { os_printf("\nAPU_STATUS_LINKED: %s\n",pdata);//打印分配的IP地址 break; } case APU_STATUS_UDPSEND://模塊返回給APP數據 os_printf("\nAPU_STATUS_UDPSEND:%s\n",pdata); break; case APU_STATUS_LINK_OVER://配網結束 apuconfig_stop();//結束apuconfig SmartConfigFlag=0; break; } }
這樣就可以了
提示:
一般咱用一個按鈕長按一段時間后啟動配網!

注意:
配網結束以后,為了讓手機能夠斷開和模塊的無線連接,
讓手機可以連接到原先上網的路由器
我設置了更換到Station模式

當然也可以在下面位置設置重新啟動

