付學(xué)偉
(云南民族大學(xué)體育學(xué)院 云南昆明 650000)
運(yùn)動(dòng)員速度與心率遠(yuǎn)程監(jiān)測(cè)系統(tǒng),能夠在運(yùn)動(dòng)場(chǎng)地實(shí)時(shí)檢測(cè)出運(yùn)動(dòng)員的心率及速度相關(guān)數(shù)據(jù),幫助教練員及醫(yī)生等隨時(shí)隨地觀察運(yùn)動(dòng)員的運(yùn)動(dòng)狀態(tài)參數(shù),為運(yùn)動(dòng)員的科學(xué)訓(xùn)練、課程安排等提供了非常有效的實(shí)時(shí)參考數(shù)據(jù)[1]。該系統(tǒng)通過(guò)Arduino中控板對(duì)感知層各種傳感器數(shù)據(jù)進(jìn)行檢測(cè)、采集,再通過(guò)串口通信技術(shù)、WiFi無(wú)線通信技術(shù)將數(shù)據(jù)發(fā)送至云平臺(tái),云平臺(tái)會(huì)對(duì)相關(guān)數(shù)據(jù)進(jìn)行識(shí)別、篩選、整合,并將數(shù)據(jù)在APP、Web端進(jìn)行實(shí)時(shí)顯示。管理人員可以通過(guò)Web端、APP實(shí)時(shí)查看運(yùn)動(dòng)員的相應(yīng)狀態(tài)參數(shù)。
速度與心率遠(yuǎn)程監(jiān)測(cè)系統(tǒng)不受時(shí)間、地點(diǎn)等限制,針對(duì)訓(xùn)練員、醫(yī)生、校園體能等各種場(chǎng)景都可運(yùn)用。同時(shí)數(shù)據(jù)的實(shí)時(shí)監(jiān)測(cè)與傳輸對(duì)運(yùn)動(dòng)員的一些心率突發(fā)情況可以起到有效的危險(xiǎn)防范作用,避免一些不必要的安全事故的發(fā)生。
基于“Arduino+Web+APP”的速度與心率遠(yuǎn)程監(jiān)控系統(tǒng),主要是用來(lái)實(shí)現(xiàn)對(duì)運(yùn)動(dòng)狀態(tài)參數(shù)檢測(cè)、采集,并且滿足相關(guān)管理者通過(guò)Web端與APP端對(duì)遠(yuǎn)程數(shù)據(jù)實(shí)時(shí)查看與控制的功能。
1.1.1 感知層
該層是基于Arduino+Web+APP的速度與心率遠(yuǎn)程監(jiān)控系統(tǒng)的最底層部分,也是核心部分。該層負(fù)責(zé)采集物體之間的數(shù)據(jù)。該系統(tǒng)通過(guò)單片機(jī)驅(qū)動(dòng)相關(guān)傳感器來(lái)采集心率、速度等運(yùn)動(dòng)狀態(tài)變量。
1.1.2 網(wǎng)絡(luò)層
該層通過(guò)有線或者無(wú)線的網(wǎng)絡(luò)對(duì)感知層采集的數(shù)據(jù)進(jìn)行編碼、識(shí)別、傳輸。該系統(tǒng)首先將采集到的數(shù)據(jù)通過(guò)串口通信由Arduino向WiFi模塊發(fā)送,接下來(lái)是WiFi模塊將數(shù)據(jù)發(fā)送到云平臺(tái),云平臺(tái)通過(guò)封裝好的數(shù)據(jù)處理接口對(duì)數(shù)據(jù)進(jìn)行識(shí)別、整合,然后發(fā)送至遠(yuǎn)端Web與APP進(jìn)行數(shù)據(jù)的實(shí)時(shí)顯示與監(jiān)測(cè)。
1.1.3 應(yīng)用層
該層是速度與心率遠(yuǎn)程監(jiān)控系統(tǒng)的最頂層,提供了豐富的應(yīng)用解決方案和物聯(lián)網(wǎng)應(yīng)用接口。即在云平臺(tái)將接收到的數(shù)據(jù)發(fā)送到遠(yuǎn)端Web與APP時(shí),相關(guān)用戶(hù)可以通過(guò)Web端與APP去實(shí)時(shí)查看相應(yīng)數(shù)據(jù),監(jiān)管相應(yīng)的傳感器設(shè)備。
基于Arduino+Web的速度與心率遠(yuǎn)程監(jiān)控系統(tǒng),主要用于對(duì)運(yùn)動(dòng)狀態(tài)參數(shù)的檢測(cè),以及相關(guān)管理者對(duì)于這些數(shù)據(jù)的監(jiān)控與對(duì)相應(yīng)設(shè)備的控制管理[2]。ZigBee+Web+APP結(jié)構(gòu)的速度與心率遠(yuǎn)程監(jiān)控系統(tǒng)以Arduino為中央控制板,結(jié)合WiFi通信、串口通信實(shí)現(xiàn)數(shù)據(jù)的傳遞和交互,然后數(shù)據(jù)會(huì)傳輸?shù)皆破脚_(tái),經(jīng)過(guò)處理后發(fā)送至Web端與APP端,用于讓相關(guān)管理者對(duì)數(shù)據(jù)進(jìn)行檢測(cè)[3]。
該文涉及的ZigBee+Web+APP的速度與心率遠(yuǎn)程監(jiān)控系統(tǒng)首先是對(duì)運(yùn)動(dòng)狀態(tài)參數(shù)的檢測(cè),包括心率、速度等。片上系統(tǒng)首先是對(duì)數(shù)據(jù)進(jìn)行檢測(cè)與采集,然后對(duì)數(shù)據(jù)進(jìn)行判斷,發(fā)送相應(yīng)的數(shù)據(jù)包到Web[4,5]。
心率檢測(cè)具體流程如圖1所示。速度檢測(cè)具體流程如圖2所示。WiFi模塊數(shù)據(jù)傳輸具體流程圖如圖3所示。
圖1 心率監(jiān)測(cè)模塊系統(tǒng)圖
圖2 速度監(jiān)測(cè)模塊系統(tǒng)圖
圖3 WiFi模塊系統(tǒng)圖
系統(tǒng)整體包括數(shù)據(jù)的采集、數(shù)據(jù)的傳輸、數(shù)據(jù)的顯示三大部分:通過(guò)心率傳感器與測(cè)距模塊進(jìn)行數(shù)據(jù)的采集;通過(guò)WiFi模塊進(jìn)行數(shù)據(jù)的遠(yuǎn)程無(wú)線傳輸;通過(guò)Web端與APP端進(jìn)行數(shù)據(jù)的顯示。
具體的功能流程如下。首先單片機(jī)驅(qū)動(dòng)板上搭載的心率采集模塊對(duì)心率進(jìn)行采集,同時(shí)驅(qū)動(dòng)測(cè)距模塊對(duì)距離進(jìn)行檢測(cè),并通過(guò)內(nèi)部的時(shí)間統(tǒng)計(jì)函數(shù)計(jì)算出速度,完成數(shù)據(jù)的采集功能。然后單片機(jī)將心率數(shù)據(jù)、速度數(shù)據(jù)通過(guò)板上的通信串口發(fā)送至ESP8266WiFi模塊,再對(duì)WiFi模塊的工作模式與數(shù)據(jù)發(fā)送方式進(jìn)行配置與指令的寫(xiě)入,通過(guò)ESP8266WiFi模塊將數(shù)據(jù)發(fā)送至云平臺(tái),完成數(shù)據(jù)的無(wú)線遠(yuǎn)程發(fā)送。云平臺(tái)接收到數(shù)據(jù)后,對(duì)數(shù)據(jù)進(jìn)行整合與處理,然后實(shí)時(shí)在Web與APP界面進(jìn)行顯示,并生成日志,便于用戶(hù)查看,完成數(shù)據(jù)的顯示功能。
2.2.1 中控板簡(jiǎn)介
系統(tǒng)采用Arduino單片機(jī)作為中央控制板,該開(kāi)發(fā)板的部分?jǐn)?shù)字引腳支持PWM波的輸出,也便于對(duì)模塊進(jìn)行各種占空比的控制。同時(shí)具有豐富的第三方庫(kù),只需要在IDE中添加相應(yīng)模塊的庫(kù),就可以調(diào)用庫(kù)中的函數(shù)驅(qū)動(dòng)各種模塊進(jìn)行工作[6]。
2.2.2 電路原理圖設(shè)計(jì)
Arduino單片機(jī)具有數(shù)字引腳與模擬引腳兩種輸入輸出類(lèi)型,其中數(shù)字引腳D2、D3用于驅(qū)動(dòng)紅外對(duì)管模塊對(duì)速度數(shù)據(jù)進(jìn)行采集;TXD、RXD引腳是模塊的串口通信引腳,分別與ESP8266的數(shù)據(jù)接收、發(fā)送引腳連接,用于數(shù)據(jù)的遠(yuǎn)程收發(fā)功能;A4、A5是單片機(jī)的模擬引腳,與心率采集傳感器模擬輸出引腳連接,用于接收模塊采集的心率數(shù)據(jù)。
2.3.1 模塊簡(jiǎn)介
系統(tǒng)采用MAX30102心率檢測(cè)模塊實(shí)現(xiàn)對(duì)用戶(hù)的心率采集功能。該模塊相較于其他模塊,穩(wěn)定性高,內(nèi)置有轉(zhuǎn)換電路,可以直接讀取引腳上的心率數(shù)據(jù)。
2.3.2 電路原理圖設(shè)計(jì)
該模塊有7個(gè)引腳,系統(tǒng)用到其中的4個(gè)。其中GND、VIN引腳與開(kāi)發(fā)板的GND、3.3V連接,用于提供模塊正常工作的電壓。SDA是模塊的數(shù)據(jù)信號(hào)輸出引腳,與單片機(jī)的A4連接,通過(guò)讀取該引腳輸出的模擬電壓,再通過(guò)單片機(jī)內(nèi)部的ADC轉(zhuǎn)換,得到心率的采集數(shù)據(jù)。SCL是模塊的時(shí)鐘信號(hào)引腳,用于和單片機(jī)保持同步的數(shù)據(jù)傳輸頻率,與單片機(jī)的A5引腳連接。
2.4.1 模塊簡(jiǎn)介
系統(tǒng)使用紅外對(duì)管模塊用于對(duì)運(yùn)動(dòng)相關(guān)數(shù)據(jù)進(jìn)行采集,該模塊具有一對(duì)紅外發(fā)射與接收管,工作時(shí),發(fā)射管會(huì)發(fā)射出一定頻率的紅外線,當(dāng)運(yùn)動(dòng)員經(jīng)過(guò)時(shí),紅外線會(huì)被反射回來(lái)并由接收管接收,從而實(shí)現(xiàn)對(duì)運(yùn)動(dòng)員運(yùn)動(dòng)參數(shù)的采集。
2.4.2 電路原理圖分析
系統(tǒng)使用2個(gè)紅外發(fā)射模塊對(duì)速度數(shù)據(jù)進(jìn)行檢測(cè),2個(gè)模塊之間距離固定,當(dāng)運(yùn)動(dòng)員通過(guò)時(shí),模塊會(huì)發(fā)送低電平,通過(guò)2個(gè)低電平之間的時(shí)間差,計(jì)算出運(yùn)動(dòng)的速度數(shù)據(jù)。該模塊有3個(gè)引腳,其中1號(hào)、3號(hào)引腳與開(kāi)發(fā)板的5V、GND連接,提供模塊工作需要的電壓;2號(hào)引腳是模塊的信號(hào)觸發(fā)引腳,分別與單片機(jī)的數(shù)字引腳D2、D3連接,當(dāng)運(yùn)動(dòng)員通過(guò)時(shí),單片機(jī)讀取到低電平“0”,但沒(méi)有運(yùn)動(dòng)員通過(guò)時(shí),讀取到高電平“1”。
2.5.1 模塊簡(jiǎn)介
系統(tǒng)使用OLED顯示模塊對(duì)心率、速度數(shù)據(jù)進(jìn)行顯示。OLED模塊采用OLED自發(fā)光技術(shù),當(dāng)電流通過(guò)時(shí),有機(jī)材料就會(huì)發(fā)光,可以顯示漢字、ASCLL碼、圖案等。
2.5.2 電路原理圖設(shè)計(jì)
系統(tǒng)使用OLED模塊對(duì)相應(yīng)數(shù)據(jù)進(jìn)行顯示。模塊具有4個(gè)引腳,其中VCC、GND與開(kāi)發(fā)板的供電引腳相連,為模塊提供正常的工作電壓。SCL是模塊的時(shí)鐘線引腳,與單片機(jī)的A5引腳連接,用于控制模塊與開(kāi)發(fā)板的時(shí)鐘頻率。SDA為模塊數(shù)據(jù)線,與單片機(jī)的A4引腳相連,用于接收模塊發(fā)送的顯示數(shù)據(jù)。
2.6.1 模塊簡(jiǎn)介
速度與心率遠(yuǎn)程監(jiān)控系統(tǒng)采用WiFi模塊進(jìn)行數(shù)據(jù)的傳輸交互,用于物聯(lián)網(wǎng)傳輸層。該系統(tǒng)采用有人-WiFi模塊,該型號(hào)模塊掉電后數(shù)據(jù)并不會(huì)丟失,不需要像其他模塊一樣每次掉電重啟后需要再次通過(guò)單片機(jī)燒寫(xiě)啟動(dòng)程序。
2.6.2 電路原理圖設(shè)計(jì)
該模塊有8個(gè)引腳。其中1號(hào)、5號(hào)是模塊的工作電壓提供引腳,與開(kāi)發(fā)板的3.3V、GND連接。4號(hào)引腳是模塊的串行數(shù)據(jù)發(fā)送引腳,與開(kāi)發(fā)板的數(shù)據(jù)接收串口引腳RXD連接,8號(hào)引腳是模塊的串行數(shù)據(jù)接收引腳,與開(kāi)發(fā)板的數(shù)據(jù)發(fā)送串口引腳TXD連接。開(kāi)發(fā)板首先通過(guò)8號(hào)引腳將配置指令寫(xiě)入到WiFi模塊中,設(shè)置為AP模式,設(shè)置模塊的端口號(hào)、名稱(chēng)、密碼等參數(shù)。再將采集到的數(shù)據(jù)通過(guò)串口通信發(fā)送到WiFi模塊,再由WiFi模塊將數(shù)據(jù)發(fā)送至云平臺(tái)進(jìn)行處理。
云平臺(tái)的創(chuàng)建與接入流程如下。首先在貝殼物聯(lián)進(jìn)行賬號(hào)的注冊(cè)、登錄,確定系統(tǒng)的產(chǎn)品名稱(chēng),以及對(duì)速度及心率數(shù)據(jù)的格式、范圍的設(shè)定,并選擇采用WiFi+MCU的物聯(lián)網(wǎng)解決方案。然后獲取云平臺(tái)為系統(tǒng)生成的APIKey,點(diǎn)擊生成代碼,獲取該系統(tǒng)的封裝代碼包[7]。再將代碼包添加到Arduino庫(kù)中,在系統(tǒng)的程序設(shè)計(jì)中添加云平臺(tái)聯(lián)網(wǎng)的工程代碼及速度、心率數(shù)據(jù)接收與發(fā)送的工程代碼。最后將平臺(tái)為該系統(tǒng)生成的唯一產(chǎn)品ID燒寫(xiě)到WiFi模塊中,對(duì)系統(tǒng)上電聯(lián)網(wǎng)后,就可以實(shí)現(xiàn)系統(tǒng)對(duì)云平臺(tái)的接入。
首先是對(duì)系統(tǒng)整體功能的測(cè)試,包括系統(tǒng)硬件端的外設(shè)電路、電源電路等的焊接,測(cè)試結(jié)果正常,接觸良好,并且能夠給單片機(jī)與各個(gè)外設(shè)模塊穩(wěn)定供電。
其次是對(duì)心率與速度數(shù)據(jù)的采集與OLED顯示功能的測(cè)試,系統(tǒng)會(huì)實(shí)時(shí)對(duì)心率與速度數(shù)據(jù)進(jìn)行檢測(cè)與采集,并將數(shù)據(jù)發(fā)送到OLED液晶顯示進(jìn)行實(shí)時(shí)的顯示,測(cè)試結(jié)果正常。
再次是Web端對(duì)心率與速度數(shù)據(jù)的顯示功能的測(cè)試,該功能以折線圖的形式對(duì)速度、心率進(jìn)行實(shí)時(shí)的顯示,供管理者對(duì)數(shù)據(jù)進(jìn)行查看,測(cè)試結(jié)果正常。
最后是APP端對(duì)數(shù)據(jù)的顯示功能,APP端具有數(shù)字顯示與歷史數(shù)據(jù)折線圖顯示2種功能,通過(guò)頁(yè)面上的功能按鈕進(jìn)行切換,測(cè)試結(jié)果正常。
在測(cè)試過(guò)程中,該文對(duì)基于ZigBee+Web+APP的速度與心率遠(yuǎn)程監(jiān)控系統(tǒng)的感知層、傳輸層、應(yīng)用層三部分進(jìn)行測(cè)試。在測(cè)試過(guò)程中遇到的問(wèn)題主要有以下2個(gè)。
第一是硬件端的實(shí)現(xiàn),Arduino單片機(jī)驅(qū)動(dòng)各個(gè)傳感器。對(duì)于這個(gè)問(wèn)題,查閱相關(guān)資料,閱讀相似代碼,反復(fù)地編寫(xiě)代碼嘗試,記錄、比較每次驅(qū)動(dòng)的結(jié)果,最終解決問(wèn)題,成功驅(qū)動(dòng)各個(gè)傳感器模塊。
第二是數(shù)據(jù)交互的實(shí)現(xiàn)與否。該系統(tǒng)涉及多次的數(shù)據(jù)交互:Arduino開(kāi)發(fā)板與串口的數(shù)據(jù)交互、串口與WiFi模塊的數(shù)據(jù)交互、WiFi模塊與云平臺(tái)的數(shù)據(jù)交互。這三層數(shù)據(jù)交互在系統(tǒng)制作過(guò)程中都出現(xiàn)過(guò)或大或小的問(wèn)題。通過(guò)反復(fù)的代碼修改,硬件調(diào)試,將測(cè)試結(jié)果顯示在串口助手進(jìn)行比較,記錄每一次的測(cè)試結(jié)果,反復(fù)調(diào)試,最終解決了三層數(shù)據(jù)交互遇到的問(wèn)題。
此次設(shè)計(jì)的基于Arduino+Web+APP的速度與心率遠(yuǎn)程監(jiān)控系統(tǒng)雖然已經(jīng)實(shí)現(xiàn)了一部分智能心率、速度遠(yuǎn)程監(jiān)測(cè)的功能,但這僅僅只是完整功能的一部分,未來(lái)可以繼續(xù)去完善此次設(shè)計(jì)的基于Arduino+Web+APP的速度與心率遠(yuǎn)程監(jiān)控系統(tǒng),如可以增加對(duì)周遭環(huán)境的檢測(cè)、遠(yuǎn)程通話功能等,這些都是可以加入到速度與心率遠(yuǎn)程監(jiān)控系統(tǒng)的,同時(shí)為了更方便,還可設(shè)計(jì)一款手機(jī)APP供相關(guān)人員進(jìn)行使用。
但是整體來(lái)說(shuō),與一個(gè)成熟完整的速度與心率遠(yuǎn)程監(jiān)控系統(tǒng)相比,功能還是略顯單一,在后續(xù)工作中,會(huì)不斷完善現(xiàn)有的功能,使其安全性、穩(wěn)定性得到提高。同時(shí)通過(guò)后續(xù)的學(xué)習(xí)與思考,并結(jié)合如今較為流行的人工智能,為速度與心率遠(yuǎn)程監(jiān)控系統(tǒng)增添新的功能。在軟件端,對(duì)于Web的功能設(shè)計(jì),以及功能的豐富性、穩(wěn)定性也有著很大的提升空間。