[筆記] 如何配置 ESP32 模組的連線資料與密碼?

        ESP32 模組具有 WiFi 和藍芽無線的功能,沒有鍵盤與螢幕的環境,要如何配置模組的 WiFi 連線方式呢?在樂鑫科技所著的 『ESP32-C3物聯網工程開發實戰』 一書中給了三種配置無線網路連線的方式,分別是:SoftAP配網﹑一鍵配網﹑藍芽配網。書中還提到另一種透過路由器的 WPS 方式配置網路參數,但是 WPS 功能逐漸被路由器所關閉,所以這裡就不討論 WPS 方式。

SoftAP 方式配網

        這方式的概念很容易理解,ESP32 模組一開始先做為 WiFi AP 的角色,讓手機 APP 連上 ESP32 模組,從 APP 介面將 WiFi 的連網參數 (SSID / password) 設定到模組裡面。接著,斷開模組的 AP 連線後,ESP32 會轉換成 STA 角色去連接無線網路 AP,如下圖所示。
        在 ESP32 模組的開發組件,原廠提供一個 wifi_provisioning 組件用來實現上述的這項功能,另外也提供手機端的 APP,名為 ESP SoftAP Prov 的手機應用程式,請從這連結下載https://www.espressif.com/zh-hans/support/download/apps。參考 YouTube 影片連結:https://youtu.be/6zTjZJ8Z76U

圖一:SoftAP 配置網路連線的示意圖 (資料取自原廠書)

一鍵方式配網

        第二種配置無線網路參數的方式屬於原廠自訂的功能,稱為 Smart Config。手機端需要下載一個 ESP Touch 的 APP 程式,而 ESP32 模組一開始藉由掃描通道的過程獲取連網的 SSID 和密碼,如下圖所示。然後,模組再連線到 SSID 的 WiFi AP,獲取網路 IP。這一個開發組件放在 esp_wifi 目錄底下,原廠也提供範例程式 smart_config。有關這部分的開發過程,可參考 YouTube 影片連結:https://youtu.be/yiuLxTq7Cqc

圖二:一鍵配置網路連線的示意圖 (資料取自原廠書)

藍芽方式配網

        第三種方式就是先透過藍芽 BLE 的連線將 SSID 和密碼設定到 ESP32模組上,然後再由模組連線到 WiFi AP 上面獲取網路 IP。藍芽 BLE 有個 GATT 通訊協定,經由這個通訊便可將訊息傳送到模組上。原廠提供名為 BluFi 的組件,這一個開發組件放在 bt\common\btc\profile\esp\blufi目錄底下。此外,手機端需要下載 EspBlufi APP 應用程式,先連線藍芽,輸入連網的參數後,ESP32 模組就能自動連上 WiFi AP了。
圖三:透過藍芽配置網路連線的示意圖 (資料取自原廠書)

留言

此網誌的熱門文章

[筆記] Raspberry Pi 樹莓派的軟體開發

[應用] 在 ESP32 Audio 開發板的 VoIP 範例

[筆記] ESP32 在 VS Code 開發環境的編譯與除錯

[筆記] Visual Studio 遠端偵錯的設定步驟

[筆記] Android APP 藍芽範例說明 -- BluetoothChat

[應用] 藍芽 BLE client/server 架構:BLE remote controller

[模組] LD3320 離線語音辨識晶片與 ESP32 無線傳輸