?

基于光電傳感技術的端云一體化心率血壓智能監測系統設計

2021-07-16 08:47茹,陳
中國計量大學學報 2021年2期
關鍵詞:中間件脈搏串口

楊 茹,陳 亮

(中國計量大學 光學與電子科技學院,浙江 杭州 310018)

隨著云平臺、物聯網時代的到來,智慧醫療得到了廣泛的認可[1]。在智慧醫療的大環境影響下,實現人體心率血壓體征參數的即時、準確、快速監測對于疾病的早期預防和發現具有重要意義[2]。

目前傳統血壓測量方法有多種,主要包括動脈張力法、示波法以及容積補償法等[3]。它們的共同特點是在測量過程中都需要使用壓力式充氣袖帶,會給用戶造成輕微不適感,并且測量過程需要1 min左右,不能及時捕捉到人體的實時血壓,且攜帶不方便,對高血壓的預防與監測沒有起到良好的積極作用[4]。而市面上的便攜式的血壓監測設備,如智能手環等,又缺乏用戶健康數據管理功能,因此市場上極需要一款能夠連續測量心率血壓的便攜式健康管理系統。

本設計為基于光電傳感技術的端云一體化心率血壓智能監測系統,實現了人體多體征參數的檢測。系統由智能監測傳感器設備、應用終端和云平臺三部分組成。通過監測血壓、心率等體征參數,判斷用戶的健康狀況,當發生異常時可及時預警。系統監測參數多元化、實時性能高,可實現數據的遠程傳輸、處理和展示。有助于建立人體健康監測新模式,在穿戴式健康監測設備領域有著廣闊的應用前景[5]。

1 系統總體設計方案

本系統設計包含數據采集前端(含心率血壓監測傳感器、數據傳輸、數據處理中間件)、數據云平臺分析存儲模塊和數據可視化終端(即PC客戶應用終端)三個部分。

數據采集前端采用STM32F103單片機作為主控模塊,搭載MKB0805心率血壓采集模塊,其傳感器利用光電容積脈搏波描記法(Photo Plethysmo Graphy,PPG),通過手腕或指尖采集人體心率血壓數據,數據會實時顯示在T5L_DGUS串口屏上,而后通過搭載的ME3616窄帶物聯網(Narrow Band-Internet of Things,NB-IoT)模塊,采用傳輸控制協議/網際協議(Transmission Control Protocol/Internet Protocol,TCP/IP)將采集的數據以自定義的數據包格式發送至云服務器。

數據云平臺通過云服務器上部署的中間件服務程序進行數據分析,以保證傳輸數據的準確與唯一性,將最終數據存儲至MYSQL數據庫中。

數據可視化終端通過PC客戶端服務軟件,進行心率血壓歷史數據的直觀展示分析。系統的整體框架圖,如圖1。

圖1 系統總體設計框圖Figure 1 System design block diagram

2 系統硬件設計

2.1 主控模塊

目前比較流行的主控模塊主要有51單片機、STM32單片機、應用范圍較廣泛的ARM控制器等。其中51單片機需要仿真器來實現軟硬件的調試,較為繁瑣,并且其片上資源相對較少,不能滿足本設計要求;STM32單片機與ARM控制器相對于51單片機,可以實現本設計的所有需要。但是ARM控制器相對成本較高,并且要單獨配置開發環境。STM32單片機價格低廉,功能齊全,性價比最高。綜上,本系統的硬件采用STM32F103芯片作為主控模塊,構成核心控制系統。

在單片機串口1(UART1)搭載心率血壓采集模塊,UART2搭載數據顯示模塊,UART3搭載WIFI模塊。單片機通過串口通信與各模塊進行數據交互,實現心率血壓數據采集、處理、分析以及實時顯示、異常報警、遠程傳輸等功能,系統硬件結構圖如圖2。

圖2 硬件結構圖Figure 2 Hardware structure diagram

2.2 心率血壓數據采集模塊

綜合比較市面上各種測試心率血壓的模塊,包括小米手環、HRV健康測量AD8232監測傳感器、MAX30100心率血氧傳感器以及MKB0805連續心率血壓脈搏波傳感器,對比發現MKB0805傳感器可以實現通過手指接觸即可快速測得心率血壓且測量精度高,而且可以直接接入主控模塊,具有其他模塊所不具備的穩定性。因此,心率血壓模塊采用MKB0805傳感器。

其基本原理為:血液在流動過程中產生周期性的脈搏波,脈搏波波形會隨著離心臟距離的不同會有時間上的延遲即脈搏波傳導時間,由Moens-Kortweg公式和Hughes[6-7]推導出人體血壓變化與動脈血管壁楊氏彈性量以及脈搏波傳導時間的關系[8-11]:

(1)

式(1)中,P為血壓值,E0為血壓值為零時血管壁彈性模量,h為血管壁厚度,d為血管內徑,ρ為血液密度,PTT為脈搏波傳導時間,k為無量綱常數,r為血管特性參數量值。由式(1)可知,血壓值和脈搏波傳導時間具有較好的相關性,由脈搏波傳導時間可以間接地得到血壓值。

心率血壓采集模塊主要由YK1801脈搏傳感器芯片、HR6707脈搏芯片、HR6816增益芯片和SFB9712算法芯片組成。其中YK1801脈搏傳感器采用光電式容積脈搏波描記(PPG)的方式采集人體的脈搏信號,再通過HR6816芯片組成的高阻抗、低噪聲、低溫漂的增益放大電路對心電信號和脈搏信號進行放大,其原理圖如圖3。放大之后的信號通過HR6707芯片內置的RC濾波電路和低通數字濾波器進行濾波,獲得較平滑的信號[12-13]。再將信號輸入SFB9712算法芯片,最終輸出血壓、心率等串口信號。

圖3 心率血壓采集模塊增益電路圖Figure 3 Gain circuit diagram of heart rate and blood pressure acquisition module

本系統心率血壓采集模塊可實現心率血壓采集計算、脈搏心電波形輸出、血壓跟蹤監測等人體健康指標采集。

2.3 數據顯示模塊

本系統數據顯示模塊采用T5L_DGUS串口屏,T5LASIC是針對AIoT應用設計的性價比高、功耗低、GUI和應用高度整合的單芯片雙核ASIC IC,采用成熟和穩定且應用廣泛的8051核,1 T(單指令周期)高速工作,最高主頻250 MHz,其信號接口定義如表1。

表1 T5L_DGUS串口屏信號接口定義

相較于傳統的LCD顯示模塊,其顯示功能更加豐富,分辨率高及自帶觸摸功能,可實現人機交互需求,且與主控模塊通信方便,更滿足本系統的需求。

DGUS屏采用異步、全雙工串口(UART),串口模式為8n1,即每個數據傳送采用十個位,包括1個起始位,8個數據位,1個停止位。232/TTL通訊和主板T/R輸入輸出信號交叉接線,地線必須接上;485通訊485+接A+,485-接B-。串口的所有指令或數據都是16進制(HEX)格式。采用變量驅動模式工作,屏的工作模式和GUI的狀態完全由數據變量來控制。因此,串口指令只需要對變量進行讀、寫即可。

本系統數據展示模塊可實現數據采集控制、實時時鐘顯示、實時心率血壓顯示、歷史檢測數據查看、異常數據提示等功能。

2.4 NB-IoT數據傳輸模塊

ME3616系列NB-IoT模塊是一款內嵌了TCP/IP網絡服務協議棧的NB-IoT無線通信IC??梢蕴峁┳畲?6 kb/s上行速率和34 kb/s下行速率。且模塊為極小尺寸LCC緊湊型封裝模塊,適用于可穿戴設備等對于模塊尺寸有嚴格要求的應用領域。

傳統的數據傳輸WIFI模塊,只能在固定地點連接網絡,具切換時間長、帶寬小、覆蓋半徑小,存在數據安全隱患。而NB-IoT通信技術,具有低功耗、深覆蓋、多連接、低成本、架構優等特點。適合靜態業務與實時傳輸數據的業務場景[14-15],更加契合本系統便攜性的需求。因此,本系統的數據傳輸模塊采用NB-IoT模塊。

NB-IoT是在基于頻分雙工長期演進技術(Frequency Division Dual-Long Term Evolution,FDD-LTE)上改造而來的,物理層設計大部分沿用LTE系統技術,上行采用單載波頻分多址(Single-carrier Frequency-Division Multiple Access,SC-FDMA),下行采用正交頻分復用技術(Orthogonal Frequency Division Multiplexing,OFDM)。高層協議設計沿用LTE協議,針對其小數據包、低功耗和大連接特性進行功能增強。

ME3616系列NB-IoT模塊的MCU主控模塊通過UART串口和AT指令可以與模組通信,通過模塊的指令集與主控模塊(STM32)串口通信實現數據傳輸功能的開發。MCU原理圖如圖4。

圖4 ME3616 MCU原理圖Figure 4 Schematic diagram of the ME3616 MCU

本系統NB-IoT數據傳輸模塊通過TCP/IP協議,可實現將數據采集前端的心率血壓數據傳輸至數據云平臺的中間件服務軟件,進行數據的后續處理與存儲。

3 系統軟件設計

本系統軟件開發環境分為兩部分:單片機主控模塊采用KeilV5為開發環境,使用C語言編寫程序實現單片機與各模塊的交互;而數據處理中間件軟件與PC客戶端服務軟件采用Qt5.13.0進行軟件開發,結合SQL命令、Matlab算法、云計算等聯合編程,實現了數據采集、實時顯示、遠程傳輸、異地存儲和歷史數據動態分析等功能。

3.1 本地數據采集與人機交互系統

3.1.1 心率血壓數據采集單元

心率血壓數據通過主控模塊STM32單片機控制MKB0805傳感器來進行采集,是整個系統的至關重要的環節。

首先通過主控模塊對心率血壓模塊進行校準,單片機每隔100 ms通過串口向MKB0805傳感器發送數據采集指令FD 00 00 00 00 00,模塊回復初始的心率血壓值。

采集到初始的數據后,將數據存入單片機內存中,當數據達到20組后,開始數據預處理。遍歷20組數據進行異常值剔除,再進行均值求和處理,得到最終的心率血壓數值,并存儲到單片機的Flash中,數據采集單元流程如圖5。

圖5 心率血壓數據采集流程圖Figure 5 Flow chart of heart rate and blood pressure data collection

3.1.2 人機交互單元

在T5L_DGUS串口屏配備的開發軟件中進行GUI設置,分配相應的數據變量顯示接口地址。

單片機根據串口屏的數據傳輸協議,對需要顯示的數據進行封裝、校驗,發送至對應的顯示接口地址中,取出接口地址的數據在屏幕中對應控件進行顯示。在GUI設置添加相應的觸控控件并在T5L芯片中分配對應的觸控地址,觸摸屏幕時,通過串口向單片機發送對應的觸控位置,單片機對接收的數據進行解析,實現對應的人機交互功能操作,展示界面如圖6。

圖6 人機交互展示界面Figure 6 Human-computer interface

3.1.3 異常報警單元

對于處理完成的心率血壓數據,在軟件中提前設定心率血壓的健康值范圍,首先與健康值范圍進行對比,若超出范圍則觸發串口屏的蜂鳴器報警信號,并在串口屏的交互界面彈出報警提示。若數值屬于健康范圍,繼而與單片機Flash中存儲的歷史數據進行比對,如若變化率超過設定的閾值,則同樣觸發報警信號,并且將異常的數據存入單片機Flash中,以便用戶在交互界面進行歷史異常數據查詢。

3.2 數據上云

系統數據采集完成后,得到本地的心率血壓數據,為了方便數據的存儲與管理,我們利用單片機串口與ME3616通訊,發送AT指令,將數據發送至指定云服務器。先將ME3616模塊連接到網絡,成功附著到網絡之后,再配置目標服務器和端口號,實現數據的交互。

程序包含異常處理模塊,若ME3616模組入網失敗,則主控模塊將重新啟動ME3616模組繼續嘗試入網;如若入網成功繼續接入云服務器,則進行數據傳輸;如若入網再次失敗,則斷電關機,手動上電重啟。整個數據上云流程圖如圖7。

圖7 NB-IoT模塊數據上云流程圖Figure 7 Flow chart of NB-IoT module data uploading to the cloud

3.3 云平臺搭建

3.3.1 中間件服務程序設計

為了將NB-IoT模組傳輸的數據存儲至云服務器上的MYSQL數據庫,通過Qt進行傳輸中間件的軟件開發。軟件接收到心率血壓實時數據后,進行數據分析,最后將解析的數據按照高壓、低壓、心率、上傳時間等標簽順序存儲在數據庫表內,以便數據展示時調用。

選擇TCP/IP作為數據傳輸的通信協議,為了防止數據傳輸過程中的數據丟包和誤傳等傳輸錯誤,按照自定義的數據包格式上傳至中間件。制定NB-IoT模組與中間件之間數據包的傳輸協議,協議數據包結構包括:

u8 header[4];//數據頭

u16 len; //數據長度 包括頭

u16 cmd_no; //命令號

u8 sn[4]; //設備編號

u32 second; //當前傳輸時間(s)

u32 ms; //當前傳輸時間(ms)

u32 sys_num1; //系統隨機數1

u32 sys_num2; //系統隨機數2

u8 data[158]; //命令附加的數據

u8 crc[2]; //crc16校驗位

NB-IoT模組連接到中間件后,中間件顯示連接客戶端列表,同時開始接收來自NB-IoT模組的數據包。首先判斷數據頭是否為“HEAD”,對比數據包實際長度是否與記錄的包長度len相等,減少接收不完整的數據包或者數據粘包現象,此后通過16 crc校驗碼對數據包數據進行校驗,最后為防止同一數據包的重復接收,為每一個數據包配備唯一識別碼,接收數據包后判斷唯一識別碼是否與前五個包存在重復現象,若存在則舍棄該數據包。中間件服務程序流程圖如圖8(a),展示界面如圖8(b)。

圖8 中間件服務程序Figure 8 Middleware service program

3.3.2 MYSQL數據庫設計

云數據庫是數字智慧解決方案的重要工具,本文使用的云數據庫是部署在虛擬云服務器環境下的MYSQL數據庫[16-18]。數據庫設計是數據存儲與管理的核心,主要分為三個數據表單,分別為用戶歷史檢測數據表、用戶登錄信息表和用戶異常數據表,其中用戶歷史檢測數據表字段設計如表2。

表2 用戶歷史檢測數據表

3.4 數據可視化終端軟件設計

系統利用QT開發了上位機PC客戶端軟件,整個軟件包括登錄界面和健康數據可視化展示兩大部分。

通過連接云端數據庫,可以實現數據手動及自動刷新,用戶可以觀測自己的健康數據,當數據出現異常時,界面彈出異常警報消息框。PC客戶端軟件登錄界面展示如圖9。

圖9 PC客戶端軟件登錄界面Figure 9 Login interface of the PC client software

健康數據可視化展示界面如圖10,其中健康數據展示包括血壓走勢曲線、心率血壓歷史數據總覽表、心率血壓變化柱形圖等一系列數據動態展示??梢宰層脩舾又庇^得觀測身體健康數據的變化。

圖10 智能健康監測系統數據可視化終端Figure 10 Data visualization terminal of intelligent health monitoring system

在每塊數據曲線展示部分的.cpp文件中連接MYSQL數據庫,利用QT的QtCharts/QChartView圖表類,QLineSeries的線系列類制作了心率血壓數據的走勢曲線及柱形圖。

4 結 論

本系統基于智慧醫療與云平臺背景,在對比了傳統心率血壓測量方式與市場常見的智能監測設備后,設計了一種端云一體化心率血壓智能監測系統,該系統包含數據采集前端、數據云平臺和數據可視化終端三部分,整個系統具有數據采集精確度高、實時性強、數據管理多元化等特點。

采用STM32F103為主控模塊,通過串口通信與心率血壓采集模塊、數據顯示模塊和NB-IoT數據傳輸模塊進行交互,實現心率血壓數據采集、處理、分析,以及實時顯示、異常報警、遠程傳輸等功能。同時本系統還配備有數據可視化終端,即上位機PC客戶端軟件,登錄賬號后,可以實時觀測近期歷史健康數據,且在異常數據出現時發出監測預警。

整套系統成熟穩定、體積小、方便智能,經用戶多次測試,數據采集精度高,采集效率高。該系統在智慧醫療、可穿戴智能設備等健康管理行業有著廣闊的應用前景。

猜你喜歡
中間件脈搏串口
淺談AB PLC串口跟RFID傳感器的通訊應用
用心感受狗狗的脈搏
《今日評說》評今日浙江 說時代脈搏
RFID中間件技術及其應用研究
基于51系列單片機的穿戴式脈搏儀的設計
基于Android 平臺的OSGi 架構中間件的研究與應用
近紅外可穿戴設備中脈搏波的呼吸率檢測
數字電源內部數據傳輸的串口通信方法實現
USB接口的多串口數據并行接收方法探索
基于藍牙串口適配器的GPS接收機與AutoCAD的實時無線通信
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合