一.初步的實現方式
二.**改動
寫在前面:有了前面的基礎,我們這一章想實現模組在smartconfig的基礎上,實現掉電自動重連的功能。那麼我們勢必要將配網的資訊儲存在nvs中,上電讀取,如果得到儲存的配網資訊,就直接去聯網;如果沒有,就啟動smartconfig配網。
初步的想法是按照以下的方式實現:
接下來就是設計**了,這裡我在上面幾章的基礎上做了下改進,具體見以下:
1.首先定義乙個列舉,表示wifi配網資訊是否又被儲存的標記
2.讀取nvs的部分,這裡我加入了乙個聯網資訊儲存標記,讀取到這個標記為wifi_configed標誌著儲存了ssid和key,可以直接聯網
3.讀取後的處理部分,根據是否讀取到儲存資訊做不同的處理,如果有聯網資訊就直接聯網,沒有就啟動smartconfig配網
4.事件處理部分,這裡我做了點改動
在實際的應用中可能會出些以下情況:
1. 將產品從乙個地方帶到另乙個地方,這時候需要給模組重新配網,但是因為之前的配網資訊一直還儲存在nvs中,所以這時候我們需要想辦法清除掉之前的配網資訊,再重新配網。通常的做法是通過乙個按鍵,長按或者短按清楚配網資訊,重啟模組重新配網。
2. 使用者在進行配網時無法直白的看到配網的情形,通常的做法是加乙個指示燈,不同的閃爍頻率代表不同的情形。
ok,接下來我們我們會新增這兩個功能。
ESP32 學習日誌(5) NVS
非易失性儲存 nvs 庫主要用於在 flash 中儲存鍵值格式的資料。本文件將詳細介紹 nvs 在esp32中的使用。nvs 的操作物件為鍵值對,其中鍵是 ascii 字串,當前支援最大鍵長為 15 個字元,值可以為以下幾種型別 include nvs flash.h void main void ...
esp32 使用nvs進行軟體復位
1 硬體 一塊esp32最小系統板 2 程式原始碼 include include include include freertos freertos.h include freertos task.h include freertos event groups.h include nvs.h in...
ESP32無線模組開發
最近在做一款低功耗裝置,soc選用上海樂鑫科技的一款esp32 wifi模組。樂鑫官網。esp32是整合了2.4ghz wifi和藍芽雙模組的單晶元方案,專為移動裝置 可穿戴裝置和物聯網應用而設計。在功能簡單的使用環境下具有很好的實用性,且操作簡單,esp32提供針對不同環境下的低功耗方案,功能框圖...