使用Omnimo nRF52840構(gòu)建無線溫濕度傳感器
將您的Omnimo nRF52840轉(zhuǎn)換為zigbee供電的環(huán)境傳感器,并將其與家庭助理無縫集成。
如果您希望涉足Zigbee開發(fā)領(lǐng)域,那么這個項目非常適合您。在本教程中,我們將指導(dǎo)您使用Omnimo nRF52840開發(fā)板與Temp&Hum 24 Click (HDC3021傳感器)配對構(gòu)建無線溫濕度傳感器。傳感器數(shù)據(jù)將通過Zigbee廣播,并使用ZHA (Zigbee家庭自動化)集成集成到家庭助理中。
你需要什么
硬件
Omnimo nRF52840開發(fā)板一款緊湊、功能強(qiáng)大的開發(fā)板,基于北歐半導(dǎo)體nRF52840 SoC,具有低功耗藍(lán)牙(BLE)和Zigbee功能。
TEMP&HUM 24 CLICKA microkroelektronika點擊板配備HDC3021傳感器,能夠高精度測量溫度和濕度。
Segger J-Link編程器或nRF52840芯片的另一種編程方式
軟件工具
nRF5 SDK for Thread and Zigbee v4.2.0官方北歐SDK,提供開發(fā)Zigbee應(yīng)用所需的工具和庫。
Segger Embedded Studio for ARM (V7.32a)用于編譯和刷新固件的IDE。
啟用了ZHA集成的家庭助理
步驟1:設(shè)置開發(fā)環(huán)境
下載SDK
前往Nordic的網(wǎng)站下載線程和Zigbee v4.2.0的nRF5 SDK。將其解壓縮到您選擇的目錄中。
安裝Segger Embedded Studio
從官方網(wǎng)站下載并安裝Segger Embedded Studio for ARM (V7.32a)。
克隆項目存儲庫
導(dǎo)航到解壓的SDK目錄中的examples/zigbee/experimental文件夾,并將此項目存儲庫A克隆到其中。
步驟2:理解代碼
讀取傳感器數(shù)據(jù)
Temp&Hum 24 Click上的HDC3021傳感器測量溫度和濕度。代碼通過TWI與傳感器接口來檢索這些讀數(shù)。
通過Zigbee廣播數(shù)據(jù)
使用nRF52840的Zigbee堆棧,傳感器數(shù)據(jù)被打包并無線傳輸?shù)絑igbee協(xié)調(diào)器(例如,帶有ZHA的家庭助理設(shè)置)。
步驟3:編譯和Flash固件
打開項目
啟動Segger Embedded Studio并打開。emProject文件位于從A克隆的項目目錄中
構(gòu)建項目
單擊Build按鈕編譯代碼。確保在編譯過程中沒有錯誤。
刷新固件
使用Segger J-Link編程器將Omnimo nRF52840板連接到計算機(jī)。
第四步:與家庭助理集成
啟用ZHA集成
如果還沒有,請在家庭助理中啟用Zigbee家庭自動化(ZHA)集成。如果需要,請遵循官方的ZHA安裝指南。
配對傳感器
?Omnimo nRF52840單板使用USB Type-C或電池供電
?將Zigbee協(xié)調(diào)器設(shè)置為配對模式。
?復(fù)位Omnimo nRF52840板啟動配對。
?配對后,傳感器應(yīng)該出現(xiàn)在“設(shè)備”部分的“家庭助手”中。
驗證數(shù)據(jù)
查看傳感器創(chuàng)建的溫濕度實體。您應(yīng)該看到TEMP&HUM 24 CLICK傳感器的實時讀數(shù)。
本文編譯自hackster.io