邓超
(西安思源学院 体育部, 西安 710038)
体育运动被认为是周期性活动,即循环某一动作,以跳高运动为例,被视为是复杂的循环—非循环运动,其目的是在穿过杆时使跳线的质心达到最大高度,为了获得高性能和低伤害,注意跳高运动员的起飞技术是非常重要的。为了获得良好的起飞技术,接近阶段的速度和起飞时的力是跳高过程中需要捕捉的重要参数。因此,利用传感器来捕获跳跃期间脚踝的跑步速度和力量的数据是研究跳高运动员的运动水平[1-3]。
在物联网(IoT)时代使用无线连接是体育运动研究的一种普遍趋势,现在大多数运动员都喜欢可穿戴设备,利用该类设备可捕捉速度、能量、心跳和健康生活方式的关键数据,并确保运动员在参加比赛时身体状态是否符合比赛条件。然而,目前缺乏实时可穿戴设备能够捕获高跳线的速度和力量,为了开发可穿戴设备,具有无线功能的传感器和微控制器的需求对于确保运动员自由使用该设备而不需要在其身体上部署任何线缆是非常重要的。
无线传感器网络(WSN)作为一种用于观察数据环境并将数据无线发送到系统接收器的新型推广网络,要构建WSN,需要传感器和接口设备(如微控制器)连接在一起。从头到尾的高跳线总平均运行时间约为6秒。因此,需要能够以每秒10个数据无线传输数据的WSN,即每个数据100ms。这是因为,跳高运动并不需要像其他运动那样捕捉高速数据,例如足球运动在滑行过程中需捕获倾斜的高度。为了解决数据传输问题,WSN设备在延迟和吞吐量方面的错误需要最小化,并且设计充分考虑设计成本。在这项研究中,微控制器ESP8266和Arduino Yun Mini被用于连接到作为WSN的力和全球定位系统(GPS)传感器,这是因为两个微控制器都包含内置Wi-Fi并且尺寸小。此外,相关研究中提出的这种WSN设备只需要在起飞前捕获速度并在起飞时捕获力。为了分析这些问题,本文讨论了无线传感器网络在微控制器吞吐量和延迟方面的传输网络问题,对WSN的吞吐量和延迟的分析涉及在不同的设置模式下观察这些参数。主要目标是在最佳性能方面选择1个微控制器,包括可靠性的延迟和吞吐量,以确定要在跳高可穿戴设备中使用的系统的网络质量[4-6]。
以下各节分别介绍了WSN的吞吐量和延迟问题以及WSN设备的成本问题。
吞吐量是系统在给定时间内可以处理的信息总量的度量。系统输出的相关度量包括可以完成某些特定工作负载的速度和响应时间,单个交互式用户请求和响应接收之间的时间量;延迟是从输入系统到期望结果的延迟。在数据传输中,介质本身的例子如光纤,无线或任何传输介质都会引入一些延迟,这种延迟因介质而异。每次数据包传输的大小会产生延迟,同时较大的数据包接收和返回的时间比较小的数据包要长。为了对这些实验的重要性进行分析,前面研究人员对问题的总结如表1所示。
表1 相关工作总结
简而言之,可以得出结论,吞吐量和延迟是网络传输和进一步研究需求的重要问题。特别是在硬件实现方面,微控制器和传感器等嵌入式电子元件的实现方面[7-8]。
为了克服这些问题,需要测量WSN设备的吞吐量和延迟,以检查微控制器成功传输速率的性能。在这些实验中,传感器将用作微控制器的输入作性能比较,无线传输的输出将根据吞吐量和延迟进行测量。
无线传感器网络设备的成本是当今市场中相关因素之一。大多数传感器都很便宜,但是连接或控制传感器的WSN设备很昂贵,一些WSN设备具有传感器、控制器和无线接口以将数据发送到服务器,这使得WSN设备更大且成本更高。在对WSN进程和协议研究时,可以发现一种方法来实现相同的功能而无需使用昂贵的WSN设备。
目前,大多数微控制器都实现了内置Wi-Fi,与外部无线连接相比便宜得多。由大多数产品批量生产的微控制器通常具有在特定系统中不期望的目的,而在低传输网络中不需要某些协议。如表2所示。
ESP8266和Arduino Yun Mini的微控制器可以传输低传输数据并且体积小,并且可以通过不干扰其运动而变成能够附着到运动员身体的WSN设备。
表2 相关工作总结
如图1所示。
图1 用于测量WSN设备的吞吐量和延迟的架构
测量WSN吞吐量和延迟的设备总体概括图,选择ESP8266和Arduino Yun Mini微控制器作为检测设备的选择有几个原因。该微控制器在实时监控系统中的实现是专门为任何其他微控制器无法有效完成的任务,如低功耗,小面积和Wi-Fi集成。集成在微控制器中的Wi-Fi主要是无线传输或接收来自服务器的数据,因此它可以是无线传感器节点。一下将对该方法进行概述,并突出在系统和响应者级别获得的结果,包含如下:
1.用于测试传输速率的输入;
2.微控制器传输数据的过程;
3.从微控制器接收的输出数据。
由力和全球定位系统(GPS)传感器组成的两个传感器充当设备的输入,并且测试了所有传感器。GPS传感器提供速度输出,力传感器提供力输出,利用该类传感器是田径运动如跑步,跳高和跳远的常见传感器。每个传感器连接到微控制器的一个接口,因为两个传感器主要用于不同的位置,即力传感器位于腿的踝部,GPS传感器位于身体的腰部,如图2所示。
图2 微控制器使用的传感器输入
这两种传感器仅作为输入数据来测试微控制器的吞吐量和延迟。
使用毫秒函数(Millis Function)测试每个输入传感器以测量吞吐量和延迟。毫秒函数充当数据传输之间的时间间隔,选定的时间间隔值为1 ms,10 ms,100 ms,500 ms和1 000 ms。每个传感器每次传输产生3位数据的输出,这是因为,速度和力产生3个数组,其中每个数组包含1位数据,如表3所示。
表3 吞吐量和延迟的数据设置值
使用等式(1)测试从输入数据间隔在秒级转换的吞吐量的输入数据,如式(1)。
(1)
在这项研究中,使用2个微控制器,即ESP8266和Arduino Yun Mini。这些微控制器处理GPS和力输入传感器,用于检测运动员的速度和力量,由Arduino IDE软件编程。然后,来自传感器的数据通过两个微控制器板中的内置Wi-Fi无线传输到互联网路由器,微控制器中使用的Wi-Fi充当将数据传输到路由器的传感器节点。微控制器使用消息队列遥测传输(MQTT)软件搜索通过互联网协议(IP)地址订阅它的任何路由器,Arduino串行监视器显示微控制器与服务器的连接,如图3所示。
图3 Arduino串行监视器编码视图
充当主机PC的服务器订阅传感器节点并使用MQTT软件从其接受数据。来自传感器的数据通过MQTT串行监视器或命令窗口显示,如图4所示。
图4 MQTT串行监视器工作界面
接收的数据将保存在MQTT日志文件中,从日志文件中测量和分析延迟和吞吐量。
吞吐量实验
吞吐量在固定时间(总共60秒)和不同的数据设置吞吐量上进行测试,以便以115 200 bps的波特率测试两个微控制器的性能,测试环境为田径场的开放空间。为3位,6位,30位,300位和3 000位数据的微控制器选择了5个测试输入数据设置。 传输测试数据并计算成功接收的数据的数量以获得接收的数据量,传输的输出数据和错误百分比,如如表4所示。
表4 传输的输出数据的结果和错误的百分比
使用不同的输入数据传输设置测量吞吐量的结果,两个微控制器在误差方面略有不同。两者都不能准确地传输3 000 bit的数据,并且从Arduino Yun Mini获得最大96.99%的误差。而在3位和30位时,数据传输开始稳定,并且从ESP8266计算出0.17%的最小误差。 ESP8266的输入数据为3位和6位的成功百分比均为100%,而Arduino Yun Mini的6位误差恰好为0.83%。因此,通过减少输入数据将减少吞吐量的误差。从结果可以看出,当测试两个微控制器时,从30位到3位的误差百分比接近0%。因此,与Arduino Yun Mini相比,ESP8266微控制器的吞吐量误差更小。
延迟实验
通过测量1个数据的输入和输出之间的间隔误差以及变化的输入时间间隔(ms)来测试延迟,以便以115 200 bps的波特率测试两个微控制器的性能,测试环境为田径场的开放空间为1 ms,10 ms,100 ms,500 ms和1 000 ms的微控制器选择5个输入时间间隔。发送测试数据并测量数据发送和接收之间的时间间隔,以便获得每个数据的时间间隔延迟量,输出时间间隔,如表5所示。
表5 每个数据的输出时间间隔
使用每个数据的不同输入时间间隔测量延迟的结果,两个微控制器在误差方面略有不同。两者都不能准确地以1 ms的时间间隔传输数据,并且时间间隔延迟误差超过Arduino Yun Mini的最大值42.02 ms。但是,ESP8266的500 ms和1 000 ms时间间隔没有发生错误,并且在100 ms时间间隔内计算0.01 ms的最小误差。同时,Arduino Yun Mini仍然有很大的差距,即大约14.40 ms到9.90 ms的时间间隔延迟误差在100 ms,500 ms和1 000 ms。因此,只有ESP8266成功传输数据,在500 ms和1 000 ms没有错误,因此到目前为止Arduino Yun Mini在每个输入设置时间间隔发生错误。因此,通过增加时间间隔,输入设置将减少错误或时间间隔的等待时间。从结果可以看出,当测试到ESP8266时,从100 ms开始到1 000 ms时间间隔延迟的误差接近0 ms。因此,与Arduino Yun Mini相比,ESP8266微控制器的延时误差更小。
本文分析了2微控制器ESP8266和Arduino Yun Mini在吞吐量和延迟方面的性能。吞吐量结果显示每秒需要传输的最佳输入设置数据从30位及以下开始。然而,延迟结果显示每个数据需要传输的最佳设置时间间隔从100 ms及以上开始。这是由于需要传输的设置数据越低,微控制器的成功吞吐量数据的百分比越高。同时,设置数据的时间间隔越长,微控制器的延迟就越小。这是由于每个周期提供了更多的时间和更少的数据传输。因此,证明了ESP8266在延迟和吞吐量方面提供了更好的性能。