EXLIVE平台终端扩展协议

一、终端上报平台的数据包类型

协议包一:终端上报LBS数据包给平台,包含三个LBS数据

序号 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
内容 $ ^ 0x1C 0x01 0x01 0x00 0x1030731001                 0xfffffbff 0xff  
含义 记录头 长度 产品编号 协议号 应答类型 车载机序列号 MCC MNC LAC CI LAC CI LAC CI vehicle_status Usr_alarm_flag


长度——从“协议号”至“Usr_alarm_flag”的字节数。(下面的相同)

示例数据包(十六进制):

注:user_alarm_flag表示 保留,暂未使用

 

协议包二:终端上报GPS数据包给平台

序号 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
内容 $ ^ 0x1E 0x01 0x02 0x00 0x1030731001 0x050316 0x220902 0x22128745 0x113466574C 0x014028 0Xfffffbff 0xff  
含义 记录头 长度 产品编号 协议号 应答类型 车载机序列号 时间 日期 纬度值 经度值、N、E、AV 速度、方向

vehicle_status

Usr_alarm_flag 记录号

示例数据包(十六进制):

注:记录号:二进制表示的记录序号,每发送一条记录自动加1

 

协议包三:终端同时上报一个GPS数据包和一个LBS数据包给平台

序号 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
内容 $ ^ 0x26 0x01 0x03 0x00 0x1030731001 0x050316 0x220902 0x22128745 0x113466574C 0x014028         0xfffffbff 0xff  
含义 记录头 长度 产品编号 协议号 应答类型 车载机序列号 时间 日期 纬度值 经度值、N、E、AV 速度、方向

MCC

MNC LAC CI vehicle_status Usr_alarm_flag


>> 时间:为格林威治时间,格式为 HHMMSSDDMMYY

>> 纬度值:0x22128745,22度12.8745

>> 经度值:0x113466574C,113度46.6574

>> 最后字节(序号0x15)含义:bit7654,经度最后一位,bit3,1:东经,0:西经,bit2,1:北纬,0:南纬,bit1,1:A,0:V,bit0,未定义

>> 速度、方向:0x014028:速度014节,方向028

 

协议包四: 终端向服务器发送心跳数据 0x03

序号 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
内容 $ ^ 0x0D 0x01 0x04 0x00 0x1030731001 0x050316    
含义 记录头 长度 产品编号 协议号 应答类型 车载机序列号 时间 0x220902 记录号

 

 

二、平台下发的数据包类型

协议包五:平台响应应答 0x05

序号 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
内容 $ ^ 0x0A 0x01 0x05 0x00 0x050316 0x220902 0x01 0x02  
含义 记录头 长度 产品编号 协议号 应答类型 时间 日期 应答产品编号 应答协议号 记录号

示例数据包(十六进制):

 

协议包六:平台响应终端中文地址查询请求

序号 0 1 2 3 4 5 6 7 8 9 10 11 12 13
内容 $ ^ 0x09+n 0x01 0x06 0x00 0x050316 0x220902    
含义 记录头 长度 产品编号 协议号 应答类型 时间 日期 转发短信内容 记录号

 

三、数据解释

应答类型:

  0x01    需要应答, 按照协议包五应答;

  0x02    需要返回中文地址

 

vehicle_status:

位序 保留 车载机部件状态 车辆部件状态 报警状态
第一字节 第二字节 第三字节 第四字节
0 0 盗警 0 GPS接收机故障 0 车门开 0 盗警
1 0 密码错误报警 0 保留 0 车辆设防 0 劫警
2 0 劫警(紧急按钮) 0 保留 0 ACC关 0 超速报警
3 1 保留 0 主机掉电由后备电池供电 0 电池电压过低 0 非法点火报警
4 0 电瓶拆除报警 1 保留 0 电池坏 1 保留
5 1 保留 1 保留 0 发动机 1 保留
6 1 保留 1 保留 1 保留 1 保留
7 1 不用 1 不用 1 不用 1 不用

Usr_alarm_flag: 

 

四、关于上线

平台收到终端上报的任何一个数据包,无论是字符型的还是二进制型,只要对数据包解析出来的车载机序列号部分是有效的(无论时间等其余数据是否无效),都判定为终端上线。

 

五、其他

1.经纬度的转换方式

经纬度是用使用度分形式表示:经度 DDDMM.MMMM ;纬度 DDMM.MMMM

例如:纬度16进制为0x22128745 转换成字符串为22128745,根据下列公式计算得出的纬度值为 lat=22.214575

float degree, minints;

degree = atof(strMsg.Mid(idx,2)); idx += 2;

minints = atof(strMsg.Mid(idx,6))/10000.0; idx += 6;

float Lat = degree + minints/60.0;



例如:纬度16进制为0x1030731001 转换成字符串为1030731001,根据下列公式计算得出的经度值为 lon=103.1218335

degree = atof(strMsg.Mid(idx,3)); idx += 3;

minints = atof(strMsg.Mid(idx,6))/10000.0; idx += 6;

float Lon = degree + minints/60.0;