資料介紹
描述
Github 回購
https://github.com/HomeSmartMesh/sdk-hsm-thingy53
這個(gè)項(xiàng)目解決什么問題?
Thingy53 是唯一一款集成 BME688 的即用型 DevKit,可在低功耗模式下使用可充電電池運(yùn)行,并支持低功耗開放線程網(wǎng)狀網(wǎng)絡(luò)。不幸的是,目前還沒有允許 Thingy53 使用 BME688 的現(xiàn)有項(xiàng)目,唯一現(xiàn)有的 BME680 Zephyr 驅(qū)動(dòng)程序無法讀取 BME688 氣體值。
集成 I2C 驅(qū)動(dòng)程序和讀取寄存器值也是不夠的,因?yàn)?IAQ 需要博世僅在 .a 庫中發(fā)布的高級算法。
解決方案
這個(gè)項(xiàng)目包括
- Zephyr 將 BME688 驅(qū)動(dòng)程序和二進(jìn)制庫與博世的 BSEC2 算法集成在一起,用于 IAQ(室內(nèi)空氣質(zhì)量)測量。
- 帶有 OpenThread 的網(wǎng)狀網(wǎng)絡(luò)作為客戶端廣播 UDP 數(shù)據(jù)包并運(yùn)行傳感器服務(wù)器。
- 具有用于配置的 json 輸入和用于傳感器的輸出的 C++ 應(yīng)用程序支持服務(wù)器端點(diǎn)和廣播到 MQTT 的直接映射
輸出
在我們開始詳細(xì)的步驟描述之前,讓我們看一下您可以從該項(xiàng)目中獲得的最終結(jié)果。
這是來自 MQTT 資源管理器的屏幕截圖,Thingy53 在 x3 不同主題 state、light 和 env 上的帖子

env 的詳細(xì)信息如下,包括由 BSEC2 供應(yīng)商庫計(jì)算的 breath_voc、co2_eq、iaq 和 iaq_accuracy,以及 gas0 中的原始?xì)怏w值、濕度、壓力、溫度,如果磨合完成(第一次長時(shí)間使用) , 如果穩(wěn)定在上電后完成,最后是自上電以來的樣本計(jì)數(shù)。

開發(fā)套件
下面是一個(gè)打開的盒子 Nordic Thingy53 連接到 USB 和 j-Link 調(diào)試器

硬件
- Nordic 的Thingy53物聯(lián)網(wǎng)原型平臺(tái)
- Segger 的j-Link Edu mini (可選)
在這個(gè) repo 的示例中使用的傳感器
BME688 數(shù)字鼻子:低功耗氣體、壓力、溫度和濕度傳感器,帶 AI
- BME688 產(chǎn)品頁面
- BME688 數(shù)據(jù)表
- BME688 數(shù)字鼻子:低功率氣體、壓力、溫度和濕度傳感器,帶 AI BME688 產(chǎn)品頁面BME688 數(shù)據(jù)表
顏色傳感器 BH1749NUC
- BH1749NUC 數(shù)據(jù)表
- 測量紅色、綠色、藍(lán)色和紅外線
- 照度檢測范圍 80 klx (0.0125 lux/count)
- 顏色傳感器 BH1749NUC BH1749NUC 數(shù)據(jù)表測量紅色、綠色、藍(lán)色和 IRIlluminance 檢測范圍 80 klx (0.0125 lux/count)
回購結(jié)構(gòu)

驅(qū)動(dòng)程序和庫
在此 repo 中創(chuàng)建了以下驅(qū)動(dòng)程序和庫
BME688 Zephyr 驅(qū)動(dòng)程序:在drivers/sensor/bme688
-
BME68x-Sensor-API
供應(yīng)商驅(qū)動(dòng)程序集成https://github.com/boschsensortec/BME68x-Sensor-API - C語言使用Zephyr的Sensor API在BME688簡單強(qiáng)制模式下的使用
- 在并行模式下使用 BME688 并獲取所有 x10 氣體測量值的驅(qū)動(dòng)程序擴(kuò)展功能
BME688 服務(wù)器:在subsys/bme688_server中
- 用于在 json 結(jié)構(gòu)中配置 BME688 使用的 C++ 包裝器(溫度曲線和持續(xù)時(shí)間)
- 處理程序以 json 結(jié)構(gòu)(溫度、濕度、壓力、gas-0..gas-9)傳遞傳感器結(jié)果
-
Bosch-BSEC2-Library
.供應(yīng)商的 IAQ(室內(nèi)空氣質(zhì)量)測量二進(jìn)制集成https://github.com/boschsensortec/Bosch-BSEC2-Library
BME688 組件和數(shù)據(jù)

用法
mkdir thingy53
cd thingy53
>west init -m https://github.com/HomeSmartMesh/sdk-hsm-thingy53 --mr main
>west update
構(gòu)建樣本
cd hsm/samples/20_sensors_server
west build
west build -- -DOVERLAY_CONFIG="overlay-logging.conf"
使用附加的調(diào)試器閃爍
>west flash
手動(dòng)閃爍
- 連接USB
- 按住 SW2 開機(jī),查看通過 USB 更新 thingy53的詳細(xì)信息
-
帶 nRFConnect 編程器閃存
hsm\samples\20_sensors_server\build\zephyr\dfu_application.zip
串行端口
-
USB 串行端口:通過配置,
CONFIG_STDOUT_CONSOLE=y
此板創(chuàng)建一個(gè)標(biāo)準(zhǔn)輸出的 UAB 虛擬 COM 端口。注意使用nRFSDK Connect Serial Terminal可以自動(dòng)檢測并重連串口,刷機(jī)后自動(dòng)恢復(fù)非常有用 -
RTT 調(diào)試器串行端口:使用
CONFIG_USE_SEGGER_RTT=y
附加調(diào)試器可以記錄日志,而不使用板 USB 設(shè)備,但這需要以不同方式重建示例。
加入線程網(wǎng)絡(luò)
joiner 配置示例CONFIG_OPENTHREAD_JOINER_PSKD
為13_ot_joiner、14_ot_udp_echo_server、15_udp_json_endpoint和20_sensors_server注意:確保在 raspberry pi commissioner 啟動(dòng)后按下 Thingy53 按鈕。該按鈕將重置設(shè)備并嘗試在新啟動(dòng)時(shí)加入線程網(wǎng)絡(luò)。
加盟信息:
-
可以
eui64
通過首先閃爍日志記錄版本來知道overlay-logging.conf
-
不知道
eui64
也可以使用“*”作為eui64
參數(shù)進(jìn)行調(diào)試
在樹莓派上
sudo ot-ctl
commissioner start
commissioner joiner add * ABCDE2
注意:在實(shí)際的部署項(xiàng)目中,加入者代碼是必須保密的關(guān)鍵信息,以防止設(shè)備劫持。
有關(guān)樹莓派邊界路由器安裝的更多詳細(xì)信息,請參閱“樹莓派服務(wù)器”部分
現(xiàn)在要?jiǎng)?chuàng)建一個(gè)完整的傳感器服務(wù)器,您可以立即跳轉(zhuǎn)到示例 20
20_sensors_server
- OpenThread Joiner 設(shè)備
- OpenThread mesh 客戶端廣播 udp json 數(shù)據(jù)包,其中包含電壓、活動(dòng)計(jì)數(shù)器、充電狀態(tài)、環(huán)境光 RGB IR、溫度、壓力、濕度和室內(nèi)空氣質(zhì)量
- OpenThread 服務(wù)器端點(diǎn)可以接收 json 命令并發(fā)回響應(yīng)
這個(gè)回購協(xié)議是如何創(chuàng)建的
本節(jié)包含一些提示,供那些愿意使用 Zephyr 為自己的應(yīng)用程序創(chuàng)建類似項(xiàng)目的人使用。
- 第一步是熟悉 Zephyr,一個(gè)很好的參考是https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/develop/index.html
- 第二個(gè)是關(guān)注 west 的小節(jié)https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/develop/west/index.html
這個(gè)存儲(chǔ)庫針對 nRF 開發(fā)工具包,因此從 nRF 的 Zephyr 分支和其他依賴項(xiàng)中派生它更安全。步驟是:
- west.yml 依賴項(xiàng)取自https://github.com/nrfconnect/sdk-nrf/blob/main/west.yml
-
默認(rèn)遠(yuǎn)程是 hsm 而不是 ncs,因此在
projects:
遠(yuǎn)程 ncs 中需要在適用的地方添加 -
在應(yīng)用程序中
zephyr
,name-allowlist
有助于減少對 Zephyr 的依賴 - 另請注意,一些 Zephyr 依賴項(xiàng)可以替換為頂級項(xiàng)目,例如 mbedtls,然后從 nRF fork 而不是 Zephyr
-
在 Kconfig wanrings 的情況下,有必要與原始 repo (ncs/nrf) 進(jìn)行比較并找到使用該標(biāo)志的目錄(依賴項(xiàng)),例如缺少配置,其中定義了默認(rèn)值,顯示依賴
NRF_MODEM_LIB_SHMEM_CTRL_SIZE
項(xiàng)從到NRF_MODEM_SHMEM_CTRL_SIZE
nrfxlib\nrf_modem\Kconfig
nrfconnect/nrf
nrfconnect/nrfxlib
如何測量電流消耗
Thingy53 帶有電流感應(yīng)擴(kuò)展板,可以使用 Nordic PPKII(Power Profile Kit)測量實(shí)時(shí)電流消耗https://www.nordicsemi.com/Products/Development-hardware/Power-Profiler-Kit- 2個(gè)

示例測量

我們注意到 Thingy53 是如何工作的,它以短電流脈沖加載電容,然后保持降低的消耗。雖然在啟動(dòng)時(shí)我們注意到峰值約為 50 mA,但平均周期持續(xù)時(shí)間約為 5 mA。
請注意,這當(dāng)然高度依賴于使用的傳感器和無線外圍設(shè)備的使用頻率,這就是為什么在其現(xiàn)實(shí)生活條件下分析每個(gè)應(yīng)用程序很重要的原因。
樹莓派服務(wù)器
這個(gè) repo 提供了代碼和幫助程序來設(shè)置一個(gè)樹莓派 openthread 邊界路由器,它將 udp 數(shù)據(jù)包轉(zhuǎn)發(fā)到 MQTT
請注意,使用 openthread,Thingy53 獲得了自己的基于 ip 的通信能力,剩下的取決于用戶在上面使用哪種應(yīng)用程序協(xié)議。盡管 Matter 是一個(gè)選項(xiàng),但它對于小型項(xiàng)目來說非常具有挑戰(zhàn)性,并且并不總是提供通過自定義傳感器結(jié)構(gòu)所需的靈活性。如果您的應(yīng)用程序只需要一個(gè) json 結(jié)構(gòu),那么您可能不需要該 json 結(jié)構(gòu)的專用二進(jìn)制編碼,因?yàn)檫@是常見的應(yīng)用程序協(xié)議的用途。
這里有一個(gè)直接鏈接到將 json udp 數(shù)據(jù)包轉(zhuǎn)發(fā)到 MQTT 的腳本,它非常簡單并且可以根據(jù)需要進(jìn)行自定義,例如處理友好的名稱,以防您將傳感器位置從一個(gè)房間更改到另一個(gè)房間。
https://github.com/HomeSmartMesh/raspi/blob/master/py/thread_tags/thread_tags_mqtt.py
格拉法納儀表盤
現(xiàn)在我們的數(shù)據(jù)包已連接到 MQTT,剩下的就是如何將它們引入 Grafana。例如,鏈接的 Raspberry pi 服務(wù)器提供了設(shè)置自己的 influxDB 以記錄數(shù)據(jù)所需的一切。
下面是儀表板的屏幕截圖

注意:此屏幕截圖是傳感器校準(zhǔn)階段的一部分,是的,因?yàn)檫@是一個(gè) DevKit 而不是最終產(chǎn)品,因此必須由您完成校準(zhǔn),以便您了解 IAQ 傳感器的工作原理,博世提供了出色的文檔甚至AI-Studio 玩機(jī)器學(xué)習(xí)和氣體氣味識別(這可能是未來帖子的范圍)。這里是 BME AI-Studio 手冊的鏈接https://www.bosch-sensortec.com/media/boschsensortec/downloads/application_notes_1/bst-bme688-an001.pdf
BME688并聯(lián)模式
在并行模式下,BME688 提供多達(dá) x10 的測量值和所謂的溫度曲線,請參閱數(shù)據(jù)表第 16 頁中的詳細(xì)信息https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bme688- ds000.pdf
下面是 Thingy53 廣播 gas-0 到 gas-9 作為連續(xù)存儲(chǔ)在數(shù)據(jù)庫中的 json 數(shù)據(jù)包。

雖然到目前為止,這些寶貴的信息沒有任何用處,但這開辟了在服務(wù)器上運(yùn)行氣體識別智能的可能性,并且由于每個(gè) ML 項(xiàng)目都是從觀察數(shù)據(jù)開始的,這可以提供一個(gè)很好的洞察力傳感器如何工作。
Zephyr-RTOS 為什么不是 Arduino 或 microPython?
請注意,該項(xiàng)目基于 Zephyr-RTOS,與 Arduino 相比,這是一個(gè)高級環(huán)境,但它可以被視為可以在 Arduino 應(yīng)用程序框架下運(yùn)行的較低層。該應(yīng)用程序也是用 C++ 編寫的,因此一旦設(shè)置了項(xiàng)目,它也可以在應(yīng)用程序級別具有與 Arduino 類似的可訪問性,不過我想與社區(qū)成員聯(lián)系,幫助我將這些 BME688 驅(qū)動(dòng)程序和 Thingy53 Zephyr-RTOS 環(huán)境移植到Arduino 和 microPython,我確信可以將此硬件的范圍擴(kuò)展到更大的社區(qū)。
- RRH46410:用于室內(nèi)空氣質(zhì)量應(yīng)用的數(shù)字氣體傳感器模塊
- 室內(nèi)空氣質(zhì)量監(jiān)測器開源分享
- 基于BME680的室內(nèi)空氣質(zhì)量計(jì) 0次下載
- Arduino BME680氣體和THS空氣質(zhì)量監(jiān)測器
- Covid19大流行期間的室內(nèi)空氣質(zhì)量檢測(IAQD)
- 室內(nèi)空氣質(zhì)量監(jiān)測系統(tǒng)
- STM32移植BME680傳感器輸出IAQ(室內(nèi)空氣質(zhì)量)
- CN0395:適用于室內(nèi)空氣質(zhì)量監(jiān)測的揮發(fā)性有機(jī)化合物檢測器
- 一種具有監(jiān)測和超限報(bào)警的室內(nèi)空氣質(zhì)量監(jiān)測系統(tǒng) 0次下載
- 室內(nèi)空氣質(zhì)量檢測系統(tǒng)設(shè)計(jì) 35次下載
- FPGA的室內(nèi)空氣質(zhì)量檢測與調(diào)節(jié)系統(tǒng)_王媛媛 2次下載
- GSM網(wǎng)絡(luò)的室內(nèi)空氣質(zhì)量監(jiān)測系統(tǒng)設(shè)計(jì)_魏慶麗 2次下載
- 室內(nèi)空氣質(zhì)量管理法(草案)總說明
- 室內(nèi)空氣質(zhì)量管理推動(dòng)方案2
- 公共場所室內(nèi)空氣質(zhì)量自主管理計(jì)劃書
- 華盛昌五合一PM2.5空氣質(zhì)量檢測儀產(chǎn)品介紹 509次閱讀
- 【瑞薩RA MCU創(chuàng)意氛圍賽】室內(nèi)空氣質(zhì)量監(jiān)測系統(tǒng)方案概述 719次閱讀
- WT2003H語音芯片在空氣質(zhì)量監(jiān)測系統(tǒng)的應(yīng)用方案 656次閱讀
- 室內(nèi)空氣質(zhì)量檢測器的設(shè)計(jì)與實(shí)現(xiàn) 1986次閱讀
- 如何利用ESP8266實(shí)現(xiàn)便攜式空氣質(zhì)量監(jiān)測站的設(shè)計(jì) 3287次閱讀
- 基于創(chuàng)建帶有空氣質(zhì)量傳感器的室內(nèi)氣象站 2358次閱讀
- dfrobotSHARP空氣質(zhì)量傳感器轉(zhuǎn)接模塊簡介 1906次閱讀
- 基于室內(nèi)空氣盒子產(chǎn)品的空氣質(zhì)量傳感器TGS2600的特點(diǎn)介紹 1092次閱讀
- 盛思銳的環(huán)境傳感器在空氣質(zhì)量測試中的應(yīng)用 1257次閱讀
- ZMOD4410總揮發(fā)性有機(jī)物和室內(nèi)空氣質(zhì)量傳感器介紹 6053次閱讀
- 空氣質(zhì)量流量計(jì)的原理及設(shè)計(jì) 3021次閱讀
- 微型空氣質(zhì)量監(jiān)測系統(tǒng),空氣質(zhì)量微型監(jiān)測站介紹 3821次閱讀
- 空氣質(zhì)量傳感器原理及作用 3.2w次閱讀
- 什么是空氣質(zhì)量傳感器_小米空氣凈化器2空氣質(zhì)量傳感器 3728次閱讀
- 室內(nèi)空氣質(zhì)量檢測與傳感器的應(yīng)用 2124次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論