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

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


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

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

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





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

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







評論