1、出租车智能服务终端与外设通讯协议及数据格式 1协议基础 1.1 通讯方式 终端与外设采用串口通讯方式,采用主从结构。波特率建议初始9600,数据 传输为异步方式,并以字节为单位,1 个起始位,8 个数据位,1 个停止位,无奇 偶校验。 1.2 帧格式定义 外设与主机的通讯遵循的帧格式见表 82 帧格式定义。 表 82 帧格式定义 起始位 包长度 设备类型 厂商标识 命令字 数据区 校验码 结束位 2字节 2字节 1字节 1字节 2字节 1字节 2字节 起始位为0x55 0xAA。 包长度定义为帧格式中从设备类型到数据区数据的字节数,第1字节为数据包 长度的高字节,第2
2、 字节为命令包长度的低字节,命令包的长度为=高字节*256+ 低字节。 设备类型参见10.2.1设备编号编码规则。 命令字第一字节用以区分是标准指令与厂家自定义指令,0x00表示标准指令, 其它为自定义指令;第二字节定义具体的指令(同一功能的发送与应答协议使用 相同的命令类型)。 校验码定义为对协议体中从包长度到数据区数据的异或运算和。 结束位为0x55 0xAA。 1.3 传输规则 发送及应答均按规定的帧格式进行通讯。 采用大端模式(Big-Endian)的字节序来传递帧中的字和双字。 2智能服务终端与计价器通讯协议及数据格式 2.1 计价器状态查询指令 命令字:0
3、x0000。 终端发往计价器设备,获取当前计价器的运行状态,数据区格式见表 83 终端 至计价器数据区定义。 表 83 终端至计价器数据区定义 起始字节 字段 数据类型 说明 0 终端当前时间 BCD[7] 格式为YYYY-MM-DD-hh-mm-ss 计价器应答数据消息数据区格式见表 84 计价器应答数据区定义。 表 84 计价器应答数据区定义 起始字节 字段 数据类型 说明 0 设备编号 BCD[5] 参见10.2设备编号编码规则 5 设备硬件版本号 BCD 6 软件主版本号 BCD 7 软件次版本号 BCD 8 设备状态 UINT8 0x00:设备正常; 0
4、x01: 设备限制使用(次数限制) 0x02:设备限制使用(日期限制) 0x04:营运数据存储满 0x08:上下班签到签退信息满 其他:设备异常; 9 计价器工作状态 UINT8 0x00:签到,已开机 0x01:签退,未开机 0x10:签到,强制开机 0x11:签退,强制关机 10 车牌号 BYTE[6] 车牌号,ASCII字符 16 单位代码 BCD[5] 21 司机代码 BCD[6] 强制开机时以0x00填充 27 总营运次数 UINT32 高位在前,低位在后 2.2 运价参数查询指令 命令字:0x0004。 终端发往计价器设备,获取当前计价器的运行参数设
5、置。 数据区无。 计价器应答数据消息数据区格式见表 85 计价器应答数据区定义。 表 85 计价器应答数据区定义 起始字节 字段 数据类型 说明 0 参数启用时间 BCD[5] YYYY-MM-DD-hh 5 白天往返单价 BCD[2] XX.XX元/公里 7 夜间往返单价 BCD[2] XX.XX元/公里 9 白天单程单价 BCD[2] XX.XX元/公里 11 夜间单程单价 BCD[2] XX.XX元/公里 13 白天二次空贴单价 BCD[2] XX.XX元/公里 15 夜间二次空贴单价 BCD[2] XX.XX元/公里 17 白天起步价 BCD[2] XX.XX元
6、/公里 19 夜间起步价 BCD[2] XX.XX元/公里 21 续程公里数 BCD[2] XX.XX公里 23 起程公里 BCD[2] XX.XX公里 25 单程公里 BCD[2] XX.XX公里 27 二次空贴公里 BCD[2] XX.XX公里 29 白天等候时间单价 BCD[2] XX.XX元 31 夜间等候时间单价 BCD[2] XX.XX元 33 免费等候时间 BCD[2] XX分XX秒 35 加价时间 BCD[2] XX分XX秒 37 夜间开始时间 BCD[2] XX时XX分 39 夜间结束时间 BCD[2] XX时XX分 41 RFU BYTE[22] 系
7、统预留 63 厂商自定义参数区 BYTE[64] 由厂商自定义扩展 2.3 运价参数设置指令 命令字:0x0005。 终端发往计价器设备,用于远程参数设置。厂商实现时应具备安全机制。 数据区格式见表 86 终端至计价器数据区定义。 表 86 终端至计价器数据区定义 起始字节 字段 数据类型 说明 0 参数设置 BYTE[] 参数设置应至少包括参数查询中返回的参数, 各厂商自定义数据区内容及编码。 计价器应答数据消息数据区格式见表 87 计价器应答数据区定义。 表 87 计价器应答数据区定义 起始字节 字段 数据类型 说明 0 操作结果 UINT8 0x00,参数下载
8、成功 0x01,参数包校验失败,设置失败 0x02,同一版本,无需设置 0xFF,设备不支持 1 启用时间 BCD[5] 参数数据包中的参数启用时间, YYYY-MM-DD-hh 2.4 单次营运开始通知指令 命令字:0x00E7。 计价器发往终端,当出租汽车进入重车时触发。 计价器发往终端数据区格式见表 88 计价器至终端数据区定义。 表 88 计价器至终端数据区定义 起始字节 字段 数据类型 说明 0 进入重车时间 BCD[7] 格式YYYY-MM-DD-hh-mm-ss 终端应答数据消息数据区格式见表 89 终端应答数据区定义。 表 89 终端应答数据区定义
9、起始字节 字段 数据类型 说明 0 操作结果 UINT8 0x90:执行正确 0xFF:执行错误 2.5 单次营运结束后营运数据发送指令 命令字:0x00E8。 计价器发往终端,当出租汽车由空车进入重车时触发。 计价器发往终端数据区格式见表 90 计价器至终端数据区定义。 表 90 计价器至终端数据区定义 起始字节 字段 数据类型 说明 0 车牌号 BYTE[6] 车牌号,ASCII字符 6 单位代码 BCD[5] 11 司机代码 BCD[6] 17 上车时间 BCD[5] 格式为YY-MM-DD-hh-mm 22 下车时间 BCD[2] 格式为hh-mm 24
10、计程公里 BCD[3] 格式为XXXXX.X公里 27 空驶公里 BCD[2] 格式为XXX.X公里 29 附加费 BCD[3] 格式XXXXX.X元 32 等待计时时间 BCD[2] 格式为hh-mm 34 交易金额 BCD[3] 格式XXXXX.X元 37 当前车次 UINT32 高位在前,低位在后 以下一卡通交易相关数据(供参考),其数据项及长度各地市可根据实际情况扩展 41 交易卡号 BCD[6] 现金交易时6字节全为0xFF 47 锁卡交易标志 BCD 0x01:正常交易 0x00:锁卡交易 48 SAM 卡卡号 BCD[5] 53 终端交易流水号 UINT3
11、2 高位在前,低位在后 57 城市代码 BCD[2] 59 卡类型 UINT8 60 交易前余额 BCD[3] 格式XXXXX.X元 63 交易认证码 BYTE[4] 67 卡交易计数器 UINT16 高位在前,低位在后 如果计价器本次营运数据为无效数据(里程小于100 米,且等候时间小于30 秒),退出重车后计价器仍发送0x00E8 指令且本身不做存储,其数据区以全0 填 充。以此约束,MCU 可根据0x00E8 指令中的数据区数据进行判断,是否有效。 无效数据丢弃即可。 终端应答数据消息数据区格式见表 91 终端应答数据区定义。 表 91 终端应答数据区定义 起始字
12、节 字段 数据类型 说明 0 操作结果 UINT8 0x90:执行正确 0xFF:执行错误 2.6 计价器营运数据补传指令 命令字:0x00F2。 计价器发往终端,将未传出的营运数据补传至终端。 计价器发往终端数据区格式见表 92 计价器至智能终端数据区定义。 表 92 计价器至智能终端数据区定义 起始字节 字段 数据类型 说明 0 计价器营运数据 参见表 90 计价器至终端数据区定义“计价器 重转空(单次营运结束)指令” 终端应答数据消息数据区格式见表 93 终端应答数据区定义。 表 93 终端应答数据区定义 起始字节 字段 数据类型 说明 0 操作结果 UIN
13、T8 0x90:正确 0xFF:校验错误 注:营运数据重传机制: 数据补传的时机可以定时补传或当重转空时进行补传。当重转空进行补传时应 首先传出本次营运的数据后再进行补传,补传时先补传先存储的待补传的数据。 2.7 计价器开机指令(可选) 命令字:0x00E0。 计价器发往终端,通过出租汽车驾驶员按计价器相关按键触发开机流程。 在空车且未签到状态下,司机按约定的键对计价器进行开机,计价器显示窗提 城市出租汽车服务管理信息系统试点工程总体技术要求(暂行) 78 示“OPEN”。如果终端正确响应且操作成功,计价器正常开机,正确响应但操作 不成功(如无卡片),则提示用户重新
14、执行开机操作;如果未响应(超过三次)并 该计价器未超过运营数据记录及时间限制,计价器强制开机,产生一条记录(主 要包括签到时间、车号)。 计价器发往终端数据区格式见表 94 计价器至终端数据区定义。 表 94 计价器至终端数据区定义 起始字节 字段 数据类型 说明 0 开机标识 UINT8 0x90 终端接收到此指令后,读取驾驶员从业资格信息,并将操作结果返回给计价器。 终端应答数据消息数据区格式见表 95 终端应答数据区定义。 表 95 终端应答数据区定义 起始字节 字段 数据类型 说明 0 单位代码 BCD[5] 5 司机代码 BCD[6] 11 车牌号 BYTE
15、[6] 车牌号,ASCII字符 17 刷卡时间 BCD[6] 格式为YYYY-MM-DD-hh-mm 23 终端状态 UINT16 25 时间限制 BCD[5] 格式为YYYY-MM-DD-hh,全0表示无时间 限制 30 次数限制 BCD 00表示无限制 31 操作结果 UINT8 0x90:执行正确 0xFF:执行错误 如果操作成功,计价器使用0x00E1命令字通知终端开机成功,数据区格式见 表 96 计价器至终端数据区定义。 表 96 计价器至终端数据区定义 起始字节 字段 数据类型 说明 0 单位代码 BCD[5] 5 司机代码 BCD[6] 11 车牌号
16、 BYTE[6] 车牌号,ASCII字符 17 计价器开机时间 BCD[6] 格式为YYYY-MM-DD-hh-mm 23 总营运次数 UINT32 高位在前,低位在后 27 操作结果 UINT8 0x90:执行正确 0xFF:执行错误 2.8 计价器关机指令(可选) 命令字:0x00E3。 计价器发往终端,通过出租汽车驾驶员按计价器相关按键触发关机流程。 在空车且已签到状态下,司机按约定的键对计价器进行关机,计价器显示窗提 示“CLOSE”。如果终端正确响应且操作成功,计价器正常关机,正确响应但操作 不成功(如无卡片),则提示用户重新执行关机操作;如果未响应(超过三次)
17、 计价器强制关机,产生一条关机记录。 计价器发往终端数据区格式见表 97 计价器至终端数据区定义。 表 97 计价器至终端数据区定义 起始字节 字段 数据类型 说明 0 关机标识 UINT8 0x90 终端接收到此指令后,读取驾驶员从业资格信息,并将操作结果返回给计价器。 终端应答数据消息数据区格式见表 98 终端应答数据区定义。 表 98 终端应答数据区定义 起始字节 字段 数据类型 说明 0 单位代码 BCD[5] 5 司机代码 BCD[6] 11 车牌号 BYTE[6] 车牌号,ASCII字符 17 刷卡时间 BCD[6] 格式为YYYY-MM-DD-hh-m
18、m 23 终端状态 UINT16 25 时间限制 BCD[5] 格式为YYYY-MM-DD-hh,全0表示无时间限制 30 次数限制 BCD 00表示无限制 31 操作结果 UINT8 0x90:执行正确 0xFF:执行错误 如果操作成功,计价器使用0x00E4命令字通知终端关机成功,数据区格式见 表 99 计价器至终端数据区定义。 表 99 计价器至终端数据区定义 起始字节 字段 数据类型 说明 0 单位代码 BCD[5] 5 司机代码 BCD[6] 11 车牌号 BYTE[6] 车牌号,ASCII字符 17 脉冲数(K 值) BCD[2] 格式为XXXX,最大9
19、999 19 当班开机时间 BCD[6] YYYY-MM-DD-hh-mm 25 当班关机时间 BCD[6] YYYY-MM-DD-hh-mm 31 当班公里 BCD[3] 格式为XXXXX.X公里 34 当班营运公里 BCD[3] 格式为XXXXX.X公里 37 车次 BCD[2] 格式为XXXX,最大9999 39 计时时间 BCD[3] 42 总计金额 BCD[3] 格式XXXXX.X元 45 卡收金额 BCD[3] 格式XXXXX.X元 48 卡次 BCD[2] 格式为XXXX,最大9999 城市出租汽车服务管理信息系统试点工程总体技术要求(暂行) 81 50
20、班间公里 BCD[2] 格式XXX.X公里(上一班签退到本班签到的 公里数) 52 总计公里 BCD[4] 格式为XXXXXXX.X公里(计价器安装后累积) 56 总营运公里 BCD[4] 格式为XXXXXXX.X公里(计价器安装后累积) 60 单价 BCD[2] 格式XX.XX元 62 总营运次数 UINT32 高位在前,低位在后 终端收到计价器关机成功的指令(命令字0x00E4)后,确认应答,数据区格 式见表 100 终端应答数据区定义。 表 100 终端应答数据区定义 起始字节 字段 数据类型 说明 31 操作结果 UINT8 0x90:执行正确 0xFF:执行错
21、误 2.9 计价器关机当班营运数据汇总补传指令(可选) 命令字:0x00F1。 计价器发往终端,将未传出的关机汇总数据补传至终端。 计价器发往终端数据区格式见表 101 计价器至终端数据区定义。 表 101 计价器至终端数据区定义 起始字节 字段 数据类型 说明 0 计价器关机汇总 数据 参见表 99 计价器至终端数据区定义“6.2.8 计价器关机指令(可选)” 计价器至智能终端 数据区定义。 终端应答数据消息数据区格式见表 102 智能终端应答数据区定义。 表 102 智能终端应答数据区定义 起始字节 字段 数据类型 说明 0 操作结果 UINT8 0x90:正
22、确 0xFF:校验错误 注:补传机制同营运数据重传机制。 2.10 计价器心跳指令(可选) 命令字:0x00E9。 计价器发往终端,用于终端判断计价器工作是否正常。 计价器发往终端数据区格式见表 103 计价器至智能终端数据区定义。 表 103 计价器至智能终端数据区定义 起始字节 字段 数据类型 说明 0 计价器当前状态 UINT8 bit0(最低位)——空重车状; 0表示空车;1表示重车; bit1——停运(签退)状态; 0 为签退,1为营运 bit2——开机状态; 0为正常情况 1 为强制开机 bit3——关机状态; 0为正常情况 1 为强制关机 bi
23、t7(最高位)——异常速度信号; 0为正常情况 1 为异常情况 1 单位代码 BCD[5] 6 司机代码 BCD[6] 终端应答数据消息数据区格式见表 104 终端应答数据区定义。 表 104 终端应答数据区定义 起始字节 字段 数据类型 说明 0 终端运行状态 UINT16 2 时间限制 BCD[5] 格式为YYYY-MM-DD-hh,全0表示无时间限 制 7 次数限制 BCD 00表示无限制 8 RFU UINT16 2.11 计价器固件升级指令(可选) 命令字:0x00FF。 终端发往计价器设备,通知计价器进入固件升级流程。 数据区格式见表 105 智能终端
24、至计价器数据区定义。 表 105 智能终端至计价器数据区定义 起始字节 字段 数据类型 说明 0 厂商标识 BCD 1 设备硬件版本号 BCD 2 软件主版本号 BCD 3 软件次版本号 BCD 计价器应答数据消息数据区格式见表 106 计价器应答数据区定义。 表 106 计价器应答数据区定义 起始字节 字段 数据类型 说明 0 操作结果 UINT8 0x00:执行正确 0x01:设备不支持 0x02:同一版本无需升级 0x03:标识信息不一致,无法升级 0xFF:执行错误 计价器收到固件升级指令并返回“执行正确”的应答后,进入升级流程。 3智能服务终端与智能
25、顶灯通讯协议及数据格式 3.1 智能顶灯状态查询指令 命令字:0x0000。 终端发往智能顶灯设备,获取顶灯设备的运行状态,数据区格式见表 107 终 端至智能顶灯数据区定义。 表 107 终端至智能顶灯数据区定义 起始字节 字段 数据类型 说明 0 终端当前时间 BCD[7] 格式为YYYY-MM-DD-hh-mm-ss 智能顶灯应答数据消息数据区格式见表 108 智能顶灯应答数据区定义。 表 108 智能顶灯应答数据区定义 起始字节 字段 数据类型 说明 0 设备编号 BCD[5] 参见10.2 设备编号编码规则 5 设备硬件版本号 BCD 6 软件主版本号 BC
26、D 7 软件次版本号 BCD 8 顶灯设备状态 UINT8 0x00:设备正常 0x1X:设备工作异常(X为厂商可自定义异 常代码) 9 顶灯显示状态 UINT8 0x00:空车 0x01:重车 0x02:停运 0x03:电召 0x04:报警 0x05:显示防伪密标 10 是否进入夜间模 式 UINT8 0x00:一般模式 0x01:夜间模式 11 RFU UINT8[5] 3.2 智能顶灯复位指令 命令字:0x0001。 终端发往智能顶灯设备,通知顶灯进行复位操作,数据区无。 智能顶灯应答数据消息数据区格式见表 109 智能顶灯应答数据区定义。 表
27、 109 智能顶灯应答数据区定义 起始字节 字段 数据类型 说明 0 操作结果 UINT8 0x00:执行正确 0x01:设备不支持此命令 0xFF:执行错误 智能顶灯设备接收到终端发送的复位请求,响应后,进行复位操作,将顶灯的 状态设置为复位前的正常状态。 3.3 智能顶灯通讯波特率设置指令 命令字:0x0003。 终端发往智能顶灯设备终端与智能顶灯的通讯波特率设置指令,设置成功后, 下一次通讯按设置的波特率进行通讯,且设备应保存最后一次的正确设置,再次 加电时按最后一次设置的波特率进行通讯。 数据区格式见表 110 终端至智能顶灯数据区定义。 表 110 终端至
28、智能顶灯数据区定义 起始字节 字段 数据类型 说明 波特率 UINT8 0x00:2400 0x01:4800 0x02:9600(默认) 0x03:14400 0x04:19200 0x05:38400 0x06:57600 0x07:115200 0x08:128000 智能顶灯应答数据消息数据区格式见表 111 智能顶灯应答数据区定义。 表 111 智能顶灯应答数据区定义 起始字节 字段 数据类型 说明 0 操作结果 UINT8 0x00:执行正确 0x01:设备不支持此命令 0xFF:执行错误 3.4 智能顶灯固件升级指令 命令字:0x00FF。
29、 终端发往智能顶灯设备,通知智能顶灯进入固件升级流程。 数据区格式见表 112 终端至智能顶灯数据区定义。 表 112 终端至智能顶灯数据区定义 起始字节 字段 数据类型 说明 0 厂商标识 BCD 1 设备硬件版本号 BCD 2 软件主版本号 BCD 3 软件次版本号 BCD 智能顶灯应答数据消息数据区格式见表 113 智能顶灯应答数据区定义。 表 113 智能顶灯应答数据区定义 起始字节 字段 数据类型 说明 0 操作结果 UINT8 0x00:执行正确 0x01:设备不支持 0x02:同一版本无需升级 0x03:标识信息不一致,无法升级 0xFF:执行错
30、误 智能顶灯收到固件升级指令并返回“执行正确”的应答后,进入升级流程。 3.5 营运状态设置指令 命令字:0x0010。 终端发往智能顶灯设备营运状态设置指令,智能顶灯应存储,维持最后一次的 设置状态。 数据区格式见表 114 终端至智能顶灯数据区定义。 表 114 终端至智能顶灯数据区定义 起始字节 字段 数据类型 说明 0 厂商标识 BCD 0x00:空车 0x01:重车 0x02:停运 0x03:电召 0x04:报警 0x05:显示防伪密标 智能顶灯应答数据消息数据区格式见表 115 智能顶灯应答数据区定义。 表 115 智能顶灯应答数据区定义 起始字
31、节 字段 数据类型 说明 0 操作结果 UINT8 0x00:执行正确 0x01:设备不支持 0xFF:执行错误 3.6 星级状态设置指令 命令字:0x0011。 终端发往智能顶灯设备,通过智能顶灯LED 或指示灯的显示当班驾驶员服务 星级信息。顶灯应做存储,维持最后一次的设置状态。 如果星级信息和出租汽车状态信息共用一块LED 显示,则当出租汽车状态为 空车状态且星级评定为非0x00时显示星级。 数据区格式见表 116 终端至智能顶灯数据区定义。 表 116 终端至智能顶灯数据区定义 起始字节 字段 数据类型 说明 0 厂商标识 BCD 0x00:未评定 0x
32、01:一星 0x02:二星 0x03:三星 0x04:四星 0x05:五星 智能顶灯应答数据消息数据区格式见表 117 智能顶灯应答数据区定义。 表 117 智能顶灯应答数据区定义 起始字节 字段 数据类型 说明 0 操作结果 UINT8 0x00:执行正确 0x01:设备不支持 0xFF:执行错误 3.7 防伪密标显示指令 命令字:0x0013。 终端发往智能顶灯设备,当设置出租汽车防伪密标成功后,智能顶灯防伪密标 与出租汽车运行状态交替显示(间隔3秒),直到收到取消显示指令为止。 数据区格式见表 118 终端至智能顶灯数据区定义。 表 118 终端至智能顶
33、灯数据区定义 起始字节 字段 数据类型 说明 0 厂商标识 INT8[] 二进制内容(点阵数据) 智能顶灯应答数据消息数据区格式见表 119 智能顶灯应答数据区定义。 表 119 智能顶灯应答数据区定义 起始字节 字段 数据类型 说明 0 操作结果 UINT8 0x00:执行正确 0x01:设备不支持 0xFF:执行错误 3.8 取消防伪密标显示指令 命令字:0x0014。 终端发往智能顶灯设备,取消当前防伪密标的显示。 数据区无。 智能顶灯应答数据消息数据区格式见表 120 智能顶灯应答数据区定义。 表 120 智能顶灯应答数据区定义 起始字节 字段 数据类型
34、 说明 0 操作结果 UINT8 0x00:执行正确 0x01:设备不支持 0xFF:执行错误 3.9 夜间工作模式设置指令 命令字:0x0012。 终端发往智能顶灯设备,智能顶灯应作记忆存储。当出租汽车连续处于夜间模 式超过12小时而未收到终端的关闭指令,则顶灯应自动将夜间模式关闭。 数据区格式见表 121 终端至智能顶灯数据区定义。 表 121 终端至智能顶灯数据区定义 起始字节 字段 数据类型 说明 0 开启/关闭 UINT8 0x00:关闭夜间模式 0x01:开启夜间模式 智能顶灯应答数据消息数据区格式见表 122 智能顶灯应答数据区定义。 表 122
35、智能顶灯应答数据区定义 起始字节 字段 数据类型 说明 0 操作结果 UINT8 0x00:执行正确 0x01:设备不支持 0xFF:执行错误 3.10 夜间工作模式参数设置指令 命令字:0x0020。 终端发往智能顶灯设备,智能顶灯应作记忆存储。通过此指令,设置智能顶灯 的夜间模式开启关闭时的时间范围,智能顶灯可根据此参数设置在营运状态下, 自动转化夜间模式显示;在自动状态下,也可受终端的控制,进行关闭或者开启; 可根据智能终端发的查询智能顶灯状态进行自动校时(误差建议在1min中内)。 数据区格式见表 123 终端至智能顶灯数据区定义。 表 123 终端至智能顶灯数据区定义 起始字节 字段 数据类型 说明 0 开启/关闭 BCD[4] 描述小时分钟 24小时制 HHNN(起始时间)HHNN(停止时间) 当停止时间小于起始时间时,停止时间为第二 天的时间。 为0x00 0x00 0x00 0x00 时 表示由智能终端 控制顶灯的工作模式。 智能顶灯应答数据消息数据区格式见表 124 智能顶灯应答数据区定义。 表 124 智能顶灯应答数据区定义 起始字节 字段 数据类型 说明 0 操作结果 UINT8 0x00:执行正确 0x01:设备不支持 0xFF:执行错误






