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

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

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

硬件
- Nordic 的Thingy53物聯(lián)網(wǎng)原型平臺
- Segger 的j-Link Edu mini (可選)
在這個 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ū)動程序和庫
在此 repo 中創(chuàng)建了以下驅(qū)動程序和庫
BME688 Zephyr 驅(qū)動程序:在drivers/sensor/bme688
-
BME68x-Sensor-API
供應(yīng)商驅(qū)動程序集成https://github.com/boschsensortec/BME68x-Sensor-API - C語言使用Zephyr的Sensor API在BME688簡單強制模式下的使用
- 在并行模式下使用 BME688 并獲取所有 x10 氣體測量值的驅(qū)動程序擴展功能
BME688 服務(wù)器:在subsys/bme688_server中
- 用于在 json 結(jié)構(gòu)中配置 BME688 使用的 C++ 包裝器(溫度曲線和持續(xù)時間)
- 處理程序以 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
手動閃爍
- 連接USB
- 按住 SW2 開機,查看通過 USB 更新 thingy53的詳細(xì)信息
-
帶 nRFConnect 編程器閃存
hsm\samples\20_sensors_server\build\zephyr\dfu_application.zip
串行端口
-
USB 串行端口:通過配置,
CONFIG_STDOUT_CONSOLE=y
此板創(chuàng)建一個標(biāo)準(zhǔn)輸出的 UAB 虛擬 COM 端口。注意使用nRFSDK Connect Serial Terminal可以自動檢測并重連串口,刷機后自動恢復(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 啟動后按下 Thingy53 按鈕。該按鈕將重置設(shè)備并嘗試在新啟動時加入線程網(wǎng)絡(luò)。
加盟信息:
-
可以
eui64
通過首先閃爍日志記錄版本來知道overlay-logging.conf
-
不知道
eui64
也可以使用“*”作為eui64
參數(shù)進(jìn)行調(diào)試
在樹莓派上
sudo ot-ctl
commissioner start
commissioner joiner add * ABCDE2
注意:在實際的部署項目中,加入者代碼是必須保密的關(guān)鍵信息,以防止設(shè)備劫持。
有關(guān)樹莓派邊界路由器安裝的更多詳細(xì)信息,請參閱“樹莓派服務(wù)器”部分
現(xiàn)在要創(chuàng)建一個完整的傳感器服務(wù)器,您可以立即跳轉(zhuǎn)到示例 20
20_sensors_server
- OpenThread Joiner 設(shè)備
- OpenThread mesh 客戶端廣播 udp json 數(shù)據(jù)包,其中包含電壓、活動計數(shù)器、充電狀態(tài)、環(huán)境光 RGB IR、溫度、壓力、濕度和室內(nèi)空氣質(zhì)量
- OpenThread 服務(wù)器端點可以接收 json 命令并發(fā)回響應(yīng)
這個回購協(xié)議是如何創(chuàng)建的
本節(jié)包含一些提示,供那些愿意使用 Zephyr 為自己的應(yīng)用程序創(chuàng)建類似項目的人使用。
- 第一步是熟悉 Zephyr,一個很好的參考是https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/develop/index.html
- 第二個是關(guān)注 west 的小節(jié)https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/develop/west/index.html
這個存儲庫針對 nRF 開發(fā)工具包,因此從 nRF 的 Zephyr 分支和其他依賴項中派生它更安全。步驟是:
- west.yml 依賴項取自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 依賴項可以替換為頂級項目,例如 mbedtls,然后從 nRF fork 而不是 Zephyr
-
在 Kconfig wanrings 的情況下,有必要與原始 repo (ncs/nrf) 進(jìn)行比較并找到使用該標(biāo)志的目錄(依賴項),例如缺少配置,其中定義了默認(rèn)值,顯示依賴
NRF_MODEM_LIB_SHMEM_CTRL_SIZE
項從到NRF_MODEM_SHMEM_CTRL_SIZE
nrfxlib\nrf_modem\Kconfig
nrfconnect/nrf
nrfconnect/nrfxlib
如何測量電流消耗
Thingy53 帶有電流感應(yīng)擴展板,可以使用 Nordic PPKII(Power Profile Kit)測量實時電流消耗https://www.nordicsemi.com/Products/Development-hardware/Power-Profiler-Kit- 2個

示例測量

我們注意到 Thingy53 是如何工作的,它以短電流脈沖加載電容,然后保持降低的消耗。雖然在啟動時我們注意到峰值約為 50 mA,但平均周期持續(xù)時間約為 5 mA。
請注意,這當(dāng)然高度依賴于使用的傳感器和無線外圍設(shè)備的使用頻率,這就是為什么在其現(xiàn)實生活條件下分析每個應(yīng)用程序很重要的原因。
樹莓派服務(wù)器
這個 repo 提供了代碼和幫助程序來設(shè)置一個樹莓派 openthread 邊界路由器,它將 udp 數(shù)據(jù)包轉(zhuǎn)發(fā)到 MQTT
請注意,使用 openthread,Thingy53 獲得了自己的基于 ip 的通信能力,剩下的取決于用戶在上面使用哪種應(yīng)用程序協(xié)議。盡管 Matter 是一個選項,但它對于小型項目來說非常具有挑戰(zhàn)性,并且并不總是提供通過自定義傳感器結(jié)構(gòu)所需的靈活性。如果您的應(yīng)用程序只需要一個 json 結(jié)構(gòu),那么您可能不需要該 json 結(jié)構(gòu)的專用二進(jìn)制編碼,因為這是常見的應(yīng)用程序協(xié)議的用途。
這里有一個直接鏈接到將 json udp 數(shù)據(jù)包轉(zhuǎn)發(fā)到 MQTT 的腳本,它非常簡單并且可以根據(jù)需要進(jìn)行自定義,例如處理友好的名稱,以防您將傳感器位置從一個房間更改到另一個房間。
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)階段的一部分,是的,因為這是一個 DevKit 而不是最終產(chǎn)品,因此必須由您完成校準(zhǔn),以便您了解 IAQ 傳感器的工作原理,博世提供了出色的文檔甚至AI-Studio 玩機器學(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ù)存儲在數(shù)據(jù)庫中的 json 數(shù)據(jù)包。

雖然到目前為止,這些寶貴的信息沒有任何用處,但這開辟了在服務(wù)器上運行氣體識別智能的可能性,并且由于每個 ML 項目都是從觀察數(shù)據(jù)開始的,這可以提供一個很好的洞察力傳感器如何工作。
Zephyr-RTOS 為什么不是 Arduino 或 microPython?
請注意,該項目基于 Zephyr-RTOS,與 Arduino 相比,這是一個高級環(huán)境,但它可以被視為可以在 Arduino 應(yīng)用程序框架下運行的較低層。該應(yīng)用程序也是用 C++ 編寫的,因此一旦設(shè)置了項目,它也可以在應(yīng)用程序級別具有與 Arduino 類似的可訪問性,不過我想與社區(qū)成員聯(lián)系,幫助我將這些 BME688 驅(qū)動程序和 Thingy53 Zephyr-RTOS 環(huán)境移植到Arduino 和 microPython,我確信可以將此硬件的范圍擴展到更大的社區(qū)。
- RRH46410:用于室內(nèi)空氣質(zhì)量應(yīng)用的數(shù)字氣體傳感器模塊
- 室內(nèi)空氣質(zhì)量監(jiān)測器開源分享
- 基于BME680的室內(nèi)空氣質(zhì)量計 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ā)性有機化合物檢測器
- 一種具有監(jiān)測和超限報警的室內(nèi)空氣質(zhì)量監(jiān)測系統(tǒng) 0次下載
- 室內(nèi)空氣質(zhì)量檢測系統(tǒng)設(shè)計 35次下載
- FPGA的室內(nèi)空氣質(zhì)量檢測與調(diào)節(jié)系統(tǒng)_王媛媛 2次下載
- GSM網(wǎng)絡(luò)的室內(nèi)空氣質(zhì)量監(jiān)測系統(tǒng)設(shè)計_魏慶麗 2次下載
- 室內(nèi)空氣質(zhì)量管理法(草案)總說明
- 室內(nèi)空氣質(zhì)量管理推動方案2
- 公共場所室內(nèi)空氣質(zhì)量自主管理計劃書
- 華盛昌五合一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è)計與實現(xiàn) 1986次閱讀
- 如何利用ESP8266實現(xiàn)便攜式空氣質(zhì)量監(jiān)測站的設(shè)計 3287次閱讀
- 基于創(chuàng)建帶有空氣質(zhì)量傳感器的室內(nèi)氣象站 2358次閱讀
- dfrobotSHARP空氣質(zhì)量傳感器轉(zhuǎn)接模塊簡介 1906次閱讀
- 基于室內(nèi)空氣盒子產(chǎn)品的空氣質(zhì)量傳感器TGS2600的特點介紹 1092次閱讀
- 盛思銳的環(huán)境傳感器在空氣質(zhì)量測試中的應(yīng)用 1257次閱讀
- ZMOD4410總揮發(fā)性有機物和室內(nèi)空氣質(zhì)量傳感器介紹 6053次閱讀
- 空氣質(zhì)量流量計的原理及設(shè)計 3021次閱讀
- 微型空氣質(zhì)量監(jiān)測系統(tǒng),空氣質(zhì)量微型監(jiān)測站介紹 3821次閱讀
- 空氣質(zhì)量傳感器原理及作用 3.2w次閱讀
- 什么是空氣質(zhì)量傳感器_小米空氣凈化器2空氣質(zhì)量傳感器 3728次閱讀
- 室內(nèi)空氣質(zhì)量檢測與傳感器的應(yīng)用 2124次閱讀
下載排行
本周
- 1一款入耳式耳機的仿真與分析
- 0.44 MB | 2次下載 | 免費
- 2Eurotherm TKS Temperature 用戶手冊
- 1.46 MB | 2次下載 | 免費
- 3無線系統(tǒng)中天線和RF元件電磁建模
- 7.48 MB | 1次下載 | 4 積分
- 4納祥科技NX6806中文規(guī)格書,8位AD和DA單片機拓展,國產(chǎn)替代PCF8591
- 3.04 MB | 1次下載 | 免費
- 5藍(lán)牙無線遙控小車
- 10.49 MB | 1次下載 | 2 積分
- 6Multisim模擬電路仿真教程
- 1.93 MB | 1次下載 | 3 積分
- 7MOSFET講解-10(可下載)
- 524.12 KB | 次下載 | 免費
- 8DMP300C1型微機變壓器保護(hù)測控裝置技術(shù)說明書
- 4.11 MB | 次下載 | 10 積分
本月
- 1晶體三極管的電流放大作用詳細(xì)說明
- 0.77 MB | 32次下載 | 2 積分
- 2Python從入門到精通背記手冊
- 18.77 MB | 25次下載 | 1 積分
- 3雙極型三極管放大電路的三種基本組態(tài)的學(xué)習(xí)課件免費下載
- 4.03 MB | 23次下載 | 1 積分
- 4多級放大電路的學(xué)習(xí)課件免費下載
- 1.81 MB | 21次下載 | 2 積分
- 5九陽豆?jié){機高清原理圖
- 2.47 MB | 16次下載 | 1 積分
- 6AIWA HS-J202/HS-J202M/HS-J800維修手冊
- 13.60 MB | 15次下載 | 10 積分
- 71875功放原理圖
- 0.04 MB | 11次下載 | 免費
- 8東芝彩色電視機29SF6C維修說明書
- 4.86 MB | 9次下載 | 1 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420063次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191382次下載 | 10 積分
- 5十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183337次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81585次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費下載
- 0.02 MB | 73814次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論