何 翔,卓建業(yè)
(中國計(jì)量大學(xué),浙江 杭州 310018)
當(dāng)今,人體健康問題越發(fā)受到關(guān)注,檢測人體運(yùn)動(dòng)的儀器也越來越多地應(yīng)用于日常健康監(jiān)測中[1]。這些產(chǎn)品通過傳感器對人體信息進(jìn)行檢測且具有無線傳輸功能,可以方便有效地感知佩戴者的體溫、心率、運(yùn)動(dòng)狀態(tài)等信息,對佩戴者的情況進(jìn)行實(shí)時(shí)的監(jiān)測[2]。
隨著電子電路技術(shù)、傳感器技術(shù)的快速發(fā)展,越來越多的傳感器模塊被研制并且應(yīng)用在人們的生活中。各式各樣的傳感器作為檢測裝置,為人們提供極大的便利[3]。無線監(jiān)測是現(xiàn)階段比較火熱的發(fā)展方向,通過無線監(jiān)測的方式可大量縮短各事物之間的距離,優(yōu)化信息的獲取速度[4]。因此,本文將無線監(jiān)測融入運(yùn)動(dòng)監(jiān)測中,設(shè)計(jì)一種無線運(yùn)動(dòng)傳感器系統(tǒng),以便實(shí)時(shí)進(jìn)行運(yùn)動(dòng)信號(hào)的異地觀測。并且,將此系統(tǒng)設(shè)計(jì)融入實(shí)驗(yàn)教學(xué)中,結(jié)合工程實(shí)際與實(shí)驗(yàn)教學(xué),使得學(xué)生熟悉電子信息與物聯(lián)網(wǎng)互相結(jié)合的開發(fā)技術(shù),更好地掌握現(xiàn)階段潮流的系統(tǒng)設(shè)計(jì)模式[5]。
日常生活運(yùn)動(dòng)中,人體的體溫、心率以及運(yùn)動(dòng)量是最明顯且重要的觀測指標(biāo)[6]。本文所設(shè)計(jì)的無線運(yùn)動(dòng)傳感器系統(tǒng)通過各種不同的傳感器元件對上述原生信號(hào)進(jìn)行采集,并對獲取的信號(hào)進(jìn)行優(yōu)化計(jì)算、分析后,將解算的數(shù)據(jù)通過無線傳輸,以供終端監(jiān)測。
本文設(shè)計(jì)的無線運(yùn)動(dòng)傳感器系統(tǒng)以STM32單片機(jī)為主控制器,通過TI公司高精度模擬前端芯片ADS1292采集人體的心電信號(hào),使用溫度傳感器LMT70檢測人體溫度信息,通過MPU6050陀螺儀解算佩戴者的運(yùn)動(dòng)中的步態(tài)信息。檢測計(jì)算的數(shù)據(jù)通過ESP32WiFi傳輸?shù)姆绞缴蟼鞯皆品?wù)器,再由云服務(wù)器下發(fā)至手機(jī)APP實(shí)時(shí)查看佩戴者的檢測信息。運(yùn)動(dòng)傳感器系統(tǒng)框圖如圖1所示。
圖1 運(yùn)動(dòng)傳感器系統(tǒng)結(jié)構(gòu)框圖
心電信息的獲取是心率測量的前提,本文所設(shè)計(jì)的無線運(yùn)動(dòng)傳感器系統(tǒng)通過高精度信號(hào)采集芯片ADS1292來獲取人體的心電信號(hào)。ADS1292具有低功耗、高精度的特點(diǎn),能夠滿足長時(shí)間心電監(jiān)測的需求。
為了減少實(shí)際測量中不可避免的雜波信號(hào)對心電信號(hào)的干擾,本文采用信號(hào)處理方法優(yōu)化采集得到的心電信號(hào)??柭鼮V波(Kalman Filtering)中的一階低通濾波是工程中最常用的濾波方式,能有效地減少主頻率之外的雜波干擾[7],其傳遞函數(shù)如下所示:
令式(1)中s=jw,上下同乘a-jw,簡化可得:
分析式(2)中a與w關(guān)系可知:當(dāng)w?a時(shí),其模值趨向于1,并且隨著w增大,模值會(huì)減小;當(dāng)w=a時(shí),模值為,即0.707;當(dāng)w?a時(shí),模值趨向于0。由此可知在一階低通濾波器中,a為截止頻率,經(jīng)過濾波器處理之后,信號(hào)的振幅隨著頻率增加而不斷減小,所以可以設(shè)置合適的截止頻率以達(dá)到優(yōu)化信號(hào)波形的目的。
在自然界中,人體心電信號(hào)屬于低頻信號(hào),正常情況下在150 Hz以下[8],故本文中使用低通濾波器來進(jìn)行信號(hào)的篩選。通過構(gòu)造截止頻率為212 Hz的一階低通濾波器對心電信號(hào)進(jìn)行濾波處理,減少高頻信號(hào)的干擾。濾波處理前后的波形對比如圖2所示。
圖2 心率波形對比圖
由圖2可以看出,通過濾波操作之后的心率波形減去了高頻噪聲的影響,去噪后的波形可見明顯的心率波峰,有利于后續(xù)心電繪制與心率計(jì)算。
體溫是人體的重要生命體征,人體體溫的測量需要傳感器具有較高的精度,本文選用LMT70精密模擬溫度傳感器測量體溫,其具有出色的溫度匹配性,能作為醫(yī)用級(jí)的溫度傳感元件。利用所選傳感器采集體溫信息,將獲得的電信號(hào)利用線性算法處理,溫度計(jì)算公式如下:
式中a,b,c,d是規(guī)定的數(shù)據(jù)常量??梢钥闯銎漭敵鲋慌cVTAO有關(guān),使用查表法可以快速、準(zhǔn)確地獲取當(dāng)前電壓所對應(yīng)的溫度信息。
運(yùn)動(dòng)量是運(yùn)動(dòng)監(jiān)測中較為重要的信息。在本文無線運(yùn)動(dòng)傳感器系統(tǒng)中,采用MPU6050陀螺儀模塊來對人體的運(yùn)動(dòng)量進(jìn)行統(tǒng)計(jì)。測量佩戴者運(yùn)動(dòng)時(shí)的陀螺儀的三軸加速度信號(hào),并對各場景運(yùn)動(dòng)時(shí)信號(hào)進(jìn)行分析,以解算出佩戴者行走的步數(shù)。行走時(shí)陀螺儀信號(hào)如圖3所示,可以看出,步點(diǎn)時(shí)陀螺儀的輸出信號(hào)為波峰,故通過統(tǒng)計(jì)分析輸出信號(hào)中波峰,即可解析出當(dāng)前佩戴者的運(yùn)動(dòng)狀態(tài)和步數(shù)。根據(jù)波形規(guī)律和特征的分析,得到步點(diǎn)尋找的三個(gè)原則,分別為將曲線連續(xù)上升的次數(shù)、波峰波谷的差值需要大于閾值以及設(shè)定動(dòng)態(tài)閾值。
圖3 三軸加速度波形圖
另外,無論以任意姿態(tài)攜帶陀螺儀行走時(shí),總有一軸的輸出幅值相較其余兩軸周期性變化大。因此在對多組x,y,z三軸數(shù)據(jù)的實(shí)際計(jì)算中:首先,分別對其求平均值,找到最活躍軸;其次,對其進(jìn)行濾波,使輸出更加平滑;再次,將(Max+Min)2作為動(dòng)態(tài)閾值,根據(jù)動(dòng)態(tài)閾值來判斷是否走了一步;最后,系統(tǒng)持續(xù)更新三軸加速度的最大值和最小值,每采樣50次更新一次,并可通過波峰出現(xiàn)的頻率來判斷此時(shí)的運(yùn)動(dòng)狀態(tài)。
無線運(yùn)動(dòng)傳感系統(tǒng)涉及多傳感器模塊的檢測與使用,本文使用STM32單片機(jī)對采集的信號(hào)進(jìn)行處理及存儲(chǔ),故信號(hào)檢測軟件主要在STM32上進(jìn)行編寫,其主要設(shè)計(jì)思路如圖4所示。
圖4 軟件設(shè)計(jì)流程
隨著物聯(lián)網(wǎng)技術(shù)的飛快發(fā)展,當(dāng)前很多平臺(tái)推出了云計(jì)算服務(wù)器平臺(tái),其中阿里云是搭建時(shí)間最早、技術(shù)范圍較廣的平臺(tái)之一[9]?,F(xiàn)階段阿里云平臺(tái)構(gòu)建了一種適用于用戶開發(fā)的物聯(lián)網(wǎng)平臺(tái),通過MQTT通信協(xié)議等對客戶端產(chǎn)品進(jìn)行檢測和管理[10]。
消息隊(duì)列遙測傳輸協(xié)議(Message Queuing Telemetry Transport,MQTT)是 一 種 基 于 發(fā) 布/訂 閱(Publish/Subscribe)模式的“輕量級(jí)”通信協(xié)議,該協(xié)議構(gòu)建于TCP/IP協(xié)議上,由IBM在1999年發(fā)布。MQTT最大的優(yōu)點(diǎn)在于:可以以極少的代碼和有限的帶寬為連接遠(yuǎn)程設(shè)備提供實(shí)時(shí)可靠的消息服務(wù)[11]。MQTT作為一種低開銷、低帶寬占用的即時(shí)通信協(xié)議,在物聯(lián)網(wǎng)、小型設(shè)備、移動(dòng)應(yīng)用等方面有較廣泛的應(yīng)用。
本實(shí)驗(yàn)基于阿里云物聯(lián)網(wǎng)平臺(tái)的技術(shù),創(chuàng)建物聯(lián)網(wǎng)產(chǎn)品設(shè)備模型,開放設(shè)計(jì)MQTT訂閱與發(fā)布接口,接收無線運(yùn)動(dòng)傳感器系統(tǒng)所獲得的用戶運(yùn)動(dòng)信息[12]。通過使用ESP32將傳感器系統(tǒng)獲取的本地信息傳遞到服務(wù)器上,ESP32可作為獨(dú)立系統(tǒng)運(yùn)行應(yīng)用程序或是主機(jī)MCU的從設(shè)備,通過SPI/SDIO或I2C/UART接口提供WiFi和藍(lán)牙功能。無線系統(tǒng)中建立STM32與ESP32之間的互相通信,通過UART將STM32處理器中提取的運(yùn)動(dòng)信息傳遞給ESP32;然后在ESP32中構(gòu)建阿里云MQTT傳輸協(xié)議,連接指定的云服務(wù)器端口,上傳運(yùn)動(dòng)信息至云服務(wù)器。WiFi傳輸流程如圖5所示。
圖5 WiFi傳輸流程
顯示是一個(gè)系統(tǒng)必不可少的部分,在本文無線運(yùn)動(dòng)傳感系統(tǒng)中添加顯示模塊,可實(shí)時(shí)觀測系統(tǒng)運(yùn)行狀態(tài)及檢測輸出等信息。設(shè)計(jì)采用OLED作為系統(tǒng)顯示模塊,如圖6所示。OLED具有低功耗、寬視角、更輕便等特點(diǎn),其中I2C的連接協(xié)議具有齊全的開發(fā)技術(shù)手冊,其出色的信息輸出能力方便在系統(tǒng)調(diào)試時(shí)對輸出結(jié)果進(jìn)行分析。
圖6 OLED顯示模塊
進(jìn)一步完成主控芯片與傳感器模塊系統(tǒng)搭建,搭建后的無線運(yùn)動(dòng)傳感器系統(tǒng)如圖7所示。并對STM32單片機(jī)中的信號(hào)處理程序與ESP32 MQTT傳輸程序的內(nèi)容進(jìn)行編寫。分別對系統(tǒng)的溫度監(jiān)測、心率測量、運(yùn)動(dòng)量統(tǒng)計(jì)功能進(jìn)行測試。測試項(xiàng)目包括實(shí)時(shí)采集及記錄使用者的心電信號(hào),計(jì)算使用者心率;實(shí)時(shí)采集和記錄使用者的體表溫度;實(shí)時(shí)檢測使用者的運(yùn)動(dòng)信息,實(shí)現(xiàn)運(yùn)動(dòng)步數(shù)和運(yùn)動(dòng)距離的統(tǒng)計(jì)分析。測試結(jié)果如表1~表3所示。
圖7 無線運(yùn)動(dòng)傳感器系統(tǒng)
表2 體溫測量 ℃
表3 運(yùn)動(dòng)數(shù)據(jù)的測量
對無線傳輸部分進(jìn)行測試,ESP32能快速準(zhǔn)確地與所配置的阿里云進(jìn)行數(shù)據(jù)交互。為了驗(yàn)證本無線運(yùn)動(dòng)傳感器系統(tǒng)對終端的應(yīng)答能力,在Android平臺(tái)下設(shè)計(jì)搭建了一個(gè)手機(jī)APP來進(jìn)行傳輸實(shí)驗(yàn)[13]。在終端中同樣使用MQTT對配置的物聯(lián)網(wǎng)會(huì)話進(jìn)行訂閱,將無線運(yùn)動(dòng)傳感器中測量的信息下發(fā)至手機(jī)APP中并顯示。另外,在手機(jī)APP中增加了心電信息的繪制,顯示結(jié)果如圖8所示。
圖8 APP心電實(shí)時(shí)顯示結(jié)果
根據(jù)表1~表3測試實(shí)驗(yàn)數(shù)據(jù)可知,本文設(shè)計(jì)的無線運(yùn)動(dòng)傳感器系統(tǒng)能準(zhǔn)確地檢測、計(jì)算佩戴者的心率、體溫及運(yùn)動(dòng)步數(shù)信息。其中,心率測量誤差小于±0.5次/min,體溫測量誤差不大于±0.25℃,運(yùn)動(dòng)量誤差不超過10%,滿足各項(xiàng)檢測精度的需求,達(dá)到了運(yùn)動(dòng)傳感檢測的功能。并且,所融合的無線傳輸功能能準(zhǔn)確地傳輸系統(tǒng)采集的信息,上可發(fā)至云端存儲(chǔ),下可提供終端監(jiān)測,實(shí)現(xiàn)無線監(jiān)測、異地監(jiān)測的功能。
本文結(jié)合工程實(shí)際,以人體運(yùn)動(dòng)監(jiān)測為主要背景,設(shè)計(jì)了無線運(yùn)動(dòng)傳感系統(tǒng)測量系統(tǒng)。該系統(tǒng)以多個(gè)傳感器作為檢測單元,以STM32F407單片機(jī)為主控芯片,通過使用MQTT協(xié)議連接ESP32與阿里云,實(shí)現(xiàn)了運(yùn)動(dòng)信息快速準(zhǔn)確的測量功能;另外,將無線監(jiān)測與傳感檢測相結(jié)合,實(shí)現(xiàn)了無線監(jiān)測、異地監(jiān)測的功能。并且該系統(tǒng)開發(fā)能力強(qiáng),可拓展性強(qiáng),可融入日常的電子教學(xué)中,發(fā)揮學(xué)生的主觀能動(dòng)性,并讓學(xué)生自主地參與自己設(shè)計(jì)的系統(tǒng)中,進(jìn)一步了解當(dāng)前潮流的系統(tǒng)設(shè)計(jì)模式。