logo资料库

跑步机蓝牙通讯协议.pdf

第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
资料共8页,全文预览结束
智能跑步机蓝牙通讯协议V1.03江西中阳电器有限公司2014.8.19修正
跑步机蓝牙通讯协议v1.03中阳电器协议标准蓝牙通讯协议采用帧进行通讯,每一帧采用了起始头、检验码、终止尾的方式进行数据校验,基本数据格式如下:0x02CMDDATAFCS0x03起始码指令数据校验码终止码通讯协议(电子表):115200,N,8,1(无校验,8位数据,1位停止)起始码:固定的1字节数据,为16进制:0x02;指令:所要操作的指令,1个或2个字节;数据:写入或读取的数据,不同命令数据有所不同。若指令不带数据,则数据为空,指令之后直接为校验码。校验码:指令与数据每字节进行异或后的数(1字节);终止码:固定的1字节数据,为16进制:0x03。设备返回数据:0x02CMDDATAFCS0x03起始码指令数据校验码终止码发送数据后设备将按上述格式返回,意味着返回数据包含发送时的指令,在程序中可直接依此指令做出不同处理。下面相关操作样例中只列出指令与数据。起始、校验、终止省略,实际发送或接收将包含这些数据。发送与接收数据采用小端对齐方式。即整型数据(2字节)低字节在前、高字节在后。长整型(4字节)低字节在最前,高字节在最后。数据类型:B:字节W:整型L:长整型(未指定类型数据均为字节型)
跑步机蓝牙通讯协议v1.03中阳电器APP控制流程是连接蓝牙SYS_INFO获取设备型号、速度等参数。APP启动CONTROL_STARTCONTROL_USER程序或赛事CONTROL_SPEEDCONTROL_INCLINE电子表启动DATA_INFO程序或赛事DATA_SPEEDDATA_INCLINESYS_STATUS运动过程中不间断检测设备状态。CONTROL_RUN需要时发送控制速度或坡度指令。是否停止DATA_SPORT运动完成后获取运动数据并保存。否SYS_STATUS不间断检测设备状态以检测启动。
跑步机蓝牙通讯协议v1.03中阳电器获取设备信息指令:SYS_INFO=0x50本协议制定了允许上位机读取设备所支持的信息数据,包括设备的一些限制参数,如最高速度。若设备不支持指定参数,设备只需返回指令即可。INFO_MODEL=0获取设备机型(必需实现)INFO_DATE=1获取设备出厂日期INFO_SPEED=2获取设备速度参数(必需实现)INFO_INCLINE=3获取设备坡度参数INFO_TOTAL=4获取设备累计里程获取设备信息时发送数据(起始、校验、终止已省略,下同):SYS_INFOINFO_MODELyy年月日时分秒INFO_DATEINFO_SPEEDINFO_INCLINEINFO_TOTAL发送INFO_MODEL时将携带终端日期时间,用于同步电子表时间。1.03设备返回信息:SYS_INFOINFO_MODEL厂家(B)机型(W)序列号(L)INFO_DATE年(B)月(B)日(B)INFO_SPEED最高速(B)最低速(B)单位(B)INFO_INCLINE坡度总高(B)水平坡度(B)INFO_TOTAL累计里程(L)单位:0.1KM说明:速度返回为字节型,100代表10.0km/h(下同)。速度单位:0公里1英里。1.03
跑步机蓝牙通讯协议v1.03中阳电器获取设备状态指令:SYS_STATUS=0x51设备根据当前运行状态返回状态:STATUS_NORMAL=0待机状态STATUS_END=1减速已停机状态(还未返回到待机)STATUS_START=2开始启动状态STATUS_RUNNING=3运行中状态STATUS_STOP=4减速停止中状态STATUS_ERROR=5设备故障状态STATUS_SAFETY=6安全锁断开状态STATUS_DISRUN=7禁止启动状态(设备处于不允许运行状态)获取设备状态发送时不含数据(起始、校验、终止已省略,下同):SYS_STATUS设备返回状态:SYS_STATUSSTATUS_NORMALSTATUS_END当前速度(B)当前坡度(B)正计时间(W)正计距离(W)正计热量(W)正计步数(W)当前心率(B)当前段数(B)STATUS_RUNNINGSTATUS_STOPSTATUS_START当前倒计值(B)秒STATUS_ERROR错误码(B)STATUS_SAFETYSTATUS_DISRUN禁止码(B)说明:速度单位0.1km/h,时间单位1s,距离单位1m,热量单位0.1大卡。当前段数指程式或赛事模式时速度或坡度当前所对应段位置,其它模式未用。
跑步机蓝牙通讯协议v1.03中阳电器设备控制指令:SYS_CONTROL=0x53CONTROL_USER=0写入用户信息CONTROL_START=1开始启动设备(启动后写入用户信息)CONTROL_RUN=2写入运行速度、坡度CONTROL_STOP=3停止设备运行CONTROL_SPEED=4速度数据(程式模式)CONTROL_INCLINE=5坡度数据(程式或赛事模式)发送到设备的数据(起始、校验、终止已省略,下同):SYS_CONTROLCONTROL_USER用户ID(L)体重(B)身高(B)CONTROL_START赛事ID(L)模式(B)段数(B)倒计值(W)CONTROL_RUN速度(B)坡度(B)CONTROL_STOPCONTROL_SPEED起始(B)速度数据1字节1段CONTROL_INCLINE起始(B)坡度数据1字节1段SYS_MODE_NORMAL=0正常模式,用于快速启动SYS_MODE_TIMER=1倒计时间模式SYS_MODE_DISTANCE=2倒计距离模式SYS_MODE_CALORIES=3倒计卡路里模式SYS_MODE_STEPS=4倒计步数模式(特定跑步机支持)SYS_MODE_PROGRAMS=5程式模式(会发送速度及坡度数据)SYS_MODE_MATCH=6赛事模式(会发送坡度数据)SYS_MODE_PULSE=7心率控速模式(特定跑步机支持)
跑步机蓝牙通讯协议v1.03中阳电器说明:程式模式为倒计时间,赛事模式倒计距离。赛事模式下不允许用户调整坡度,同时坡度段按倒计距离转换,转换过程中不调整用户速度。程式或赛事模式下,APP将发送速度及坡度数据到设备中,受蓝牙通讯数据量所限,每帧总字节不得超20字节,因此当数据段超过12段时,APP将数据分段写入跑步机中。发送CONTROL_SATRT指令时参数中的段数即为数据总段数。若总段数减起始位置大于12时,发送的数据量必需为12字节数据,否则为剩余数据。因此写入数据时起始位置为0,12,24…递增。备注:系统启动时并不会检测设备是否睡眠中,所以当设备接收到启动指令时电子表程序应检测是否睡眠并唤醒睡眠后启动。发送控制指令到设备后,设备返回的数据:SYS_CONTROLCONTROL_USER用户ID(L)CONTROL_START启动秒数(B)实际模式(B)CONTROL_RUN目标速度(B)目标坡度(B)CONTROL_STOPCONTROL_SPEED总段数(B)起始位置(B)CONTROL_INCLINE总段数(B)起始位置(B)关于用户ID及赛事ID:用户ID用于识别当前上位机操控者,若此ID与APP中用户ID不符时,APP将自动断开当前设备。赛事ID是赛事活动唯一识别码。若用户由电子表启动,则电子表程式应当在启动时将这两项ID清零。
跑步机蓝牙通讯协议v1.03中阳电器设备数据指令:SYS_DATA=0x52DATA_SPORT=0读取当前运动量DATA_INFO=1当前运动信息DATA_SPEED=2速度数据(程式模式)DATA_INCLINE=3坡度数据(程式或赛事模式)获取设备数据时发送数据(起始、校验、终止已省略,下同):SYS_DATADATA_SPORTDATA_INFO用户ID(L)DATA_SPEED起始位置(B)DATA_INCLINE起始位置(B)读取设备数据时返回:SYS_DATADATA_SPORT正计时间(W)正计距离(W)正计热量(W)正计步数(W)0.1秒计时(B)DATA_INFO用户ID(L)赛事ID(L)运行模式(B)程式段数(B)倒计目标值(W)DATA_SPEED起始(B)速度数据1字节1段*DATA_INCLINE起始(B)坡度数据1字节1段*说明:速度与坡度数据与控制指令中类似,因此读取时按0,12,24…的起始始位置进行数据读取。
分享到:
收藏