鄧超
(西安思源學(xué)院 體育部, 西安 710038)
體育運動被認(rèn)為是周期性活動,即循環(huán)某一動作,以跳高運動為例,被視為是復(fù)雜的循環(huán)—非循環(huán)運動,其目的是在穿過桿時使跳線的質(zhì)心達到最大高度,為了獲得高性能和低傷害,注意跳高運動員的起飛技術(shù)是非常重要的。為了獲得良好的起飛技術(shù),接近階段的速度和起飛時的力是跳高過程中需要捕捉的重要參數(shù)。因此,利用傳感器來捕獲跳躍期間腳踝的跑步速度和力量的數(shù)據(jù)是研究跳高運動員的運動水平[1-3]。
在物聯(lián)網(wǎng)(IoT)時代使用無線連接是體育運動研究的一種普遍趨勢,現(xiàn)在大多數(shù)運動員都喜歡可穿戴設(shè)備,利用該類設(shè)備可捕捉速度、能量、心跳和健康生活方式的關(guān)鍵數(shù)據(jù),并確保運動員在參加比賽時身體狀態(tài)是否符合比賽條件。然而,目前缺乏實時可穿戴設(shè)備能夠捕獲高跳線的速度和力量,為了開發(fā)可穿戴設(shè)備,具有無線功能的傳感器和微控制器的需求對于確保運動員自由使用該設(shè)備而不需要在其身體上部署任何線纜是非常重要的。
無線傳感器網(wǎng)絡(luò)(WSN)作為一種用于觀察數(shù)據(jù)環(huán)境并將數(shù)據(jù)無線發(fā)送到系統(tǒng)接收器的新型推廣網(wǎng)絡(luò),要構(gòu)建WSN,需要傳感器和接口設(shè)備(如微控制器)連接在一起。從頭到尾的高跳線總平均運行時間約為6秒。因此,需要能夠以每秒10個數(shù)據(jù)無線傳輸數(shù)據(jù)的WSN,即每個數(shù)據(jù)100ms。這是因為,跳高運動并不需要像其他運動那樣捕捉高速數(shù)據(jù),例如足球運動在滑行過程中需捕獲傾斜的高度。為了解決數(shù)據(jù)傳輸問題,WSN設(shè)備在延遲和吞吐量方面的錯誤需要最小化,并且設(shè)計充分考慮設(shè)計成本。在這項研究中,微控制器ESP8266和Arduino Yun Mini被用于連接到作為WSN的力和全球定位系統(tǒng)(GPS)傳感器,這是因為兩個微控制器都包含內(nèi)置Wi-Fi并且尺寸小。此外,相關(guān)研究中提出的這種WSN設(shè)備只需要在起飛前捕獲速度并在起飛時捕獲力。為了分析這些問題,本文討論了無線傳感器網(wǎng)絡(luò)在微控制器吞吐量和延遲方面的傳輸網(wǎng)絡(luò)問題,對WSN的吞吐量和延遲的分析涉及在不同的設(shè)置模式下觀察這些參數(shù)。主要目標(biāo)是在最佳性能方面選擇1個微控制器,包括可靠性的延遲和吞吐量,以確定要在跳高可穿戴設(shè)備中使用的系統(tǒng)的網(wǎng)絡(luò)質(zhì)量[4-6]。
以下各節(jié)分別介紹了WSN的吞吐量和延遲問題以及WSN設(shè)備的成本問題。
吞吐量是系統(tǒng)在給定時間內(nèi)可以處理的信息總量的度量。系統(tǒng)輸出的相關(guān)度量包括可以完成某些特定工作負(fù)載的速度和響應(yīng)時間,單個交互式用戶請求和響應(yīng)接收之間的時間量;延遲是從輸入系統(tǒng)到期望結(jié)果的延遲。在數(shù)據(jù)傳輸中,介質(zhì)本身的例子如光纖,無線或任何傳輸介質(zhì)都會引入一些延遲,這種延遲因介質(zhì)而異。每次數(shù)據(jù)包傳輸?shù)拇笮a(chǎn)生延遲,同時較大的數(shù)據(jù)包接收和返回的時間比較小的數(shù)據(jù)包要長。為了對這些實驗的重要性進行分析,前面研究人員對問題的總結(jié)如表1所示。

表1 相關(guān)工作總結(jié)
簡而言之,可以得出結(jié)論,吞吐量和延遲是網(wǎng)絡(luò)傳輸和進一步研究需求的重要問題。特別是在硬件實現(xiàn)方面,微控制器和傳感器等嵌入式電子元件的實現(xiàn)方面[7-8]。
為了克服這些問題,需要測量WSN設(shè)備的吞吐量和延遲,以檢查微控制器成功傳輸速率的性能。在這些實驗中,傳感器將用作微控制器的輸入作性能比較,無線傳輸?shù)妮敵鰧⒏鶕?jù)吞吐量和延遲進行測量。
無線傳感器網(wǎng)絡(luò)設(shè)備的成本是當(dāng)今市場中相關(guān)因素之一。大多數(shù)傳感器都很便宜,但是連接或控制傳感器的WSN設(shè)備很昂貴,一些WSN設(shè)備具有傳感器、控制器和無線接口以將數(shù)據(jù)發(fā)送到服務(wù)器,這使得WSN設(shè)備更大且成本更高。在對WSN進程和協(xié)議研究時,可以發(fā)現(xiàn)一種方法來實現(xiàn)相同的功能而無需使用昂貴的WSN設(shè)備。
目前,大多數(shù)微控制器都實現(xiàn)了內(nèi)置Wi-Fi,與外部無線連接相比便宜得多。由大多數(shù)產(chǎn)品批量生產(chǎn)的微控制器通常具有在特定系統(tǒng)中不期望的目的,而在低傳輸網(wǎng)絡(luò)中不需要某些協(xié)議。如表2所示。
ESP8266和Arduino Yun Mini的微控制器可以傳輸?shù)蛡鬏敂?shù)據(jù)并且體積小,并且可以通過不干擾其運動而變成能夠附著到運動員身體的WSN設(shè)備。

表2 相關(guān)工作總結(jié)
如圖1所示。

圖1 用于測量WSN設(shè)備的吞吐量和延遲的架構(gòu)
測量WSN吞吐量和延遲的設(shè)備總體概括圖,選擇ESP8266和Arduino Yun Mini微控制器作為檢測設(shè)備的選擇有幾個原因。該微控制器在實時監(jiān)控系統(tǒng)中的實現(xiàn)是專門為任何其他微控制器無法有效完成的任務(wù),如低功耗,小面積和Wi-Fi集成。集成在微控制器中的Wi-Fi主要是無線傳輸或接收來自服務(wù)器的數(shù)據(jù),因此它可以是無線傳感器節(jié)點。一下將對該方法進行概述,并突出在系統(tǒng)和響應(yīng)者級別獲得的結(jié)果,包含如下:
1.用于測試傳輸速率的輸入;
2.微控制器傳輸數(shù)據(jù)的過程;
3.從微控制器接收的輸出數(shù)據(jù)。
由力和全球定位系統(tǒng)(GPS)傳感器組成的兩個傳感器充當(dāng)設(shè)備的輸入,并且測試了所有傳感器。GPS傳感器提供速度輸出,力傳感器提供力輸出,利用該類傳感器是田徑運動如跑步,跳高和跳遠(yuǎn)的常見傳感器。每個傳感器連接到微控制器的一個接口,因為兩個傳感器主要用于不同的位置,即力傳感器位于腿的踝部,GPS傳感器位于身體的腰部,如圖2所示。

圖2 微控制器使用的傳感器輸入
這兩種傳感器僅作為輸入數(shù)據(jù)來測試微控制器的吞吐量和延遲。
使用毫秒函數(shù)(Millis Function)測試每個輸入傳感器以測量吞吐量和延遲。毫秒函數(shù)充當(dāng)數(shù)據(jù)傳輸之間的時間間隔,選定的時間間隔值為1 ms,10 ms,100 ms,500 ms和1 000 ms。每個傳感器每次傳輸產(chǎn)生3位數(shù)據(jù)的輸出,這是因為,速度和力產(chǎn)生3個數(shù)組,其中每個數(shù)組包含1位數(shù)據(jù),如表3所示。

表3 吞吐量和延遲的數(shù)據(jù)設(shè)置值
使用等式(1)測試從輸入數(shù)據(jù)間隔在秒級轉(zhuǎn)換的吞吐量的輸入數(shù)據(jù),如式(1)。
(1)
在這項研究中,使用2個微控制器,即ESP8266和Arduino Yun Mini。這些微控制器處理GPS和力輸入傳感器,用于檢測運動員的速度和力量,由Arduino IDE軟件編程。然后,來自傳感器的數(shù)據(jù)通過兩個微控制器板中的內(nèi)置Wi-Fi無線傳輸?shù)交ヂ?lián)網(wǎng)路由器,微控制器中使用的Wi-Fi充當(dāng)將數(shù)據(jù)傳輸?shù)铰酚善鞯膫鞲衅鞴?jié)點。微控制器使用消息隊列遙測傳輸(MQTT)軟件搜索通過互聯(lián)網(wǎng)協(xié)議(IP)地址訂閱它的任何路由器,Arduino串行監(jiān)視器顯示微控制器與服務(wù)器的連接,如圖3所示。

圖3 Arduino串行監(jiān)視器編碼視圖
充當(dāng)主機PC的服務(wù)器訂閱傳感器節(jié)點并使用MQTT軟件從其接受數(shù)據(jù)。來自傳感器的數(shù)據(jù)通過MQTT串行監(jiān)視器或命令窗口顯示,如圖4所示。

圖4 MQTT串行監(jiān)視器工作界面
接收的數(shù)據(jù)將保存在MQTT日志文件中,從日志文件中測量和分析延遲和吞吐量。
吞吐量實驗
吞吐量在固定時間(總共60秒)和不同的數(shù)據(jù)設(shè)置吞吐量上進行測試,以便以115 200 bps的波特率測試兩個微控制器的性能,測試環(huán)境為田徑場的開放空間。為3位,6位,30位,300位和3 000位數(shù)據(jù)的微控制器選擇了5個測試輸入數(shù)據(jù)設(shè)置。 傳輸測試數(shù)據(jù)并計算成功接收的數(shù)據(jù)的數(shù)量以獲得接收的數(shù)據(jù)量,傳輸?shù)妮敵鰯?shù)據(jù)和錯誤百分比,如如表4所示。

表4 傳輸?shù)妮敵鰯?shù)據(jù)的結(jié)果和錯誤的百分比
使用不同的輸入數(shù)據(jù)傳輸設(shè)置測量吞吐量的結(jié)果,兩個微控制器在誤差方面略有不同。兩者都不能準(zhǔn)確地傳輸3 000 bit的數(shù)據(jù),并且從Arduino Yun Mini獲得最大96.99%的誤差。而在3位和30位時,數(shù)據(jù)傳輸開始穩(wěn)定,并且從ESP8266計算出0.17%的最小誤差。 ESP8266的輸入數(shù)據(jù)為3位和6位的成功百分比均為100%,而Arduino Yun Mini的6位誤差恰好為0.83%。因此,通過減少輸入數(shù)據(jù)將減少吞吐量的誤差。從結(jié)果可以看出,當(dāng)測試兩個微控制器時,從30位到3位的誤差百分比接近0%。因此,與Arduino Yun Mini相比,ESP8266微控制器的吞吐量誤差更小。
延遲實驗
通過測量1個數(shù)據(jù)的輸入和輸出之間的間隔誤差以及變化的輸入時間間隔(ms)來測試延遲,以便以115 200 bps的波特率測試兩個微控制器的性能,測試環(huán)境為田徑場的開放空間為1 ms,10 ms,100 ms,500 ms和1 000 ms的微控制器選擇5個輸入時間間隔。發(fā)送測試數(shù)據(jù)并測量數(shù)據(jù)發(fā)送和接收之間的時間間隔,以便獲得每個數(shù)據(jù)的時間間隔延遲量,輸出時間間隔,如表5所示。

表5 每個數(shù)據(jù)的輸出時間間隔
使用每個數(shù)據(jù)的不同輸入時間間隔測量延遲的結(jié)果,兩個微控制器在誤差方面略有不同。兩者都不能準(zhǔn)確地以1 ms的時間間隔傳輸數(shù)據(jù),并且時間間隔延遲誤差超過Arduino Yun Mini的最大值42.02 ms。但是,ESP8266的500 ms和1 000 ms時間間隔沒有發(fā)生錯誤,并且在100 ms時間間隔內(nèi)計算0.01 ms的最小誤差。同時,Arduino Yun Mini仍然有很大的差距,即大約14.40 ms到9.90 ms的時間間隔延遲誤差在100 ms,500 ms和1 000 ms。因此,只有ESP8266成功傳輸數(shù)據(jù),在500 ms和1 000 ms沒有錯誤,因此到目前為止Arduino Yun Mini在每個輸入設(shè)置時間間隔發(fā)生錯誤。因此,通過增加時間間隔,輸入設(shè)置將減少錯誤或時間間隔的等待時間。從結(jié)果可以看出,當(dāng)測試到ESP8266時,從100 ms開始到1 000 ms時間間隔延遲的誤差接近0 ms。因此,與Arduino Yun Mini相比,ESP8266微控制器的延時誤差更小。
本文分析了2微控制器ESP8266和Arduino Yun Mini在吞吐量和延遲方面的性能。吞吐量結(jié)果顯示每秒需要傳輸?shù)淖罴演斎朐O(shè)置數(shù)據(jù)從30位及以下開始。然而,延遲結(jié)果顯示每個數(shù)據(jù)需要傳輸?shù)淖罴言O(shè)置時間間隔從100 ms及以上開始。這是由于需要傳輸?shù)脑O(shè)置數(shù)據(jù)越低,微控制器的成功吞吐量數(shù)據(jù)的百分比越高。同時,設(shè)置數(shù)據(jù)的時間間隔越長,微控制器的延遲就越小。這是由于每個周期提供了更多的時間和更少的數(shù)據(jù)傳輸。因此,證明了ESP8266在延遲和吞吐量方面提供了更好的性能。