编辑: cyhzg | 2017-08-28 |
1.7 目录
一、前言
3
二、名词解释
3
三、通信规约
4
四、通信逻辑
4
五、通信数据包格式定义
5 5.1. 通信数据基本格式定义
5 5.2. 数据域内容格式定义
6 5.2.1. 注册报文
6 5.2.2. 实时数据上报报文
7 5.2.3. 心跳报文
9
一、前言 北斗农机定位终端是专门为农机定位跟踪研发的高性能机载终端,利用卫星定位技术和无线通信技术实现农机远程定位. 北斗(BDS/GPS)农机定位终端,根据接收到的北斗(BDS/GPS)卫星信号计算出定位坐标,通过通讯网络发送定位信息、状态信息至远程数据接收服务器.服务器端依据接收的数据计算出农机运行的轨迹、里程和相应的运行面积. 本协议 "北斗(BDS/GPS)农机定位终端数据传输协议"主要用于定位终端与服务器之间的通讯对接工作(数据传输). 协议的主要使用对象为嵌入式研发工程师和服务器端软件研发工程师. 网络拓扑图如下:
二、名词解释 1.Token:设备与通信服务器建立通讯的令牌;
2.Token服务器:用于终端设备获取Token的服务器;
3.通信服务器:用于接收定位和状态等信息的服务器.
三、通信规约 设备采用域名+端口号的方式访问服务器;
终端与服务器之间采用TCP协议通信;
通讯指令由特定格式的字节流组成;
协议中涉及到多字节数据的字段,字节序为网络字节序(Big?Endian).
四、通信逻辑 1.设备初次使用时,发送注册数据包到"Token服务器",设备将获取到的Token值进行保存,正常情况下每台设备只用获取一次Token;
2.设备连接"通信服务器",并保持TCP长连接;
3.设备实时采集定位、机器状态等相关信息,按照数据通讯协议组成通信数据包(必须包含Token),数据包发送到"通信服务器"."通信服务器"收到上传的数据包后对数据包内容进行解析,并将解析的结果进行存储或展示. 4.为了保证连接的有效性,需要固定间隔时间(1分钟)发送心跳包到"通信服务器", "通信服务器"返回响应信息包. 通信逻辑图如下:
五、通信数据包格式定义 5.1通信数据基本格式定义 1.通信包采用如下图所示的结构: 序号
1 2
3 4
5 6
7 8
9 10
11 内容 协议头 包序号 农机厂家 设备类型 设备ID 数据包类型 Token 数据域长度 数据域内容 CRC16 校验位 协议尾 字节数
2 4
2 1
15 1
32 2 N
2 4 2.详细描述如下表: 序号 内容 字节数 备注
1 协议头
2 固定格式:0XAA 0X55
2 包序号
4 报文的序列号,上电发送的第一条报文的包序号为1,后续发送报文的包序号递增1,每天零点清零包序号.
3 农机厂家
2 用于唯一标识厂家的代号. 0X0000:值为系统保留. 如:0X0001:大田
4 设备类型
1 用于区分设备的类别. 0X00:值为系统保留,用于标识通信服务器的设备类型;
0X01:定位设备;
5 设备ID
15 占用15个字节,采用终端15位IMEI号作为设备ID,例:IMEI号为352736081552294,传输内容为0X33 0X35 0X32 0X37 0X33 0X36 0X30 0X38 0X31 0X35 0X35 0X32 0X32 0X39 0X34;
服务器端按照ASCII码解析.
6 数据包类型
1 数据包的类别: 上行(设备→Token服务器): 0X01:注册报文. 上行(设备→通信服务器): 0X02:实时数据上报报文;
0X04:心跳报文;
下行(服务器→设备): 0X09:回复报文.