ESA2GJK1DH1K基礎篇: 移植源碼中SmartConfig程序到自己的項目


 

 

 

前言:

  說明兩個地方

  1.點擊按鈕啟動SmartConfig的地方

    

  2.最終跳轉的地方

 

 

    

 

 

 

 

 

說明

  這節說明一下,如何把本人源碼里面的SmartConfig程序移植到自己的工程

  我要把所有的全部拿出來講,讓大家可以方便的把每一個功能移植到自己的工程.

 

新建一個項目

  主頁面只放一個按鈕和一個文本框

  按鈕是負責跳轉到配網綁定頁面,文本框顯示配網綁定完成以后獲取的Wi-Fi的MAC信息

    

 

 

 

 

新建一個新頁面,配網綁定用的

 

 

 

 

 

 名字隨意

 

 

 

 

換個布局

 

 

 

 

 

 

 

 

 

里面放一個EditText  用來顯示咱連接的路由器名稱

一個EditText 用來輸入密碼

一個按鈕用來啟動SmartConfig

 

 

 

 

 

 

 

打開教程的APP源碼

注意:不支持中文目錄,把源碼拷貝到英文目錄下,然后用軟件打開

 

 

 

自己新建的工程選擇導入模塊

 

 

 

選擇源碼里面的esptouch

 

 

 

 

 

 

 

 

添加依賴

 

implementation project(':esptouch')

 

 

 

 

拷貝源碼里面的 ActivityBindDevices 到咱的新工程

 

 

 

 

 

 

 

 

 

 

 

這種錯誤是因為SDK版本不一致可能報錯,自己可以重新敲

  我是用的28,大家如果用29,就會報錯,29的包開始用 Androidx.XXXXX

 

 

 

 

 

 

修改布局的名字,根據控件的ID修改下

 

 

 

 

 

在AndroidManifest里面加上Activity

<activity
android:name=".ActivityBindDevices"
android:label="@string/app_name">
</activity>

 

 

 

在AndroidManifest里面加上權限

我把咱后期用到的全部加上了

    <uses-feature android:name="android.hardware.camera" />
    <uses-feature android:name="android.hardware.camera.autofocus" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <!--讀手機內容的權限 -->
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

 

 

 

 

加上動態權限申請

    String[] PermissionString={//需要提醒用戶申請的權限
            Manifest.permission.READ_EXTERNAL_STORAGE,
            Manifest.permission.CAMERA,
            Manifest.permission.ACCESS_FINE_LOCATION,
            Manifest.permission.READ_PHONE_STATE,
            Manifest.permission.WRITE_EXTERNAL_STORAGE,
            Manifest.permission.REQUEST_INSTALL_PACKAGES,
    };

 

https://www.cnblogs.com/yangfengwu/p/11909387.html    參考這節加上

 

 

 

 

 

 

 

 

 

 

主頁面加上按鈕點擊跳轉事件

 

 

主頁面加上顯示跳轉過來傳遞的MAC數據

 

 

 

 

測試

  一,下載單片機程序

  "測試APP使用SmartConfig綁定Wi-Fi 設備通過MQTT控制設備"

    

 

  二,調整波動開關位置,STM32和Wi-Fi通信

    

 

  

 

  三,短接STM32的PB2和Wi-Fi模塊的RST引腳(為了做項目穩定可靠,請使用單片機硬件復位Wi-Fi)

    

 

 

  四.長按PB5大約4S,等待指示燈快閃,松開PB5,Wi-Fi模塊進入配網狀態

    

 

 

  五.輸入路由器密碼,點擊APP的"搜索設備"按鈕,開始搜索設備

    

 

 

 

 

  六.配網以后自動跳轉到主頁面,顯示配網獲取的Wi-Fi的MAC地址

 

    

 

 

 

 

 

 

結語

反正APP的SmartConfig也就是這樣使用,后期自己想優化程序和頁面自己搞吧.

  

    

 


免責聲明!

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



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