远程控制通讯协议V1.02深圳市航天无线通信技术有限公司修订记录目录1. 范围 52. 术语和定义、缩略语 52.1. 术语和定义 52.2. 缩略语 53. 协议基础 53.1. 通信方式 53.2. 数据类型 5 3.3. 传输规则 63.4. 消息的组成 64. 消息列表 85. 数据交互 95.1登录 95.2注销 95.3心跳 95.4工况数据 95.5 汽车故障 115.6终端通用应答 115.7参数查询应答 115.8 工况数据查询应答 12 5.9 车辆故障查询应答 14 5.10 参数设置 145.11 参数查询 165.12 工况数据查询 165.13车辆查询故障 16 5.14平台通用应答 165.15登录应答 166 . 控制交互 17 6.1定单执行结果上报 17 6.2 远程控制 176.3 定单预定 176.4定单取消 186.5远程控制应答 186.6定单预定应答 186.7定单取消应答 197. 蓝牙交互 197.1定单执行请求 197.2 执行结果应答 198. 升级 208.1升级请求 208.2升级请求应答 209 短信控制命令 219.1 工况数据查询 219.2 终端参数查询 219.3 终端参数设置 219.4远程控制 229.5 远程唤醒 229.6远程睡眠 22终端通讯协议及数据格式1. 范围本规范适用于车载终端和平台之间的通信。
2. 术语和定义、缩略语2.1. 术语和定义下列术语和定义适用于本文件。
3.1.1数据通信链路异常abnormaldatacommunicationlink 无线通信链路断开,或暂时挂起(如通话过程中)。
3.1.3注销unregister2.2. 缩略语下列缩略语适用于本文件。
APN——接入点名称(accesspoint name)GZIP——一个GNU自由软件的文件压缩程序(GNUzip)SMS——短消息服务(shortmessageservice)TCP——传输控制协议(transmissioncontrolprotocol)TTS——文本到语音(textto speech)VSS——车辆速度传感器(vehiclespeedsensor)3. 协议基础3.1. 通信方式通信协议采用TCP或UDP,平台作为服务器端,终端作为客户端。
当数据通信链路异常时,终端可以采用SMS消息方式进行通信。
3.2. 数据类型协议消息中使用的数据类型见表1:表1 数据类型3.3. 传输规则协议采用小端模式(little-endian)的网络字节序来传递字和双字。
约定如下:——字节(BYTE)的传输约定:按照字节流的方式传输;——字(WORD)的传输约定:先传递低8位,再传递高8位;——双字(DWORD)的传输约定:先传递低8位,然后传递高8位,再传递高16位,最后传递高24位。
3.4. 消息的组成3.4.1 消息结构每条消息由标识位、消息头、消息体和校验码组成,消息结构图如图1所示:图 1 消息结构图3.4.2 标识位采用 0x7e表示,若校验码、消息头以及消息体中出现 0x7e,则要进行转义处理,转义规则定义如下:0x7e<————>0x7d 后紧跟一个 0x02;0x7d<————>0x7d 后紧跟一个 0x01。
转义处理过程如下:发送消息时:消息体加密(如果需要)——>消息封装——>计算并填充校验码——>转义;接收消息时:转义还原——>验证校验码——>消息体解密(如果需要)——>解析消息。
示例:发送一包内容为 0x30 0x7e 0x08 0x7d 0x55 的数据包,则经过封装如下:0x7e 0x30 7d 0x02 0x08 0x7d0x01 0x55 0x7e。
3.4.3 消息头消息头内容详见表 2:表2 消息头内容消息体属性格式结构图如图 2 所示:图 2 消息体属性格式结构加密方式:Bit12-bit10: =000b:表示不加密, =001b: IDEA加密,其他:待定3.4.4 校验码校验码指从消息头开始,同后一字节异或,直到校验码前一个字节,占用一个字节。
附加字段:一般情况下,附加字段固定为0,但蓝牙定单执行请求(0xD001)中,附加字段为定单ID,4. 消息列表表3:指令列表说明:1、指令类型分为:数据类、控制类、蓝牙类、及升级类,共4类;2、数据的方向定义为:上行是指终端(车机)发出,接收端为平台或蓝牙;3、无论是哪端发送数据,接收端都要作应答,如果没有可应答的数据,则用通用应答,终端的通用应答的消息ID为0x0101,平台的通用应答的消息ID为0x8101,蓝牙与终端交互没有通用应答;4、蓝牙与终端交互的数据格式和平台与终端交互的数据格式是一样的,加密方式也是一样的,仅仅是消息ID不一样而已,蓝牙与终端通讯无需登陆、注销、心跳包;5、以下消息的说明仅列出了消息体字段的说明,消息中的其他字段都是一样的,不再说明。
5. 数据交互5.1登录消息ID:0x0001。
终端登录消息体为空。
当终端与平台断开连接,终端准备发送数据之前,则需要发送登录包与平台建立连接。
5.2注销消息ID:0x0002。
终端注销消息体为空。
终端通过注销包与平台断开连接。
5.3心跳消息ID:0x0003。
终端心跳消息体为空。
当终端与平台持续2分钟没有数据交互,则终端应主动发送心跳数据包,以便维持与平台的连接,同时平台应采用通用应答。
5.4工况数据消息ID:0x0004。
数据格式见表4。
在行程中(点火状态下)或熄火定时上传期间,终端会主动上传工况数据,上传间隔由平台设置,默认为1分钟。
表4消息体数据格式5.5 汽车故障消息ID:0x0005。
数据格式见表5, 在行驶中如果有故障会终端主动上报。
表5消息体数据格式5.6终端通用应答消息ID:0x0101。
终端通用应答消息体数格式见表6。
表6 消息体数据格式5.7参数查询应答消息ID:0x0102。
数据格式见表7。
当平台发送了参数查询命令(0x8002)时,终端用参数查询应答(0x0102)响应。
表7消息体数据格式5.8 工况数据查询应答消息ID:0x0103。
当平台发送了工况数据查询命令(0x8003)时,终端用参数查询应答(0x0103)响应, 应答的消息体字段与工况数据上传(0x0004)除了应答的流水号外,其他相同。
表8消息体数据格式5.9 车辆故障查询应答消息ID:0x0104。
当平台发送了车辆故障查询命令(0x8004)时,终端用车辆故障查询应答(0x0104)响应, 应答的消息体字段与车辆故障上传(0x0005)除了应答的流水号外,其他相同。
表9消息体数据格式5.10 参数设置消息ID:0x8001。
数据格式见表10。
终端用通用应答回应。
表10 消息体数据格式表11 终端参数项数据格式表12 终端参数设置各参数项定义及说明5.11 参数查询消息ID:0x8002。
数据格式见表13。
终端用参数查询应答(0x0102)。
表13 消息体数据格式5.12 工况数据查询消息ID:0x8003。
消息体为空。
当平台发送查询工况数据命令(0x8003)时,终端用消息ID为0x0103的消息回复。
5.13车辆查询故障消息ID:0x8004。
消息体为空。
当平台发送查询故障数据命令(0x8004)时,终端用消息ID为0x0104的消息回复。
5.14平台通用应答消息ID:0x8101。
数据格式见表14。
平台通用应答消息体。
表14平台通用应答消息体数据格式5.15登录应答消息ID:0x8102。
数据格式见表15。
当终端发送了登录请求(0x0001)时,平台判断终端的合法性,如果合法,则用登录响应(0x8102)回复。
表15消息体数据格式6 . 控制交互6.1定单执行结果上报消息ID:0x1001。
数据格式见表16。
当终端接收到手机通过蓝牙或其他近场通讯设备发送的定单请求命令时,判断该次命令的有效性并执行相应的动作,并上报平台执行结果,平台采用通用应答。
表16消息体数据格式6.2 远程控制消息ID:0x9001。
数据格式见表17。
终端用远程控制应答(0x1101)。
表17 消息体数据格式6.3 定单预定消息ID:0x9002。
数据格式见表18。
当平台接收到客户的车辆预定时,平台向终端下发预定命令,同时终端返回预定结果(0x1102)。
表18消息体数据格式6.4定单取消消息ID:0x9003。
数据格式见表19。
当平台获知该定单已执行完毕或其他原因需要取消该定单时,平台向终端下发取消命令,同时终端返回结果(0x1103)。
表19消息体数据格式6.5远程控制应答消息ID:0x1101。
数据格式见表20。
当平台发送了远程控制命令(0x9001)时,终端用远程控制应答(0x1101)响应。
表20消息体数据格式6.6定单预定应答消息ID:0x1102。
数据格式见表21。
当平台发送了定单预定命令(0x9002)时,终端用定单预定应答(0x1102)响应。
表21消息体数据格式6.7定单取消应答消息ID:0x1103。
数据格式见表22。
当平台发送了定单取消命令(0x9003)时,终端用定单取消应答(0x1103)响应。
表22消息体数据格式7. 蓝牙交互7.1定单执行请求消息ID:0xD001。
数据格式见表23。
当客户通过手机的蓝牙向终端发送定单执行请求命令(0xD001)时,终端把执行结果返回给手机端(0x5101),同时把结果返回给平台(0x1001),表23消息体数据格式7.2 执行结果应答消息ID:0x5101。
数据格式见表24。
当客户通过手机发送了定单执行请求(0xD001)时,终端判断其合法性,如果合法,则执行相应的动作,并把结果返回给手机。
表24消息体数据格式8. 升级终端的升级采用FTP服务器下载固件的方式来实现,终端与平台建立连接后随时可以上传升级请求命令(请求ID为0x7001),由平台来决定是否需要升级,同时下发请求应答到终端(应答ID为0xF101),终端收到平台的允许升级的回应后,可以决定在空闲或其他时间升级。
8.1升级请求消息ID:0x7001。
数据格式见表25。
表25 消息体数据格式8.2升级请求应答消息ID:0xF101。
数据格式见表26。
表26 消息体数据格式9 短信控制命令终端与用户(手机)直接交互信息可以通过短信(SMS)进行,SMS格式定义如下:SMS内的字符约定为英文字母、数据和五种字符(= : , . #)。
如有其他字符,忽略,1)起始字符为#=2)终止字符为:#3)#=XXX,YYY,ZZZ:# 起始和终止字符之间通过,分割多个字段,第一个字段为命令字段,用于识别不同的指令,后续字段为参数或返回值字段。