ESP32開發 NVS儲存配網資訊 自動重連

2021-10-09 17:48:57 字數 1177 閱讀 2470

一.初步的實現方式

二.**改動  

寫在前面:有了前面的基礎,我們這一章想實現模組在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提供針對不同環境下的低功耗方案,功能框圖...