ESA2GJK1DH1K微信小程序篇: 微信小程序APUConfig給WI-Fi模塊配網並綁定設備,並通過MQTT控制設備(ESP8266_SDK開發版)


 

 

 

前言

 有多少人一直在期盼着小程序可以實現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模式

 

 

 

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

 


免責聲明!

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



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