基于ESP8266的智能无线跑步计时器

2018-07-18 05:30:44曾树洪魏勇林俊健
现代计算机 2018年18期
关键词:计时器计时跑步

曾树洪,魏勇,林俊健

(惠州学院,惠州 516007)

0 引言

在现有技术中,跑步竞赛计时的方法多种多样,田径场竞赛记录系统通常采用有线发令技术,系统复杂,花费高昂,装拆携带不便,难以维护,而且无法普及到小型运动会和学校赛事等;在一些小型比赛中很多仍旧采用人工掐秒计时,费力误差大,成绩记录麻烦。本项目提出一种较新的简易跑步计时方式,结合几种较简单而新颖的技术,希望为在小型跑步竞赛和学校活动中也能如大型比赛那样应用规范的方法计时。本项目系统框架基于单片机开发板,通过在跑道起点装置发声装置(蜂鸣启动器),终点装置双管红外,并通过无线Wi-Fi技术实现单片机模块与手机App等移动终端设备通讯,在计时前将每条跑道运动员信息录入移动端App,在起点发声装置可自动发出起跑指令,运动员起跑,同时移动端App启动计时,当运动员到达终点时又会阻断红外对管从而产生信号通过Wi-Fi反馈至移动端App终止计时。在移动终端设备上通过设计专门的系统软件(App)对接受到的信号进行计算自动统计出运动员成绩及排名、比赛情况,从而在移动设备上就可以操纵计时,能够便捷地同时对多名运动员进行计时,无需人工启动计时,不会有人为误差,实现对跑步项目自动计时的目的。

1 系统整体设计

智能无线跑步计时器系统由三部分组成,分别为红外对管组子系统、单片机子系统、移动操作端子系统。本系统采用基于物联网技术的三层架构进行设计,分为感知层、通信层和应用层,其中红外对管组子系统属于感知层,单片机子系统属于通信层,移动操作端属于应用层。如图1所示。

图1 系统整体结构

2 技术应用原理

2.1 ESP8266 Wi-Fi

Wi-Fi无线网络在无线局域网(WLAN)的范畴是指“无线相容性认证”,是一种无线联网技术,Wi-Fi的设置至少需要一个存取点(Access Point,AP)和一个或一个以上的客户端使用者(client)。无线AP每100ms将 SSID(Service Set Identifier)经由 beacons(信号台)封包广播一次,beacons封包的传输速率是1 Mbit/s,并且长度相当的短,所以这个广播动作对网络效能的影响不大。因为Wi-Fi规定的最低传输速率是1 Mbit/s,所以确保所有的Wi-Fi client端都能收到这个SSID广播封包,client可以藉此决定是否要和这一个SSID的AP连线。使用者可以设定要连线到哪一个SSID。Wi-Fi系统开放对客户端的连接并支持漫游,这就是Wi-Fi的好处。无线跑步计时器采用的是ESP8266 Wi-Fi,在室外场合通信范围可达到400m左右,有效距离长,速度快,可靠性高。服务器原理ESP8266是一个完整且自成体系的Wi-Fi网络解决方案,能够搭载软件应用,或通过另一个应用处理器卸载所有Wi-Fi网络功能。ESP8266强大的片上处理和存储能力,使其可通过GPIO口集成传感器及其他应用的特定设备,实现了最低前期的开发和运行中最少地占用系统资源。ESP8266高度片内集成,包括天线开关balun、电源管理转换器,因此仅需极少的外部电路,且包括前端模块在内的整个解决方案在设计时将所占PCB空间降到最低。

2.2 红外对管驱动

红外线发射管(IR LED)也称红外线发射二极管,属于二极管类,它是可以将电能直接转换成近红外光(不可见光)并能辐射出去的发光器件,基于红外对射式的原理,红外发射管和红外接收管相对,由发射管发射红外线信号,接收管接收红外信号,当有物体从中间经过时,红外接收管接收不到红外信号,就会产生一个低脉冲信号,红外线发射管的发光功率大,性能稳定,结构简单,抗干扰性好,常被应用于通讯及感测器领域,无线跑步计时器是在红外探测的基础上结合无线Wi-Fi技术,进行时间的计时控制。本产品采用S5PV210单片机进行开发,而S5PV210采用了ARM Cortex-A8内核,ARM V7指令集,主频可达1GHz,64/32位内部总线结构,32/32KB的数据/指令一级缓存,512KB的二级缓存,可以实现2000DMIPS(每秒运算2亿条指令集)的高性能运算能力。驱动及测试程序使用PC端Linux系统中的超级终端Minicom建立与单片机内嵌入式Linux系统间的连接后,在PC端Linux系统内编写,并将编写好的代码传输至单片机内,利用多线程驱动多个红外对管模块。在开机的同时启动红外对管模块的驱动,将红外线对管模块数据实时传输至服务器端。

3 系统详细设计

3.1 感知层

红外对管检测模块:红外对管检测模块包括一个红外对管组,红外对管组由多个红外对管装置组成,红外对管装置的数目可以按照需要使用的田径场跑道进行安装,不能超过十个,通过轻便的支架安装在跑道终点的位置,每个红外对管装置皆与单片机开发板有连接。当运动员冲过终点时,红外对管检测到某一条跑道有物体,将信号反馈至单片机。

3.2 通信层

(1)服务器信息发送模块:智能跑步计时器设计时采用的服务器主要基于Linux操作系统,由Linux C编写,通过调用Socket API来实现网络通信,主要采用TCP/IP通信协议,运输层采用的是TCP协议已提供可靠的、面向连接的服务。服务器主首先初始化一个Socket套接字,用于监听客户的连接,当服务器监听到客户连接时,pthread_create一个线程。负责发送延迟检测以及终点信号传出,通过select并发手段来获取Android移动端的请求,分析请求后,通过write方法将响应发送到移动Android端。同时,为了防止因客户端崩溃导致信号无法确定,本服务器建立了一个共享内存区,并且在共享内存区上映射了共享数据、互斥锁以及Posix信号量,以及同步进程间的共享数据,中途重连时发送信号确定包。当单片机检测到哪条跑道有人冲过终点时,服务器将信息发送至移动操作端,告知运动员已冲过终点。服务器原理图如图2所示。

(2)移动操作端信息接收模块:移动操作端使用Java语言编写的SocketAPI,用于接收来自单片机发来的数据,主要采用TCP/IP通信协议,运输层采用的是TCP协议。用户使用智能无线跑步计时器系统时,需要向已经处于运行状态的服务器发送连接请求。

3.3 应用层

(1)比赛信息输入模块:进行训练/比赛时,需要在比赛项目单选框内选择50米、100米、200米、400米,确定比赛项目后,再按道次输入每一位运动员的信息,包括编号、姓名、道次、备注四个信息,待输入完成后准备发令,系统流程如图3所示。

图2 服务器原理

图3 系统流程分析

(2)发令模块:发令模块需要发令员点击移动操作端上的“发令按钮”,扬声器先发“各就位”口令,上一个口令完毕后1.6-2.2秒后(模拟比赛中发令员口令间隔不确定性)发出“预备”口令,上一个口令完毕后1.0-1.6秒后(模拟比赛中发令员口令间隔不确定性)发出“砰”(接近正规比赛枪声)起跑口令。

(3)计时模块:当发令功能执行之后,移动操作端会同时开启计时器,计算从发令到当前时间点的时间。发令后,移动操作端将开始提取来自服务器的数据,当提取到哪一条跑道有运动员冲过终点时,计时一次,标上是哪条跑道,当所有运动员冲过重点或者手动操作,计时功能将会停止。

(4)成绩统计、显示模块:计时功能完成后,将进入成绩统计、显示模块。移动操作端将在后台将本项目比赛(可多组)按成绩进行排名,最后显示在手机屏幕上。

(5)数据保存、查看模块:比赛结束后,移动操作端自动将本次比赛数据保存在App的SQLite本地数据库。保存后可以通过页面查询历史比赛记录。

4 运行测试

(1)在Android端注册登录后,连接终点检测系统然后选择项目信息和道次,输入比赛名称点击确认进入另一页面。再依次输入各条跑道的运动员信息,如图4所示。

图4 Android端计时测试

(2)在点击开始按钮后,扬声器发出起跑口令,同时Android端计时器启动计时,当有运动员到达终点时,依次对其进行计时,计时结果按运动员到达先后的顺序排序,测试邀请了专业体育生,数据显示正常,结果如图5所示。

图5 Android端计时测试

5 结语

智能无线跑步计时器是一个将无线Wi-Fi、红外对管以及移动端App技术结合起来,形成一个智能环保的计时系统。将跑步App与跑步计时系统相结合,实现智能自动计时,使其在设备进行高精准的计时的同时,利用普遍化的手机进行数据管理及存储。以及手机App同时拥有的即时分享功能,丰富跑步计时。使得其在能够作为一款训练及比赛产品的同时,更能够融入生活,成为生活的一部分,与体育智能硬件领域崛起的趋势不谋而合,符合了健康体育的时代。

猜你喜欢
计时器计时跑步
畅游计时天地
车迷(2022年1期)2022-03-29 00:50:24
松鼠的计时器
做到七点跑步不伤膝
今日农业(2021年15期)2021-10-14 08:20:34
跑步穿什么
腕表计时2.0
中国化妆品(2020年9期)2020-10-09 08:56:56
12时计时法与24时计时法的互化
超高精度计时器——原子钟
24时计时法
抗缪勒氏管激素:卵巢功能的计时器!
妈妈宝宝(2017年2期)2017-02-21 01:21:22
带表跑步