EXLIVE人员定位服务平台手机版与服务器通讯协议V0.2 |
该手机版定位软件,主要实现位置上传、员工签到、员工签退、增加标注、发送消息、接收消息、上传照片等功能,此协议规定了手机与服务器进行数据通讯的格式.
一、手机 —> 服务器
上线注册
*EX,2100428040,REG,NAME,PASS,LAT,LNG#
GPS位置上传
*EX,2100428040, MOVE,053651,A,2945.7672,N,12016.8198,E,0.00,000,180510,FBFFFFFF#
GPS位置+基站位置上传
*EX,2100428040, MOVE2,MCC,MNC,LAC,CID,053651,A,2945.7672,N,12016.8198,E,0.00,000,180510,FBFFFFFF#
*EX | 指令头 |
2100428040 | 设备ID |
MOVE2 | 命令字 |
MCC | 移动用户所属国家代码 |
MNC | 移动网号码 |
LAC | 位置区码 |
CID | 小区识别码 |
053651 | 时间(格林尼治) |
A | GPS有效定位,V 为无效定位 |
2945.7672 | 纬度(度分形式表示 DDMM.MMMM) |
N | 北纬(S南纬) |
12016.8198 | 经度(度分形式表示 DDDMM.MMMM) |
E | 东经(W 西经) |
0.00 | 速度 单位 海里/小时 |
000 | 方向 360度 |
180510 | 日月年 |
FBFFFFFF | 状态字 |
# | 结尾符号 |
基站位置上传
*EX,2100428040, LBS,MCC,MNC,LAC,CI,180510,FBFFFFFF#
员工签到
*EX, 2100428040,SIGNIN,053651,A,2945.7672,N,12016.8198,E,0.00,000,180510,FBFFFFFF#
员工签退
*EX, 2100428040,SIGNOUT,053651,A,2945.7672,N,12016.8198,E,0.00,000,180510,FBFFFFFF #
增加标注
*EX,2100508124,MARK,053651,A,2945.7672,N,12016.8198,E,0.00,000,180510,FBFFFFFF,12,西安超越软件#
发送信息
*EX,2100508124,MSG,053651,A,2945.7672,N,12016.8198,E,0.00,000,180510,FBFFFFFF,8,已经收到#
心跳包 为了保持TCP链路每 60秒 发送一次
*EX,2100508124,LINK#
当前位置
*EX,2100428040, LOC,053651,A,2945.7672,N,12016.8198,E,0.00,000,180510,FBFFFFFF#
登录
*EX,,LOGIN,ID,PWD #
下发命令
*EXCMD,XML,[VHCID],[TEXT]#
上传业务数据
1> 001
*EXCMD,DATA,001,[时间],[车牌号码],[工作区域],[工作位置]#
*EXCMD,DATA,001, [时间], [车牌号码], [OK/ERROR], [内容]#
2> 002 设置
*EXCMD,DATA,002,[设备ID],[车辆ID],[内容]#
*EXCMD,DATA,002, [设备ID], [车辆ID], [OK/ERROR], [内容]#
3> 003 任务
*EXCMD,DATA,003,[车牌号码],[发货方],[收货方],[描述信息]#
二、服务器 —> 手机
发送消息
*EX,2100508124, MSG,16,下午五点公司开会#
*EXCMD,XML,12000461,<cmd><id>7010</id><param>测试数据...</param></cmd>
设置回报间隔 180秒 10次 0 次表示持续回传
*EX, 2100508124, CONTINUE,180,10#
*EXCMD,XML,12000461,<cmd><id>7000</id><param>180</param><param>10</param></cmd>
发送LCD字幕
*EXCMD,XML2,设备ID,<cmd><id>7504</id><param>内容</param></cmd>
成功返回:*EXCMD,STR,0,OK#
车辆不存在返回:*EXCMD,STR,0,Error#
获取当前位置
*EX, 2100508124,SINGLE#
*EXCMD,XML,12000461,<cmd><id>7004</id></cmd>
返回用户信息
*EX,2100508124,USERINFO,[length],[TITLE],[USERINFO],[DEPTMENINFO]#
更新桌面工作简报
*EX,2100508124,PROFILE,[length],[content]#
当前位置
*EX,2100508124,LOC,[length],[content]#
登录
*EX,LOGIN,TRUE#
三、其他
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;