- 1
- 0
- 约5.88千字
- 约 12页
- 2019-07-21 发布于江西
- 举报
1.概要
车载终端与调度中心通讯协议。背景:GPS车载系统是安装在出租车上的一款集导航,调度,娱乐,远程刷卡,电话等为一体的智能移动终端设备。此设备硬件环境为ARM9,ARM11等设备,操作系统可能为WINCE,LINUX,android等。有了GPS车载终端和调度中心这个平台,可以最优化驾驶员和乘客的出车和求车的资源配置。本项目为模拟GPS车载系统调度应用,使得初学者能很快了解到此项目的大概需求,为以后在实际工作中积累一点实战经验。本项目有些应用无法模拟的地方均作了简化。请学员们小心推敲琢磨。另外,文中提到的通信格式(协议)通俗讲是一种封装,就像收发信件需要信封一样。每条协议都是有加header头的,一是考虑安全,二是考虑你这条协议是干什么的,这样socket通信中的网络数据互不干扰,各自处理。客户端和服务器端模型均采用linux+select IO复用去实现。
2.通讯格式和消息类型
2.1通讯格式
start(0x02)
0
长度[注 1]
1
2
FLAG%256
3
FLAG/256
4
消息体(body)
5
…
n
校验码[注 2]
n+1
end(0x03)
n+2
注1:长度= FLAG + 消息内容 + 校验码(字段的长度)低位在前 (小端字节)
注 2:校验码 = 从长度到消息体字节异或(data[0]^data[1]^…data[n])
2.2车载终端发起消息类型
FLAG
消息类型
附
0x03e0
HYPERLINK 参数设置
0x03e2
HYPERLINK 驾驶员登录签到
0x03e3
HYPERLINK 驾驶员登出签退
0x03e4
请求驾驶员相片url信息
0x03e5
url请求下载驾驶员相片
0x03e6
驾驶员注册
2.3调度中心发起的消息类型
FLAG
类型
附
0x03d0
HYPERLINK 1秒的定位信息
0x03d1
HYPERLINK 业务信息处理
要求保存最大5条消息记录,客户端能模拟查询
3.消息体定义
3.1参数读取
车载终端发送(一次读取3个)
参数ID
0
参数ID
1
参数ID[注1]
2
调度中心返回(一次返回3个参数内容)
参数ID
0
参数长度(len1)
1
参数内容
2~len1
参数ID
Len1+1
参数长度(len2)[注2]
len1+2
参数内容
len1+3…
注1:当车载终端读取参数时一次读取3个参数
注2:有3个参数以此类推
可读取的参数列表(选前3个即可)
参数ID:1=允许拨出电话(MAX16字节)
2=调度中心IP(4字节)
3=调度中心端口号(2个字节)
3.2参数设置
车载终端发送:
参数ID
0
参数长度(n)
1
参数数据
2~n
MDT返回,成功后需要改写数据库
结果码1-成功, 0-失败)
0
参数ID:1=允许拨出电话(MAX16字节)
2=调度中心IP(4字节)
3=调度中心端口号(2个字节)
注意:设置IP和port时候请返回失败,目前只能设置允许拨出电话
3.3驾驶员登录签到
车载终端发送
驾驶员账号(10)
0
1
.
.
.
9
驾驶员密码(10)
10
.
.
.
19
调度中心返回
结果码[1-签到成功,0-签到失败]
0
3.4驾驶员签退
车载终端发送
消息内容空
调度中心返回,注意签退后不能下载相片了,故需要记录状态
结果码[1-签退成功,0-签退失败]
0
3.5请求驾驶员相片url信息
车载终端发送
消息内容空
调度中心返回(模拟返回mypic1.jpg和mypic2.jpg的URL)测试选2张相片即可
相片个数
0
第一张相片URL的长度
1
相片URL数据 (n=后面URL字节长度)(/mypic1.jpg)
2
3
.
.
.
.
第二张相片的长度以此类推[注1]
.
相片URL数据 (n=后面URL字节长度)(/mypic2.jpg)
.
注1:相片URL长度+数据
3.6 url请求下载驾驶员相片(注意:3.5返回后3.6自动请求,不需要手动选择,是个自动请求的过程)
车载终端发送
消息内容空
调度中心返回(模拟下载mypic1.jpg和 mypic2.jpg)
消息内容空
做简单模拟:(使用回路地址测试才有效),在本机中使用system(cmd)系统命令,cmd为cp -rf车载终端绝对路径 调度中心路径 ,车载终端收到以后稍微提示下,打开文件以后会看到车载终端绝对路径下有2个图片文件,前提是调度中心有2个图片文件。
3.7驾驶员登录签到
车载终端发送
驾驶员账号(10)
0
1
.
.
.
9
驾驶员密码(10)
10
.
.
.
19
原创力文档

文档评论(0)