||
本文以Air8101開發板為例,演示SoftAP配網示例要點。
最新源碼及實操教程詳見:
https://docs.openluat.com/air8101/luatos/app/wifi/softap/
啟用Air8101開發板AP模式,AP是Access Point的縮寫,即無線接入點,它是一個無線網絡的中心節點,可以看成是一個服務器。
SoftAP配網也就是讓Air8101工作在AP模式下,創建一個Wi-Fi熱點,用戶使用手機或者電腦連接這個熱點,通過配網頁面將要連接的Wi-Fi信息發送給Air8101,從而實現配網。
通過HTTP服務器實現對Wi-Fi熱點的管理和控制。
可以在網頁通過HTTP請求控制LED的開關、發送任意消息、掃描可用的Wi-Fi網絡、獲取AP列表,以及連接到新的Wi-Fi網絡。
通過手機或者電腦登錄配網網頁(IP地址:192.168.4.1),顯示內容如下:
使用手機或電腦登錄到Air8101開發板的網絡IP地址,此時手機或電腦等登錄設備作為客戶端,而開發板則充當服務端,雙方進行簡單的通信交流。
以下統一以服務端和客戶端來分別指代開發板和登錄設備。
1)客戶端通過配網頁面點擊Wi-Fi掃描按鈕
可以實現WiFiScan的功能,顯示在配網系統頁面以及LuaTools日志中。
如下所示:
2)服務端向配網頁面發送消息
用戶在客戶端網頁的輸入框中鍵入消息,然后將這個消息通過POST請求以JSON格式發送到服務端的/msg路徑,服務端監聽到請求后,解析獲取到的消息,并通過log打印出來。
3)客戶端通過配網頁面發指令,讓服務端連接到新的Wi-Fi網絡。
如下圖所示,服務端連接到Wi-Fi熱點: kfyy123,連接成功后,會發布一個“IP_READY”消息。后續可以通過訂閱該消息,實現聯網后的業務邏輯實現。
注意開發板需要配置成AP模式,創建一個Wi-Fi熱點,手機或電腦打開配網網頁前,需要先連接上前面創建的熱點。
通過wlan.getMac()接口即可,返回值是以十六進制形式呈現。
--優點:SoftAP配網方式很可靠,成功率基本達到100%,設備端的代碼也簡單。
--缺點:需要手動切換手機Wi-Fi連接的網絡,先連接到Air8101的AP網絡,配置完成后再恢復連接正常Wi-Fi網絡,操作上有一定的復雜性。
如果想要更簡潔的配網方式,可參考下圖鏈接,使用AirKiss配網方式:
今天的內容就分享到這里了~