付學偉
(云南民族大學體育學院 云南昆明 650000)
運動員速度與心率遠程監測系統,能夠在運動場地實時檢測出運動員的心率及速度相關數據,幫助教練員及醫生等隨時隨地觀察運動員的運動狀態參數,為運動員的科學訓練、課程安排等提供了非常有效的實時參考數據[1]。該系統通過Arduino中控板對感知層各種傳感器數據進行檢測、采集,再通過串口通信技術、WiFi無線通信技術將數據發送至云平臺,云平臺會對相關數據進行識別、篩選、整合,并將數據在APP、Web端進行實時顯示。管理人員可以通過Web端、APP實時查看運動員的相應狀態參數。
速度與心率遠程監測系統不受時間、地點等限制,針對訓練員、醫生、校園體能等各種場景都可運用。同時數據的實時監測與傳輸對運動員的一些心率突發情況可以起到有效的危險防范作用,避免一些不必要的安全事故的發生。
基于“Arduino+Web+APP”的速度與心率遠程監控系統,主要是用來實現對運動狀態參數檢測、采集,并且滿足相關管理者通過Web端與APP端對遠程數據實時查看與控制的功能。
1.1.1 感知層
該層是基于Arduino+Web+APP的速度與心率遠程監控系統的最底層部分,也是核心部分。該層負責采集物體之間的數據。該系統通過單片機驅動相關傳感器來采集心率、速度等運動狀態變量。
1.1.2 網絡層
該層通過有線或者無線的網絡對感知層采集的數據進行編碼、識別、傳輸。該系統首先將采集到的數據通過串口通信由Arduino向WiFi模塊發送,接下來是WiFi模塊將數據發送到云平臺,云平臺通過封裝好的數據處理接口對數據進行識別、整合,然后發送至遠端Web與APP進行數據的實時顯示與監測。
1.1.3 應用層
該層是速度與心率遠程監控系統的最頂層,提供了豐富的應用解決方案和物聯網應用接口。即在云平臺將接收到的數據發送到遠端Web與APP時,相關用戶可以通過Web端與APP去實時查看相應數據,監管相應的傳感器設備。
基于Arduino+Web的速度與心率遠程監控系統,主要用于對運動狀態參數的檢測,以及相關管理者對于這些數據的監控與對相應設備的控制管理[2]。ZigBee+Web+APP結構的速度與心率遠程監控系統以Arduino為中央控制板,結合WiFi通信、串口通信實現數據的傳遞和交互,然后數據會傳輸到云平臺,經過處理后發送至Web端與APP端,用于讓相關管理者對數據進行檢測[3]。
該文涉及的ZigBee+Web+APP的速度與心率遠程監控系統首先是對運動狀態參數的檢測,包括心率、速度等。片上系統首先是對數據進行檢測與采集,然后對數據進行判斷,發送相應的數據包到Web[4,5]。
心率檢測具體流程如圖1所示。速度檢測具體流程如圖2所示。WiFi模塊數據傳輸具體流程圖如圖3所示。

圖1 心率監測模塊系統圖

圖2 速度監測模塊系統圖

圖3 WiFi模塊系統圖
系統整體包括數據的采集、數據的傳輸、數據的顯示三大部分:通過心率傳感器與測距模塊進行數據的采集;通過WiFi模塊進行數據的遠程無線傳輸;通過Web端與APP端進行數據的顯示。
具體的功能流程如下。首先單片機驅動板上搭載的心率采集模塊對心率進行采集,同時驅動測距模塊對距離進行檢測,并通過內部的時間統計函數計算出速度,完成數據的采集功能。然后單片機將心率數據、速度數據通過板上的通信串口發送至ESP8266WiFi模塊,再對WiFi模塊的工作模式與數據發送方式進行配置與指令的寫入,通過ESP8266WiFi模塊將數據發送至云平臺,完成數據的無線遠程發送。云平臺接收到數據后,對數據進行整合與處理,然后實時在Web與APP界面進行顯示,并生成日志,便于用戶查看,完成數據的顯示功能。
2.2.1 中控板簡介
系統采用Arduino單片機作為中央控制板,該開發板的部分數字引腳支持PWM波的輸出,也便于對模塊進行各種占空比的控制。同時具有豐富的第三方庫,只需要在IDE中添加相應模塊的庫,就可以調用庫中的函數驅動各種模塊進行工作[6]。
2.2.2 電路原理圖設計
Arduino單片機具有數字引腳與模擬引腳兩種輸入輸出類型,其中數字引腳D2、D3用于驅動紅外對管模塊對速度數據進行采集;TXD、RXD引腳是模塊的串口通信引腳,分別與ESP8266的數據接收、發送引腳連接,用于數據的遠程收發功能;A4、A5是單片機的模擬引腳,與心率采集傳感器模擬輸出引腳連接,用于接收模塊采集的心率數據。
2.3.1 模塊簡介
系統采用MAX30102心率檢測模塊實現對用戶的心率采集功能。該模塊相較于其他模塊,穩定性高,內置有轉換電路,可以直接讀取引腳上的心率數據。
2.3.2 電路原理圖設計
該模塊有7個引腳,系統用到其中的4個。其中GND、VIN引腳與開發板的GND、3.3V連接,用于提供模塊正常工作的電壓。SDA是模塊的數據信號輸出引腳,與單片機的A4連接,通過讀取該引腳輸出的模擬電壓,再通過單片機內部的ADC轉換,得到心率的采集數據。SCL是模塊的時鐘信號引腳,用于和單片機保持同步的數據傳輸頻率,與單片機的A5引腳連接。
2.4.1 模塊簡介
系統使用紅外對管模塊用于對運動相關數據進行采集,該模塊具有一對紅外發射與接收管,工作時,發射管會發射出一定頻率的紅外線,當運動員經過時,紅外線會被反射回來并由接收管接收,從而實現對運動員運動參數的采集。
2.4.2 電路原理圖分析
系統使用2個紅外發射模塊對速度數據進行檢測,2個模塊之間距離固定,當運動員通過時,模塊會發送低電平,通過2個低電平之間的時間差,計算出運動的速度數據。該模塊有3個引腳,其中1號、3號引腳與開發板的5V、GND連接,提供模塊工作需要的電壓;2號引腳是模塊的信號觸發引腳,分別與單片機的數字引腳D2、D3連接,當運動員通過時,單片機讀取到低電平“0”,但沒有運動員通過時,讀取到高電平“1”。
2.5.1 模塊簡介
系統使用OLED顯示模塊對心率、速度數據進行顯示。OLED模塊采用OLED自發光技術,當電流通過時,有機材料就會發光,可以顯示漢字、ASCLL碼、圖案等。
2.5.2 電路原理圖設計
系統使用OLED模塊對相應數據進行顯示。模塊具有4個引腳,其中VCC、GND與開發板的供電引腳相連,為模塊提供正常的工作電壓。SCL是模塊的時鐘線引腳,與單片機的A5引腳連接,用于控制模塊與開發板的時鐘頻率。SDA為模塊數據線,與單片機的A4引腳相連,用于接收模塊發送的顯示數據。
2.6.1 模塊簡介
速度與心率遠程監控系統采用WiFi模塊進行數據的傳輸交互,用于物聯網傳輸層。該系統采用有人-WiFi模塊,該型號模塊掉電后數據并不會丟失,不需要像其他模塊一樣每次掉電重啟后需要再次通過單片機燒寫啟動程序。
2.6.2 電路原理圖設計
該模塊有8個引腳。其中1號、5號是模塊的工作電壓提供引腳,與開發板的3.3V、GND連接。4號引腳是模塊的串行數據發送引腳,與開發板的數據接收串口引腳RXD連接,8號引腳是模塊的串行數據接收引腳,與開發板的數據發送串口引腳TXD連接。開發板首先通過8號引腳將配置指令寫入到WiFi模塊中,設置為AP模式,設置模塊的端口號、名稱、密碼等參數。再將采集到的數據通過串口通信發送到WiFi模塊,再由WiFi模塊將數據發送至云平臺進行處理。
云平臺的創建與接入流程如下。首先在貝殼物聯進行賬號的注冊、登錄,確定系統的產品名稱,以及對速度及心率數據的格式、范圍的設定,并選擇采用WiFi+MCU的物聯網解決方案。然后獲取云平臺為系統生成的APIKey,點擊生成代碼,獲取該系統的封裝代碼包[7]。再將代碼包添加到Arduino庫中,在系統的程序設計中添加云平臺聯網的工程代碼及速度、心率數據接收與發送的工程代碼。最后將平臺為該系統生成的唯一產品ID燒寫到WiFi模塊中,對系統上電聯網后,就可以實現系統對云平臺的接入。
首先是對系統整體功能的測試,包括系統硬件端的外設電路、電源電路等的焊接,測試結果正常,接觸良好,并且能夠給單片機與各個外設模塊穩定供電。
其次是對心率與速度數據的采集與OLED顯示功能的測試,系統會實時對心率與速度數據進行檢測與采集,并將數據發送到OLED液晶顯示進行實時的顯示,測試結果正常。
再次是Web端對心率與速度數據的顯示功能的測試,該功能以折線圖的形式對速度、心率進行實時的顯示,供管理者對數據進行查看,測試結果正常。
最后是APP端對數據的顯示功能,APP端具有數字顯示與歷史數據折線圖顯示2種功能,通過頁面上的功能按鈕進行切換,測試結果正常。
在測試過程中,該文對基于ZigBee+Web+APP的速度與心率遠程監控系統的感知層、傳輸層、應用層三部分進行測試。在測試過程中遇到的問題主要有以下2個。
第一是硬件端的實現,Arduino單片機驅動各個傳感器。對于這個問題,查閱相關資料,閱讀相似代碼,反復地編寫代碼嘗試,記錄、比較每次驅動的結果,最終解決問題,成功驅動各個傳感器模塊。
第二是數據交互的實現與否。該系統涉及多次的數據交互:Arduino開發板與串口的數據交互、串口與WiFi模塊的數據交互、WiFi模塊與云平臺的數據交互。這三層數據交互在系統制作過程中都出現過或大或小的問題。通過反復的代碼修改,硬件調試,將測試結果顯示在串口助手進行比較,記錄每一次的測試結果,反復調試,最終解決了三層數據交互遇到的問題。
此次設計的基于Arduino+Web+APP的速度與心率遠程監控系統雖然已經實現了一部分智能心率、速度遠程監測的功能,但這僅僅只是完整功能的一部分,未來可以繼續去完善此次設計的基于Arduino+Web+APP的速度與心率遠程監控系統,如可以增加對周遭環境的檢測、遠程通話功能等,這些都是可以加入到速度與心率遠程監控系統的,同時為了更方便,還可設計一款手機APP供相關人員進行使用。
但是整體來說,與一個成熟完整的速度與心率遠程監控系統相比,功能還是略顯單一,在后續工作中,會不斷完善現有的功能,使其安全性、穩定性得到提高。同時通過后續的學習與思考,并結合如今較為流行的人工智能,為速度與心率遠程監控系統增添新的功能。在軟件端,對于Web的功能設計,以及功能的豐富性、穩定性也有著很大的提升空間。