資料介紹
描述
介紹
嬰兒猝死綜合癥(SIDS)在不到一歲的嬰兒中發生了很多。響應時間來幫助這些嬰兒是至關重要的。(通常少于幾分鐘)。必須盡快將警報發送給護理人員。專用系統將監測包括體溫、呼吸、爐膛率在內的生命體征,實時向護理人員發送緊急警報。
這里我使用nRF5340作為核心來收集數據和傳輸數據,使用手機作為網關來存儲數據并將數據推送到云端進行進一步的分析和聚合。我選擇 MAX30102 傳感器來收集健康,因為它能夠同時獲取心率和氧氣數據。
MAX30102 能夠記錄原始 IR 數據,詳細的分析/算法必須在主機 MCU 中完成。有幾個參數需要微調,例如光的脈沖寬度、強度,以優化我們應用的性能。經過幾周的微調,我決定繼續使用 MAX32664 生物傳感器集線器。生物傳感器中樞嵌入了復雜的心率/SPO2 計算算法,能夠在手指接觸后 10 秒內生成穩定可靠的數據。MAX30205被選用于人體溫度檢測,因為它在人體溫度范圍內具有很高的精度,±0.1°C。APA102 (DotStar) 用于指示狀態,與 NeoPixel 相比,它很小,適合嬰兒穿戴。
數據可視化包括電話可視化和網絡可視化。當手機獲取數據時,它會顯示在手機應用程序中,并帶有圖表和關鍵指標。手機還充當了將數據推送到云端的大門。通過 MQTT 協議和Grafana儀表板,我能夠在短時間內構建一個即用型儀表板。
系統總覽
nrf5340 模塊負責獲取數據和暴露 GATT 服務。
![poYBAGNtlZyAfZSqAAJNe1qDBCI814.png](https://file.elecfans.com/web2/M00/79/C0/poYBAGNtlZyAfZSqAAJNe1qDBCI814.png)
?
傳感器
- 心率和 SpO2 傳感器 - MAX30102
我使用 MAX30102 分線板進行原型設計。
這是簡單原型設計的接線圖。
![pYYBAGNtlaSAGaS6AACd3Rty6DE440.png](https://file.elecfans.com/web2/M00/7A/4F/pYYBAGNtlaSAGaS6AACd3Rty6DE440.png)
我嘗試了 SparkFun MAX3010x 脈沖和接近傳感器庫和 DFRobot_MAX30102 庫。
脈搏血氧儀是氧飽和度 (SpO2) 的非侵入性測量。氧飽和度定義為基于血紅蛋白和脫氧血紅蛋白的檢測,測量溶解在血液中的氧氣量。使用兩種不同的光波長來測量 HbO2 和 Hb 吸收光譜的實際差異。血流受 HbO2 和 Hb 濃度的影響,它們的吸收系數使用兩個波長 660 nm(紅光譜)和 940 nm(紅外光譜)測量。脈搏是通過計算每個峰值之間的時間間隔來測量的,通常會使用快速傅里葉變換來獲得穩定的心率結果。
如果您對這些原則感興趣,請隨時查看以下參考資料:
- 生物傳感器集線器 - MAX32664
![poYBAGNtlaeAdweCAABtSBTFCuw978.png](https://file.elecfans.com/web2/M00/79/C0/poYBAGNtlaeAdweCAABtSBTFCuw978.png)
Sparkfun 脈搏血氧儀傳感器集成了 MAX32664 生物傳感器集線器和 MAX30101 傳感器。MAX32664傳感器集線器是一款Cortex M4處理器,可處理所有算法計算、數字濾波、壓力/位置補償、高級R波檢測和自動增益控制。它比處理裸露的 MAX30101 傳感器更容易測量心率和 SPO2。
我決定將 MAX32664 與 MAX30102 傳感器一起使用,以實現穩定且輕松的編程。請參見下面的比較。
- 體溫 - MAX30205
MAX30205 是一款易于使用的人體溫度傳感器,在 35 C 左右的人體溫度范圍 +/- 0.1 內具有高精度。
它使用3.3V輸入和I2C接口。獲取溫度只是一個 I2C 命令。
![poYBAGNtlaqARLcdAAI79KN_AuI612.jpg](https://file.elecfans.com/web2/M00/79/C0/poYBAGNtlaqARLcdAAI79KN_AuI612.jpg)
- APA102 / LED
APA102 是一個快速的 SPI RGB led,也可以通過 bit bang 驅動。我使用這個 LED 來指示心跳和系統狀態。
nRF5340 與 Zephyr
在我看來,Zephyr 對初學者絕對不友好,但是一旦你掌握了整體結構,它就可以非常強大,特別是對于大型項目。我最喜歡 Zephyr 的地方在于,您可以在不同的板上使用完全相同的代碼庫。即,如果我使用 BLE 和 I2C 為 nRF5340 編寫代碼,我可以為 nRF52832 甚至 STM32WB55 使用完全相同的代碼,外圍設備只需要較小的引腳映射。大多數代碼保持不變,將遺留代碼移植到更新的硬件/平臺的工作更少。
對于這個項目,我為 MAX30101、MAX32664、MAX30205 創建了自定義驅動程序,APA102 代碼已經存在,使用 SPI 或 bit bang。
對于 MAX30101,我使用心率算法從 Sparkfun Arduino 庫移植代碼。我必須在 board 目錄中創建一個 nrf5340dk_nrf5340_cpuapp.overlay 文件來為傳感器添加額外的定義。有關突出顯示的代碼,請參見代碼部分。
MAX32664 和 MAX30205 遵循相同的流程,端口驅動,寫入覆蓋,在真實傳感器上進行測試。APA102的驅動也寫好了,可以在driver/samples文件夾下找到。
還要檢查我的github 上的源代碼。
這一步花了我一半的時間,因為它對我來說是一個全新的框架,我必須深入了解它。但我很高興有機會了解這個用于復雜 MCU 項目的出色框架。而且文件寫得很好。支持許多板和傳感器。
Zephyr的整體布局:
![poYBAGNtlayAEIXxAABnAkZcSh4973.png](https://file.elecfans.com/web2/M00/79/C0/poYBAGNtlayAEIXxAABnAkZcSh4973.png)
安卓應用(顫振)
本項目使用 Flutter 搭建 nRF5340 和云之間的橋梁。該應用程序不斷收到來自 nRF5340 的通知,包括心率數據、體溫,然后通過 MQTT 協議將數據傳輸到云端。
與具有大量可使用小部件的普通 Android 相比,Flutter 非常適合快速原型設計。對于這個項目,我主要使用flutter_blue小部件、fl_chart小部件和mqtt_client 。Flutter_blue 用于與 nRF5340 傳感器通信并從 bio-hub 傳感器獲取最新讀數。fl_chart 用于以折線圖格式顯示結果,mqtt_client 用于將數據推送到 AWS IoT 核心。
我首先使用帶有一些虛擬數據的 fl_chart 來生成一個帶有計時器的折線圖,每秒吐出隨機數據。
![pYYBAGNtla6AWa7PAABDoiFYOLQ552.png](https://file.elecfans.com/web2/M00/7A/4F/pYYBAGNtla6AWa7PAABDoiFYOLQ552.png)
其次,我使用 flutter_blue 從 nRF5340 獲取傳感器數據。數據存儲在 8 字節數組中,并通過 BLE 通知傳輸。前 4 字節數據是心率,后 4 字節數據是體溫。
例如,以下通知中的數據為 3F 62 03 63 00 90 D6 41
0x3F = 63 bpm,心率
0x62 = 98 %,SPO2 水平
0x03 = 狀態碼,03 表示聯系
0x63 = 99,來自 MAX32664 的置信度
0x00 0x90 0xD6 0x41 為 IEEE 754 格式,轉換為浮點數為 26.82 °C。
![pYYBAGNtlbGASPr7AAA5BnRrjZA567.png](https://file.elecfans.com/web2/M00/7A/4F/pYYBAGNtlbGASPr7AAA5BnRrjZA567.png)
第三,mqtt_client 用于將所有相關數據推送到云端,以便進一步監控和分析。
能源管理
在 Zephyr 中,可以通過 pm_power_state_force、pm_power_state_set 等內置 api 進行電源管理。有不同級別的電源狀態,例如 PM_STATE_ACTIVE、PM_STATE_STANDBY。
我試圖測量和優化設備的功耗。空閑電流約為 1mA,僅 BLE 廣告。連接 BLE 后,傳感器數據采集也開始,電流消耗增加到 2mA。啟用睡眠模式后,電流消耗可降至 200uA。
請參見下面的電流測量。
![poYBAGNtle2ATIRVAA2y0DgzoUY253.png](https://file.elecfans.com/web2/M00/79/C0/poYBAGNtle2ATIRVAA2y0DgzoUY253.png)
云支持(AWS IoT 核心)
云集成是通過 AWS IoT 核心完成的。數據通過加密的 MQTT 推送到 AWS IoT Core。數據可以在 AWS IoT 中心測試部分進行可視化。然后,我使用 AWS IoT Sitewise 存儲數據,并使用 Grafana 的內置 IoT 站點插件將其可視化。
有很多物聯網平臺可供adafruit.io 、ubidots.com 、thingspeak.com 、thingsboard.io 、kaaproject.org等創客使用。我選擇 AWS MQTT 作為后端和 Grafana 前端是因為它的簡單性和靈活性。
印刷電路板
我做了兩個版本的PCB,第一個由于手工焊接nRF5340芯片的難度而不太成功。
這是原理圖,基本上我使用 nRF5340 DK 和 Sparkfun Bio-Sensor Hub 作為參考,稍作修改。
然后將 PCB 發送到 JLCPCB 進行制造。
我手工焊接所有版本的 PCB。
![pYYBAGNtlfCASOWvAAEZ-nmAsZ0309.png](https://file.elecfans.com/web2/M00/7A/4F/pYYBAGNtlfCASOWvAAEZ-nmAsZ0309.png)
![poYBAGNtlfKAO_u4AAFWKNoU_98772.png](https://file.elecfans.com/web2/M00/79/C0/poYBAGNtlfKAO_u4AAFWKNoU_98772.png)
![pYYBAGNtlfWAdxbyAADb4WwD-b4084.png](https://file.elecfans.com/web2/M00/7A/4F/pYYBAGNtlfWAdxbyAADb4WwD-b4084.png)
第一個版本僅使用 MAX30102 傳感器,它沒有 MAX32664 生物集線器傳感器。所以很難得到穩定的心率結果。
然后我轉到第 1 版
![pYYBAGNtlfiAZ0X8AAH2jEBR7BE781.png](https://file.elecfans.com/web2/M00/7A/4F/pYYBAGNtlfiAZ0X8AAH2jEBR7BE781.png)
![poYBAGNtlfqAVPMxAAE-utMUVf4585.png](https://file.elecfans.com/web2/M00/79/C0/poYBAGNtlfqAVPMxAAE-utMUVf4585.png)
外殼3D打印
3D 模型是在 Fusion 360 中設計的。
外殼做成烏龜形狀,對嬰兒更友好。
?
?
![poYBAGNtlkSAetZOABKxii06pqI664.jpg](https://file.elecfans.com/web2/M00/79/C0/poYBAGNtlkSAetZOABKxii06pqI664.jpg)
完成品
下面是成品,基本功能按預期工作。但是,固件在投入使用之前仍需要大量的打磨和優化。
![pYYBAGNtlkeAJnJyAAFIDLcopAU692.png](https://file.elecfans.com/web2/M00/7A/4F/pYYBAGNtlkeAJnJyAAFIDLcopAU692.png)
結論
我使用nRF53-DK和Power profiler Kit創建了一個嬰兒生命體征監測系統,它可以實時監測嬰兒的生命體征數據。父母可以遠程監控寶寶的健康狀況,并在出現心率異常、發燒引起的高溫以及與 SPO2 水平相關的呼吸問題等緊急情況時設置警報。
nRF53 適用于具有 RTOS 支持和易于移植的庫的專業/復雜的可穿戴項目。
- 基于STM32的便攜式生命體征監護儀設計
- 遠程生命體征檢測系統電路設計
- 基于GPS-GPRS的遠程生命體征檢測系統
- Android平臺的患者生命體征數據管理系統設計與實現
- Arduino嬰兒汽車警報系統(iCAS)
- 不速之客警報系統
- 用于遠程監測人們生命體征的隱形監視器
- 喚醒警報系統
- 基于物聯網的橋梁健康監測和警報系統
- 生命體征監測雷達模組_簡介
- 基于信道狀態相位信息的生命體征監測算法 13次下載
- 基于生命體征監測與室內定位技術的消防員協助系統 19次下載
- 設計一款模擬人體生命體征的模擬器詳細資料說明
- 單兵生命體征智能檢測系統的設計_張連強 3次下載
- 可穿戴電子設備可監控生命體征、活動水平等 0次下載
- MIT用于生命體征監測的可攝入傳感器裝置進行首次人體試驗 881次閱讀
- 光電容積脈搏波(PPG)遠程病人生命體征監護儀的電源子系統 918次閱讀
- 集成家庭健康監測 719次閱讀
- 可穿戴系統的生物阻抗電路設計挑戰 1131次閱讀
- 多參數生命體征監測比以往任何時候都更容易 1149次閱讀
- 詳解ADI生命體征監測信號鏈解決方案 2670次閱讀
- 以“光”之名,讓生命體征監測時時守護你的健康! 3564次閱讀
- 可穿戴系統的生物阻抗測量 8015次閱讀
- 可穿戴系統的生物阻抗電路設計的解決方案 3744次閱讀
- IoT設備中常見的能量收集系統 1.6w次閱讀
- 紋身型可穿戴傳感器:可監測重要生命特征 1038次閱讀
- 可穿戴式生命體征監護設備的研制 8624次閱讀
- 基于物聯網技術的慢病管理系統 6313次閱讀
- 嬰兒監測器(續) 3209次閱讀
- 嬰兒監測器 3412次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論