在FireBeetle2ESP32P4開發(fā)板上使用ESP-IDF組件方式讀取SHT30溫濕度傳感器
手頭有塊FireBeetle 2 ESP32 P4開發(fā)板,這塊開發(fā)板是基于ESP32-P4R32 芯片設(shè)計的高性能微控制器(MCU)開發(fā)板,支持單精度FPU和AI指令擴展,具有強大的AI處理能力。能支持Arduino,MicroPython,Esp-idf開發(fā)。有嘗試使用MicroPython和Arduino在這個開發(fā)板上編程,還是比較簡單,今天嘗試一下使用ESP-IDF方式來實現(xiàn)一個SHT30溫濕度傳感器讀取的項目。
使用esp-idf組件讀取SHT30溫濕度信息。不得不說使用Arduino和Mpy來讀取SHT30傳感器溫濕度信息,還是相當簡單的。但是使用esp-idf來實現(xiàn)對我來說就難得多了。正好留意到新版的esp-idf支持組件編程了,基本思想就是將硬件的讀取,以組件的形式提供完整的功能模塊,只要在程序中調(diào)用相應(yīng)的組件即可,大大簡化了編程。
第一步:新建一個工程,這里使用hello_world例程做為基礎(chǔ)工程,來創(chuàng)建一個新的工程。

第二步:在esp-idf組件倉庫里搜索SHT30,可以找到sht3x的組件庫,接下來參考著文檔說明,在項目中添加組件。


打開終端,輸入“”idf.py add-dependency “esp-idf-lib/sht3x^1.0.8”,系統(tǒng)就會自動將組件依賴關(guān)系寫到“idf_component.yml”里邊去。可以打開這個文件查看,里邊有組件的基本說明。

第三步:先編譯一下工程。系統(tǒng)會自動檢查組件依賴關(guān)系,會創(chuàng)建一個“managed_components”文件夾,將需要的組件預(yù)先下載下來(如果沒有出現(xiàn)這個文件夾,就先清理一下項目,然后再編譯就會出現(xiàn)了)。

第四步:參考著組件文件夾里邊官方提供的例程,寫一個讀取SHT30 的代碼。





這里還不知道如何將組件的“Kconfi g”中的配置,引入到工程的配置中來,所以暫時都是用實際值來代替了配置的值。成功讀取到SHT30 的溫濕度值。

簡單總結(jié)一下,使用組件編程,還是蠻方便的,跳過了底層繁瑣的硬件驅(qū)動部分,可以直接使用已有的代碼,避免重復(fù)造輪子。
(本文來源于《EEPW》202509)







評論