ESP32無線模組開發

2021-07-30 19:12:38 字數 2821 閱讀 2557

最近在做一款低功耗裝置,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...