最近在做一款低功耗裝置,soc選用上海樂鑫科技的一款esp32 wifi模組。樂鑫官網。
esp32是整合了2.4ghz wifi和藍芽雙模組的單晶元方案,專為移動裝置、可穿戴裝置和物聯網應用而設計。在功能簡單的使用環境下具有很好的實用性,且操作簡單,esp32提供針對不同環境下的低功耗方案,功能框圖如下:
esp32提供了1296k片上儲存器位址空間,19704k片外儲存器位址空間。
* 片上儲存包括:448k的內部rom,520k的內部sram和少量的rtc memory
* 片外儲存器包括:最大支援16m片外spi flash和最大支援8m的片外spi sram。
esp32提供了低功耗管理功能,可配置裝置進入省點模式,具體模式如下圖所示:
不同模式下的功耗參考值:
搭建軟體開發環境,主要分為以下三步:
esp32開發板
可根據樂鑫官方提供的硬體設計參考自己設計開發板,樂鑫提供了整合的開發板,檢視鏈結,效果圖如下所示
esp-if sdk開發包
linux@esp32_sdk$ tree -l 1
.├── add_path.sh
├── components
├── contributing.rst
├── docs
├── examples
├── kconfig
├── license
├── make
├── readme.md
└── tools
5 directories, 5 files
(2)配置環境變數,在~/.bashrc檔案末尾增加:
export idf_path=/home/test
/share/code
/esp32/source
export path=/home/test
/share/code
/esp32/toolchain
/xtensa-esp32-elf/bin
:$path
(3)編譯原始碼和example
進入examples/wifi/wpa2_enterprise/目錄
# 編譯選項配置
make menuconfig
# 開始編譯
make
韌體燒寫工具功能需求如下:
(1)裝置啟動後初始狀態自動進入ap模式,熱點為esp_***(可選mac位址後4個位元組),無密碼(2)客戶端軟體支援配置ap連線,並傳送路由器wifi資訊到裝置
(3)裝置接收到wifi資訊後,退出ap模式,進入station模式開始連線wifi
(4)裝置無操作時進入睡眠模式,間隔30s喚醒
(5)裝置支援外部按鍵喚醒,喚醒後自動連線wifi
}更多功能可根據sdk手冊進行相應配置。
ESP32模組比較
esp32系列無線ic是樂鑫espressif出品的價效比高的藍芽wifi雙模ic。官網 最詳細的手冊文件為 esp32 technical reference manual cn.pdf 將官方和一些其他方的模組列表比較,包括資源,也把晶元放進去。esp32單核晶元用的少沒有列出。可以看出,安信可...
使用MicroPython開發ESP32網路開發
micropython庫分為三部分。一部分是把基礎python中常用的庫結合硬體特典重新實現的,為了做區分這部分庫在命名上稍有改變,比如原版的 json 模組在micropython中改名為 ujson 不過在使用的時候用 json 和 ujson 兩個名稱都可以。micropython庫第二部分是...
ESP32 總覽 基於PIO開發
introduce 總體介紹 arduinoota 遠端無線韌體更新程式。使用espota.py上傳到指定裝置。asyncudp 用於非同步驅動的udp資料客戶端和服務端 azureiot 與microsoft azure iot服務互動的庫 ble 基於v4.2的藍芽客戶端與服務端 bluetoo...