【显示屏通信协议】
文件修改记录
版本 | 修改日期 | 修改描述 | 修改人员 |
v1.00 | 2017-2-4 | 创建此文档 | 刘明 |
v1.01 | 2019-4-23 | 增加绘图二维码接口 | Lyon |
v1.02 | 2019-5-7 | 更正了文档描述的一些错误 | Lyon |
v1.03 | 2019-7-4 | 增加了脱机临时车权限指令 | Lyon |
v1.04 | 2019-11-29 | 增加了修改密码的接口 | Lyon |
v1.05 | 2020-1-06 |
| Lyon |
v1.06 | 2020-4-16 | 增加了余位界面 | Lyon |
v1.07 | 2020-7-23 | 增加了开闸、关闸指令 | Lyon |
V1.08 | 2020-7-29 | 增加了继电器常开/常关功能 | Lyon |
V1.09 | 2020-9-16 | 修改了 0x62 指令字体描述的错误 | Lyon |
V1.10 | 2020-9-21 | 增加了设置补光灯时间段指令 | Lyon |
V2.0 | 2020-12-10 |
| Lyon |
V2.1 | 2021-07-23 | 更正了 6F 描述错误。 | Lyon |
V2.2 | 2021-11-27 |
| Lyon |
V2.3 | 2022-05-16 |
| Lyon |
V2.4 | 2022-06-25 |
| Lyon |
V2.5 | 2023-07-18 | 1.0D 增加了视频播放音量 2.E1 增加了多行文本 | Lyon |
V2.6 | 2023-09-10 |
| Lyon |
目录
通信协议
通信协议在这里是指显示屏应用层软件协议,主要功能是用来实现面向终端连接的数据传输,其规范了设备端(显示屏)与主机端的通信所必须遵循的规则和约定。关于传输介质的标准或者接口协议请参见相关的文档。
数据包格式
显示屏通信是以包为最小单元进行数据交互,数据包可以看作是运输数据的载体。在本协议中数据包结构由控制域、数据域、校验域 3 部分组成,见下图。
数 据 包 格 式 | |||||||
控制域 | 数据域 | 校验域 | |||||
字段 | DA (设备地址) | VR (协议版本) | PN | CMD | DL | DATA (数据) | CRC |
(16 位包序列) | (指令 ID) | (数据长度) | (16 位包校验值) | ||||
取值范围 | 0x00~0xff | 0x00~0xff | 0x0000~0xffff | 0x00~0xff | 0x0000~0xffff | 0x00~0xff | 0x0000~0xffff |
长度 | 1Byte | 1Byte | 2Bytes | 1Byte | 1~2Byte | Max 255Bytes | 2Bytes |
DA:为显示屏的地址,取值范围为 0x00 – 0xFF,默认为 0x00。
VR:描述了协议版本号,目前支持版本 0x64(100)和版本 0xC8(200)。
PN:是包的序列,在传输超过 255 个字节的数据时,需要分包传输,PN 表示了包的序列,每次交互完之后自增 1,设置为最大值 0XFFFF 时表示当前包是最后一个包。在传输小于 255 个字节的数据时,该值应该设置为 0XFFFF。
CMD: 该字段描述了该包的作用,显示屏通过这个值完成不同的功能服务。
DL: 该字段用来描述DATA 的数据长度,当VR 为 100 时,DL 只有 1 个字节,最大取值为 255。当VR 为 0xC8(200)时,DL 为 2 个字节组成 16 位数据,最大取值为 65535。
DATA: 是参数数据,每条指令携带的参数和长度是不同的,详解参见后指令集章节。
CRC: 数据包的校验码。参与校验的字段是从 DA 到DATA 的最后一个字节。校验算法采用 CRC16,见后章节详解。
数据校验算法(CRC16)
CRC16 是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。
参与计算的字段为 DA 到DATA 之间的数据。计算得到的 16 位校验码在传送时,采用小端模式,低字节在前,高字节在后。
算法C 实现:
static const uint8_t _CRCHi[] = {
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40
};
static const uint8_t _CRCLo[] = {
0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7,
0x05, 0xC5, 0xC4, 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E,
0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9,
0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, 0x1D, 0x1C, 0xDC,
0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3,
0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32,
0x36, 0xF6, 0xF7, 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D,
0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38,
0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, 0x2E, 0x2F, 0xEF,
0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26,
0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1,
0x63, 0xA3, 0xA2, 0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4,
0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB,
0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB, 0x7B, 0x7A, 0xBA,
0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5,
0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0,
0x50, 0x90, 0x91, 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97,
0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E,
0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, 0x48, 0x49, 0x89,
0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C,
0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83,
0x41, 0x81, 0x80, 0x40
};
/*
CRC16 校验函数
*/
uint16_t MB_CRC16(uint8_t *pFrame, uint16_t count)
{
uint8_t CRCHi = 0xFF; uint8_t CRCLo = 0xFF; int32_t index;
while(count–) {
index = CRCLo ^ *(pFrame++);
CRCLo = (uint8_t)(CRCHi ^ _CRCHi[index]); CRCHi = _CRCLo[index];
}
return (uint16_t)(CRCHi << 8 | CRCLo );
}
显示屏通信协议-v2.6
指令集
指 令 集 | ||||
指令代 码 | 功能描述 | 请求参数格式 | 回复参数格式 | |
系 | 0x00 | 连接 | PSWD[6~32] | RET + HVR[3] + SVR[3] + CPVR[3] |
统 | 0x02 | 修改密码 | PSWD[6~32] | ACK(成功为 0,失败返回非 0 的值) |
管 | 0x05 | 同步时间 | Y[2] + M + D + W + H + N + S | ACK(成功为 0,失败返回非 0 的值) |
理 | 0x07 | 更改通信地址 | NDA | ACK(成功为 0,失败返回非 0 的值) |
和 | 0x0A | 更改波特率 | BAUD[4] | ACK(成功为 0,失败返回非 0 的值) |
配 | 0x0C | 调整显示亮度 | LIGHT | ACK(成功为 0,失败返回非 0 的值) |
置 | 0x0D | 调整音量 | VOL | ACK(成功为 0,失败返回非 0 的值) |
0x0F | 设置继电器状态 | CH+OF+RESERVED[3] + OT | ACK(成功为 0,失败返回非 0 的值) | |
0x1A | 设置 485 模式 | MODE | ACK(成功为 0,失败返回非 0 的值) | |
0x1E | 恢复出厂设置 | 无 | ACK(成功为 0,失败返回非 0 的值) | |
0xD3 | 配置临时车权限 | TCA | ACK(成功为 0,失败返回非 0 的值) | |
0xD5 | 获取输入事件 | 无 | RID[4] + KE[2] + LE[2] | |
0xD8 | 设置补光灯时间/亮度 | SH + SM + EH +EM+BNL | ACK(成功为 0,失败返回非 0 的值) | |
语 音 | 0x30 | 播放语音 | OPT + TEXT[MAX 254] | ACK(成功为 0,失败返回非 0 的值) |
接 口 | 0x31 | 停止播放语音 | 无 | ACK(成功为 0,失败返回非 0 的值) |
显示接口 | 0x62 | 下载临时信息 | TWID+ETM+ETS+GST+DT+RA1[2]+FINDEX+DRS+TC[4]+RA2[4]+ TL+R3+TEXT[…] | ACK(成功为 0,失败返回非 0 的值) |
0x67 | 下载广告语 | TWID+R1+R2+ETM+ETS+R3+DT+RA1[2]+FINDEX+TC[4]+RA2[4]+ TL+R3+TEXT[…] | ACK(成功为 0,失败返回非 0 的值) | |
0x68 | 显示广告语 | TWID + FID | ACK(成功为 0,失败返回非 0 的值) | |
0x6F | 多行单包显示带语音 | SF+GST+TEXT_CONTEXT_NUMBER+TEXT_CONTEXT[…]+ VF+VTL+VT[…] | ACK(成功为 0,失败返回非 0 的值) | |
0xE1 | 扫码支付页面 V1 | SF + EM + ETM + ST + NI + QRC[4] +RA1[4] + ML + TL + FLAGS + QRSIZE + RA2[15] + MSG[ML + 1] + TEXT[TL + 1] | ACK(成功为 0,失败返回非 0 的值) | |
0xE3 | 设置余位 | SF + EM + ETM + ST + NI + NUM | ACK(成功为 0,失败返回非 0 的值) | |
0xE5 | 扫码支付页面 V2 | SF + EM + CI + ST + NI + VEN + TL + TEXT[TL] + BMPDATA [….] | ACK(成功为 0,失败返回非 0 的值) | |
0xE6 | 配置广告播放模式 | INDEX+PL+PV | ACK(成功为 0,失败返回非 0 的值) | |
0xE7 | 无牌车扫码页面 | RA1[3] + ST+RA2[5]+QL+TL+VL+QR+TEXT+VOICE | ACK(成功为 0,失败返回非 0 的值) | |
0x00(连接设备)
对于支持加密的显示屏设备,需要先通过连接进行密码验证,验证通过之后才能进行其它接口操作,否则其它接口将不会被执行。显示屏设备收到该指令之后会返回设备的版本信息。对于不支持加密的显示屏设备,该指令仅用作获取版本信息。
请求格式: DA + VR + PN[2] + 0x00 + DL + PWD[6~32] + CRC[2]
请求参数描述: DL 取值为密码长度。
PWD:为 6~32 位连接密码。
回复格式: DA + VR + PN[2] + 0x00 + DL + RET + HVR[3] + SVR[3] + CPVR[3] + CRC[2]
回复参数描述: 包含 10 个字节的参数,DL 取值为 10。
RET:密码校验结果,0 为校验通过,1 为不通过。 HVR:硬件版本号,3 个字节,表示格式为x.y.z SVR:软件版本号,3 个字节,格式为x.y.z
CPVR:通信协议版本号,3 个字节,格式为x.y.z
使用例子:
主机发送: 00 64 FF FF 00 06 31 35 39 37 35 33 FB 06
设备回复: 00 64 FF FF 00 0A 00 31 30 32 34 36 30 31 30 30 9F EF
0x02(修改密码)
该指令仅对支持加密的显示屏设备有效,在修改密码之前需要先通过旧密码连接设备,验证通过之后,才能正确修改密码。
请求格式: DA + VR + PN[2] + 0x02 + DL + PWD[6~32] + CRC[2]
请求参数描述:DL 取值为密码长度。
PWD:为 6~32 位新密码。
回复格式: DA + VR + PN[2] + 0x02 + DL + ACK + CRC[2]
回复参数描述: 包含 1 个字节的参数,DL 取值为 1。
ACK:密码校验结果,0 为校验通过,其它取值为不通过。
使用例子:
主机发送: 00 64 FF FF 02 06 38 38 38 38 38 38 23 2F 设备回复: 00 64 FF FF 02 01 00 97 74
0x05(同步时间)
同步时间的功能是从外部同步显示屏的系统时间。显示屏的系统时间每天的误差在+- 5 秒钟之内,因此在需要极高精度的时间应用场合,应该每隔一段时间对显示屏同步时间。
请求格式: DA + VR + PN[2] + 0x05 + DL + Y[2] + M + D + W + H + N + S + CRC[2]
请求参数描述:包含 8 个字节的参数,DL 取值为 8。
Y:为年的 16 位数据,小端模式,取值范围在 1970~2099。
M:为月的 8 位数据,取值范围在 1 ~ 12。
D:为日的 8 位数据,取值范围在 1~31。
W:为星期的 8 位数据,取值范围在 1~7。1 对应星期日,2 ~ 7 对应星期一至六。
H:为小时的 8 位数据,取值范围在 0~23。 N:为分钟的 8 位数据,取值范围在 0~59。 S:为秒钟的 8 位数据,取值范围在 0~59。
回复格式: DA + VR + PN[2] + 0x05 + DL + ACK + CRC[2]
回复参数描述: 包含 1 个字节的参数,DL 取值为 1,ACK 是显示屏返回的结果,取值为 0 表示成功,非 0 表示不成功。
使用例子:同步时间至 2016 年 3 月 10 日星期四 15:05:06。 主机发送: 00 64 FF FF 05 08 E0 07 03 0A 07 0F 05 06 65 68 设备回复: 00 64 FF FF 05 01 00 26 B5
0x07(更改通信地址)
通信地址是用来区分多个显示屏设备的身份标识。主机在进行任何请求时,通过指定通信地址来选择目标设备。主机通过该指令更改了设备端的地址之后,在随后的操作中应当使用新地址来通信。
请求格式: DA + VR + PN[2] + 0x07 + DL +NDA+ CRC[2]
请求参数描述:包含 1 个字节的参数,DL 取值为 1。
NDA:为新的通信地址,取值范围在 0~255。回复格式: DA + VR + PN[2] + 0x07 + DL + ACK + CRC[2]
回复参数描述: 包含 1 个字节的参数,DL 取值为 1,ACK 是显示屏返回的结果,取值为 0 表示成功,非 0 表示不成功。
使用例子:通信地址更改为 1 。
主机发送: 00 64 FF FF 07 01 01 46 B5 设备回复: 00 64 FF FF 07 01 00 87 75
0x0A(更改波特率)
波特率是指在串口设备通信中的通信速率,即指每秒钟的比特位 BPS。速率越高每秒钟发送的数据位就越多,速度就越快。显示屏支持的波特率范围在 2400 ~ 115200。在实际应用中建议使用标准的 2400、4800、9600、19200、38400、57600、115200,可以保证最小的频差。
主机通过该指令更改成功之后,需要使用新的波特率与显示屏通信。请求格式: DA + VR + PN[2] + 0x0A + DL +BAUD[4]+ CRC[2]
请求参数描述:包含 4 个字节的参数,DL 取值为 4。
BAUD:为新的波特率,取值范围在 2400~115200。回复格式: DA + VR + PN[2] + 0x0A+ DL + ACK + CRC[2]
回复参数描述: 包含 1 个字节的参数,DL 取值为 1,ACK 是显示屏返回的结果,取值为 0 表示成功,非 0 表示不成功。
使用例子:波特率更改为 19200。
主机发送: 00 64 FF FF 0A 04 00 4B 00 00 2B B2 设备回复: 00 64 FF FF 0A 01 00 16 B6
0x0C (调整显示亮度)
显示屏的明亮程度可以通过该指令从 10%~100% 调节。请求格式: DA + VR + PN[2] + 0x0C + DL +LIGHT+ CRC[2]
请求参数描述:包含 1 个字节的参数,DL 取值为 1。
LIGHT:为新的亮度等级百分比,取值范围在 10~100。回复格式: DA + VR + PN[2] + 0x0C+ DL + ACK + CRC[2]
回复参数描述: 包含 1 个字节的参数,DL 取值为 1,ACK 是显示屏返回的结果,取值为 0 表示成功,非 0 表示不成功。
使用例子:亮度更改为 50%。
主机发送: 00 64 FF FF 0C 01 32 77 62 设备回复: 00 64 FF FF 0C 01 00 F6 B7
0x0D(调整音量)
设置文本播放音量和广告视频播放音量。
请求格式: DA + VR + PN[2] + 0x0D + DL +TVL+ AVL + CRC[2]
请求参数描述:包含 2 个字节的参数,DL 取值为 2。
TVL:为文本播报音量百分比,取值范围在 0~100。 AVL:为视频播放音量百分比,取值范围在 0~100。
回复格式: DA + VR + PN[2] + 0x0D+ DL + ACK + CRC[2]
回复参数描述: 包含 1 个字节的参数,DL 取值为 1,ACK 是显示屏返回的结果,取值为 0 表示成功,非 0 表示不成功。
使用例子:文本播报音量更改为 50%,广告视频音量设置为 10%。 主机发送: 00 64 FF FF 0D 02 32 0A 53 DD
设备回复: 00 64 FF FF 0D 01 00 A7 77
0x0F(设置继电器状态/红绿灯/开闸/关闸)
本指令用来打开继电器,打开的时间可以控制,时间结束时显示卡会自动关闭继电器。请求格式: DA + VR + PN[2] + 0x0F + DL + CH+OF+RESERVED[3] + OT + CRC[2]
请求参数描述:包含 6 字节的参数,DL 取值为 6
CH:操作的通道
CH 取值及含义 | |
通道 | 描述 |
0x00 | 红绿灯 |
0x01 | 开闸 |
0x02 | 关闸 |
0xFE | 红绿灯和开闸同步操作 |
OF:操作选项,目前没有用到,取值不关心。 RESERVED:保留的 3 个字节,取值固定为 0。
OT:为继电器打开时间,单位为秒,最大取值为 254 秒。取值为 0 时,立即关闭继电
器.取值为 255 时,继电器将会一直打开。
回复格式: DA + VR + PN[2] + 0x0F+ DL + ACK + CRC[2]
回复参数描述: 包含 1 个字节的参数,DL 取值为 1,ACK 是显示屏返回的结果,取值为 0 表示成功,非 0 表示不成功。
使用例子:打开继电器 5 秒钟。
主机发送: 00 64 FF FF 0F 06 00 01 00 00 00 05 24 B7
设备回复: :00 64 FF FF 0F 01
00
06 B7
0x1A(设置 485 工作模式)
在有些时候可能不需要显示卡回复,此时可以通过该指令来设置显示卡的 485 工作模式为半工模式。
请求格式: DA + VR + PN[2] + 0x1A+ DL + MODE+ CRC[2]
请求参数描述:包含 1 个字节的参数,DL 取值为 1。
MODE:为 0 时表示半双工模式,为 1 时表示半工模式。回复格式: DA + VR + PN[2] + 0x1A+ DL + ACK + CRC[2]
回复参数描述: 包含 1 个字节的参数,DL 取值为 1,ACK 是显示屏返回的结果,取值为 0 表示成功,非 0 表示不成功。
使用例子:显示屏 485 模式为半工模式。 主机发送: 00 64 FF FF 1A 01 01 D6 B3
设备回复: 设备工作在半工模式,不会返回数据。
0x1E(恢复出厂设置)
该指令用来将显示屏设置为出厂设置。请求格式: DA + VR + PN[2] + 0x1E+ DL + CRC[2]
请求参数描述:包含 0 个字节的参数,DL 取值为 0。
回复格式: DA + VR + PN[2] + 0x1E+ DL + ACK + CRC[2]
回复参数描述: 包含 1 个字节的参数,DL 取值为 1,ACK 是显示屏返回的结果,取值为 0 表示成功,非 0 表示不成功。
使用例子:恢复出厂设置。
主机发送: 00 64 FF FF 1E 00 78 57
设备回复: 00 64 FF FF 1E 01 00 56 B2
0xD3(配置脱机临时车权限)
该指令用来设置脱机模式下的临时车通行权限。请求格式: DA + VR + PN[2] + 0xD3+ DL + TCA + CRC[2]
请求参数描述:包含 1 个字节的参数,DL 取值为 1。
TCA 临时车权限,取值范围及含义如下表:
TCA 取值含义 | |
取值 | 描述 |
0x00 | 禁止通行 |
0x01 | 允许通行 |
0x02 | 人工放行 |
0x03 | 无权通行 |
回复格式: DA + VR + PN[2] + 0xD3+ DL + ACK + CRC[2]
回复参数描述: 包含 1 个字节的参数,DL 取值为 1,ACK 是显示屏返回的结果,取值为 0 表示成功,非 0 表示不成功。
使用例子:显示屏脱机配置为临时车禁止通行。
主机发送: 00 64 FF FF D3 01 00 C7 4D
设备回复: 00 64 FF FF D3 01 00 C7 4D
0xD4(获取 GPS 位置信息)
该指令用来获取设备的GPS 位置信息,该指令仅在安装了 GPS 定位模块的主板才支持。请求格式: DA + VR + PN[2] + 0xD4+ DL + CRC[2]
请求参数描述:包含 0 个字节的参数,DL 取值为 0。
回复格式: DA + VR + PN[2] + 0Xd4+ DL + MSG + CRC[2]
回复参数描述:
MSG:返回的定位信息,格式如下:
使用例子:
主机发送: 00 64 FF FF D4 00 2E F7
设备回复: 00 64 FF FF D4 47 24 47 4E 52 4D 43 2C 30 30 33
37 34 32 2E 30 30 33 2C 56 2C 32 32 33 35 2E
32 30 39 34 2C 4E 2C 31 31 33 35 31 2E 35 34
32 31 2C 45 2C 30 2E 30 30 30 2C 30 2E 30 30
2C 30 36 30 31 38 30 2C 2C 2C 4E 2A 35 41 0D
0A 53 9D
0x30(播放语音)
显示屏系统储存了停车场常用的 300 句短语或词组,用户可以直接调出播放,语音列表参见附表 1。语音文本的匹配方式采用词组或者短语进行匹配,在一些含有变量信息的文字中,如金钱、车牌号、日期等,显示屏会自动处理。在发送语音文本时,需要将词组和短语之间加入逗号或者句号分隔,显示屏才能正确的匹配。显示屏的语音匹配方式是按照词组或短语匹配的,在发送文字时,需要用逗号或者句号分隔每个词组或短语。例如”欢迎光临,请入场停车”。
请求格式: DA + VR + PN[2] + 0x30 + DL +OTP + TEXT[MAX 254]+ CRC[2]
请求参数描述:参数长度 DL 为 1 加上文字长度。
OTP:为操作选项字,使用TTS 模块时不起作用。
OPT 取值含义 (注:万能语音该参数不起作用) | |
取值 | 描述 |
0x00 | 添加到语音队列但是不开始播放 |
0x01 | 添加到语音队列并且开始播放 |
0x02 | 先清除队列,再添加新语音到队列,然后开始播放 |
TEXT:为播报语音的文字,最大的长度为 254 个字节。文字编码格式只支持 ASCII
和 GBK2312。注意不支持UNICODE。
回复格式: DA + VR + PN[2] + 0x30+ DL + ACK + CRC[2]
回复参数描述: 包含 1 个字节的参数,DL 取值为 1,ACK 是显示屏返回的结果,取值为 0 表示成功,非 0 表示不成功。
使用例子 1:立即播放”欢迎光临,请入场停车”。
主机发送: 00 64 FF FF 30 14 01 BB B6 D3 AD B9 E2 C1 D9 2C C7 EB C8 EB B3 A1 CD A3 B3 B5 A9 36 设 备回复: 00 64 FF FF 30 01 00 36 BB
0x31(停止播放语音)
通过这个指令可以立即停止显示屏播报语音,并且清空语音队列。请求格式: DA + VR + PN[2] + 0x31+ DL + CRC[2]
请求参数描述:无参数,DL 取值为 0。
回复格式: DA + VR + PN[2] + 0x31+ DL + ACK + CRC[2]
回复参数描述: 包含 1 个字节的参数,DL 取值为 1,ACK 是显示屏返回的结果,取值为 0 表示成功,非 0 表示不成功。
使用例子:立即停止播报语音。
主机发送: 00 64 FF FF 31 00 64 67
设备回复: 00 64 FF FF 31 01 00 67 7B
0x62(下载临时文本)
下载临时文本的功能是用来显示临时文字信息。临时的文字掉电不会保存。
请求 格式 : DA+VR+PN[2]+0x62+DL+TWID+ETM+ETS+GST+DT+RA1[2]+FINDEX+DRS+TC[4]+RA2[4]+ TL+R3+TEXT[…]+CRC[2]
请求参数描述: DL 等于 19 个字节再加上文本长度。
TWID:为显示窗口的 ID,表示第几行。
ETM:文字显示的方式。取值范围及含义见下表:
ETM 取值含义 | |
编码 | 描述 |
0x00 | 立即显示 |
0x01 | 从右向左移动 |
0x02 | 从左向右移动 |
0x03 | 从下向上移动 |
0x04 | 从上向下移动 |
0x05 | 向下拉窗 |
0x06 | 向上拉窗 |
0x07 | 向左拉窗 |
0x08 | 向右拉窗 |
0x0D | 逐字显示 |
0x15 | 连续左移 |
ETS:为文字进入的速度。取值范围为 1~32。时基取决于当前的扫描周期。
GST: 界面显示时间,单位为秒。该参数只有在多界面的显示模板才生效,取值为 0 时表示使用模板默认值,取值为 255 表示一直显示当前界面,取值 1~254 表示用户自定义的界面显示时间。
DT:为文字停留的时间。取值范围为 0 ~255。
RA1[2]:2 个字节保留值,固定取值为 0x00 0x00。
FINDEX:为字体索引值,注意:每种主板支持字体不一样
FINDEX 取值含义 | |
取值 | 描述 |
0x00 | ASCII8 |
0x01 | ASCII10 |
0x02 | ASCII13 |
0x03 | 宋体 16 |
0x04 | 宋体 24 |
0x05 | 宋体 32 |
0x06 | 宋体 48 |
0x07 | 宋体 64 |
DRS:为显示的次数。取值范围为 0~255,当为 0 的时,表示无限循环显示。
TC[4]:为文字的颜色值。存储结构为 R G B A 三基色,各占 8 位,R 表示红色分量,G表示绿色分量,B 表示蓝色分量,A 目前没用使用,作为保留字。各取值范围为 0~255。 RA2[4]: 4 个字节保留值,固定取值为 0x00 0x00 0x00 0x00。
TL:为文字的长度。
R1:保留值,固定取值为 0x00。
TEXT:为显示的文字内容,支持ASCII 和GBK2312 编码。回复格式: DA + VR + PN[2] + 0x62+ DL + ACK + CRC[2]
回复参数描述: 包含 1 个字节的参数,DL 取值为 1,ACK 是显示屏返回的结果,取值为 0 表示成功,非 0 表示不成功。
使用例子:第一行显示欢迎光临。
主机发送: 00 64 FF FF 62 1B B9 E2 C1 D9 58 96
设备回复: 00 64 FF FF 62 01 00 97 6A
00 00 01 00 05 00 01 03 00 FF 00 00 00 00 00 00 00 08 00 BB B6 D3 AD
0x67(下载广告语)
ID 为 0~3 显示窗口都关联了 1 个独立的广告语文件,存储在显示屏的外部存储器中,掉电后不会丢失。显示屏空闲时,会主动循环的显示这个文本(如果存在)。需要注意的是不要频繁的 擦写广告语,否则会降低显示屏的存储器寿命。频繁擦写的内容可以用 0X62(下载临时文本)指令显示。
请求格式: DA+VR+PN[2]+0x67+DL+TWID+R1+R2+ETM+ETS+R3+DT+RA1[2]+FINDEX+TC[4]+RA2[4]+ TL+R3+TEXT[…]+CRC[2]
请求参数描述: DL 等于 20 个字节再加上文本长度。
TWID:为显示窗口的 ID,表示第几行。
R1:保留值,固定取值为 0x00。
R2:保留值,固定取值为 0x0C。
ETM:文字显示的方式。取值范围及含义请参考 0X62 指令。
ETS:文字进入的速度。取值范围为 1~32。时基取决于当前的扫描周期。
R3:保留值,固定取值为 0x00。
DT:为文字停留的时间。取值范围为 0 ~255。
RA1[2]:2 个字节保留值,固定取值为 0x00 0x00。
FINDEX:为文字的字体索引值。取值范围及含义请参考 0X62 指令。
TC:为文字的颜色值。取值范围及含义请参考 0X62 指令。 RA2[4]: 4 个字节保留值,固定取值为 0x00 0x00 0x00 0x00。 TL:为文字的长度。
R3:保留值,固定取值为 0x00。
TEXT:为显示的文字内容,支持ASCII 和GBK2312 编码。回复格式: DA + VR + PN[2] + 0x67+ DL + ACK + CRC[2]
回复参数描述: 包含 1 个字节的参数,DL 取值为 1,ACK 是显示屏返回的结果,取值为 0 表示成功,非 0 表示不成功。
使用例子:下载“自动识别减速慢行”到显示屏第一行。
主机发送: 00 64 FF FF 67 24 00 00 0C 15 01 00 05 15 01 03 FF 00 00 00 00 00 00 00 10 00 D7 D4 B6 AF CA B6 B1 F0 BC F5 CB D9 C2 FD D0 D0 84 F9
设备回复: 00 64 FF FF 67 01 00 87 6B
0x68(显示广告语)
显示文本文件的功能是在指定的窗口上立即显示已经下载的广告语。请求格式: DA + VR + PN[2] + 0x68+ DL +TWID+FID + CRC[2]
请求参数描述: 包含 2 个字节的参数,DL 取值为 2。
TWID:为窗口 ID,用于标识创建的窗口身份。
FID:为文件的 ID,用于指定操作的文本文件。取值范围为 0~1。回复格式: DA + VR + PN[2] + 0x68+ DL + ACK + CRC[2]
回复参数描述: 包含 1 个字节的参数,DL 取值为 1,ACK 是显示屏返回的结果,取值为 0 表示成功,非 0 表示不成功。
使用例子:立即显示第一行广告语。
主机发送: 00 64 FF FF 68 02 00 00 D8 76 设备回复:00 64 FF FF 68 01 00 B7 68
0x6F(单包多行显示,带语音)
使用单包多行显示,减少了频繁的设置文本的工作,每行的内容用‘n’ 换行符分隔,最后一行用‘ ’结束,语音用‘a‘开始,‘ ’结束。 但是该指令也有一些限制,其文本头和文字以及语音的长度之和, 不能超出单包的最大长度,即 255 个字节。
请 求 格 式 : DA+VR+PN[2]+0x6F+DL+SF+GST+TEXT_CONTEXT_NUMBER+TEXT_CONTEXT[…]+ VF+VTL+VT[…]+CRC[2]
请求参数描述:可变长参数,最大为 255 字节。
SF:取值为 0 时表示下载到临时区,取值为 1 时表示下载到存储区,频繁修改的内容建议下载到临时区。
GST: 界面显示时间,单位为秒。取值为 0~5 时表示使用模板默认值,取值为 254~255表示一直显示当前界面,取值 6~253 表示用户自定义的显示时间。 TEXT_CONTEXT_NUMBER:为文本参数数量,即几行文本。目前版本最大支持 4 行。
TEXT_CONTEXT:为文本参数,每个文本参数控制一行,用 0X0D 分开,最后一个文本参数用 0X00 结束,最多 4 个文本参数。文本参数的结构为LID + DM + DS + DT
+ DR + FINDEX + FLAGS + TC[4]+TL +TEXT[…]+0X0D/0X00 各参数取值含义如下。
LID:为显示行号。0 表示第 1 行,1 表示第 2 行,以此类推。
DM:为显示模式
DM 取值含义 | |
编码 | 描述 |
0x00 | 立即显示 |
0x01 | 从右向左移动 |
0x02 | 从左向右移动 |
0x03 | 从下向上移动 |
0x04 | 从上向下移动 |
0x05 | 向下拉窗 |
0x06 | 向上拉窗 |
0x07 | 向左拉窗 |
0x08 | 向右拉窗 |
0x0D | 逐字显示 |
0x15 | 连续左移 |
DS:为显示速度,建议取值为 0;
DT:停留时间,单位为秒,最大为 255 秒;
DR:为显示次数,0 为无限循环显示。
FINDEX:为字体索引。注意:每种主板支持字体不一样
FINDEX 取值含义 | |
取值 | 描述 |
0x00 | ASCII8 |
0x01 | ASCII10 |
0x02 | ASCII13 |
0x03 | 宋体 16 |
0x04 | 宋体 24 |
0x05 | 宋体 32 |
0x06 | 宋体 48 |
0x07 | 宋体 64 |
FLAGS:显示标志位,目前没有用到,作为保留值,固定取值为 0X00 TC:为文本颜色,32 位数据类型,存储结构为 RGBA,R 为红色分量,G 为绿色分量,B 为蓝色分量,A 为透明值目前保留为 0,没个颜色分量占用一个字节即 8 位。
TL:为文本长度。
TEXT:为文本内容,最大 32 字节。
VF:语音标志,固定取值为 0x0A。 VTL:语音文本长度。
VOICE:语音文本内容。
IF:图标标志,固定取值为 0x10;不显示图标时,IF、IN、IC 这 3 个参数可以去掉。 IN:图标索引
IN 取值含义 | |||||
取值 | 图标 | 分辨率 | 取值 | 图标 | 分辨率 |
0x00 | P 字 | 32×32 | 0x23 | 提示/警告 | 32×32 |
0x01 | 开闸 | 32×32 | 0x2A | P 字 | 16X16 |
0x02 | 关闸 | 32×32 | 0x2D | 右箭头 | 32X16 |
0x04 | 车场 | 32×32 | 0x2C | 左箭头 | 32X16 |
0x17 | 汽车 | 32×14 | 0x2E | 车场 | 64×64 |
0x18 | P 字 | 24×32 | 0x30 | 开闸 | 64×64 |
0x1E | 禁止 | 32×32 | 0x31 | 开闸 | 64×64 |
0x1F | 微笑 | 32×32 | 0x0A~0x13 | 用户自定义 | |
0x20 | 等候 | 32×32 | |||
0x21 | 上锁 | 32×32 | |||
0x22 | 缴费 | 32×32 | |||
IC:图标颜色
IC 取值含义 | |
取值 | 颜色 |
0x00 | 红 |
0x01 | 绿 |
0x02 | 蓝 |
0x03 | 黄 |
0x04 | 青 |
0x05 | 紫 |
0x06 | 白 |
回复格式: DA + VR + PN[2] + 0x6F+ DL + ACK + CRC[2]
回复参数描述: 包含 1 个字节的参数, DL 取值为 1, ACK 是显示屏返回的结果,取值为 0 表示成功,非 0 表示不成功。
使用例子:第一行到第四行分别显示 “第一行”、“第二行”“第三行”“欢迎光临”语音播报“欢
迎光临”。
主机发送: 00 64 FF FF 6F 5C
00 00 04 00 15 01 05 00 03 00 FF 00 00 00 06 B5 DA D2 BB D0 D0 0D 01
01 01 05 00 03 00 00 FF 00 00 06 B5 DA B6 FE D0 D0 0D 02 01 01 05 00 03 00 FF 00 00 00 06 B5 DA C8 FD D0 D0 0D 03 01 01 05 00 03 00 00 FF 00 00 08 BB B6 D3 AD B9 E2 C1 D9 00 0A 08 BB B6 D3 AD B9 E2 C1 D9 00 06 34
设备回复: 00 64 FF FF 6F 01 00 06 A9
0xE1(扫码支付页面)
该指令用来用来调用扫码支付页面。请求格式: DA + VR + PN[2] + 0xE1+ DL +
SF + EM + ETM + ST + NI + QRC[4] + RA1[4] + ML + TL + FLAGS
+ QRSIZE + RA2[15] + MSG[ML + 1] + TEXT[TL + 1] + CRC[2]
请求参数描述:
SF: 显示标志,保留赋值为 1。
EM: 进入模式,保留赋值为 0(无操作)。 ETM:退出模式,保留赋值为 0(无操作)。 ST:显示时间,单位为秒,0 为一直显示。 NI:下一个界面的索引号,保留赋值为 0.
QRC[4]:二维码颜色,存储结构为 R G B A 三基色,各占 8 位,R 表示红色分量,G 表示绿色分量,B 表示蓝色分量,A 目前没用使用。各取值范围为 0~255
RA1[4]:保留赋值 0x00。 ML:二维码信息长度。 TL:文本信息长度。
FLAGS:标志域,最高位为 1 时,表示显示文字,最低位为 1 时表示播报语音。 QRSIZE:二维码尺寸,取值为 0 时表示 49X49 的像素,取值为 1 时表示 32X32 的像素。 RA2[15]:保留的 15 个字节
MSG:二维码字符串,包含最后结束符。
TEXT:文本信息字符串,多行用 0x0d 分行,最后一行用 0x00 结束。回复格式: DA + VR + PN[2] + 0xE1+ DL + ACK + CRC[2]
回复参数描述: 包含 1 个字节的参数,DL 取值为 1,ACK 是显示屏返回的结果,取值为 0 表示成功,非 0 表示不成功。
使用例子:
主机发送: 00 64 FF FF E1 58 01 00 00 00 00 FF 00 00 00 00
00 00 00 14 22 80 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 68 74 74 70 3A 2F 2F 77
77 77 2E 62 61 69 64 75 2E 63 6F 6D 00 D4 C1
42 31 32 33 34 35 36 2C CD A3 B3 B5 31 D0 A1
CA B1 33 30 B7 D6 2C C7 EB BD BB B7 D1 31 30 D4 AA 00 20 4F
设备回复: 00 64 FF FF E1 01 00 66 82
0xEX(无牌车扫码页面)
该指令用来用来调用无牌车扫码页面。
请求格式: DA + VR + PN[2] + 0xE1+ DL + SF + EM + ETM + ST + NI + QRC[4] + RA1[4] + ML + TL + FLAGS
+ QRSIZE + RA2[15] + MSG[ML + 1] + TEXT[TL + 1] + CRC[2]
请求参数描述:
RA1[3]:保留赋值 0x00。
ST:显示时间,单位为秒,0 为一直显示。
RA2[5]:保留赋值 0x00。
QL:二维码长度。 TL:显示文本长度。 VL:语音文本长度。
QR:二维码字符串,包含最后结束符 00。
TEXT:文本信息字符串,多行用 0x0d 分行,最后一行用 0x00 结束。
VOICE:语音文本字符串,包含最后结束符 00。回复格式: DA + VR + PN[2] + 0xE1+ DL + ACK + CRC[2]
回复参数描述: 包含 1 个字节的参数,DL 取值为 1,ACK 是显示屏返回的结果,取值为 0 表示成功,非 0 表示不成功。
0xE5(扫码支付页面-绘图模式)—V2 指令集
该指令通过绘图方式调用扫码支付页面。注意本指令属于V2 指令集,DL 长度是 2 个字节。请求格式: DA + VR + PN[2] + 0xE5 + DL[2] + SF + EM + CI + ST + NI + VEN + TL + TEXT[TL] + BMPDATA [….] + CRC[2]
请求参数描述:
SF: 显示标志,1 为显示,0 为不显示。 EM: 进入模式,保留赋值为 0(无操作)。 CI: 二维码颜色索引
CI 取值含义 | |
取值 | 颜色 |
0x00 | 红 |
0x01 | 绿 |
0x02 | 蓝 |
0x03 | 黄 |
0x04 | 青 |
0x05 | 紫 |
0x06 | 白 |
ST:界面的显示时间,单位为秒,0 为一直显示。
NI:下一个界面的索引号,目前保留取值为 0.
VEN:语音播报开关,为 0 不播报语音,为 1 播报语音。
TL:显示文本长度。 TEXT:文本信息字符串。
BMPDATA:二维码单色位图数据,只支持version3(29X29)和 version7 (45X45)的二维码位图。 29X29 为 2 行屏显示,45X45 为 4 行屏显示。
回复格式: DA + VR + PN[2] + 0xE5+ DL[2] + ACK + CRC[2]
回复参数描述: 包含 1 个字节的参数,DL 取值为 1,ACK 是显示屏返回的结果,取值为 0 表示成功,非 0 表示不成功。
使用例子:调用扫码界面,2 行屏显示,二维码内容为“请输入支付地址”,显示和语音内容为“粤
B123456,停车 1 小时 30 分,请交费 10 元”。
主机发送: 00 C8 FF FF E5 DB 00 01 00 00 0A 00 81 22 D4 C1 42 31 32 33 34 35 36 2C CD A3 B3 B5 31 D0 A1
CA B1 33 30 B7 D6 2C C7 EB BD BB B7 D1 31 30 D4 AA 42 4D B2 00 00 00 00 00 00 00 3E 00 00 00 28 00 00 00 1D 00 00 00 E3 FF FF FF 01 00
01 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 FF FF FF 00
00 00 00 00 FE 45 33 F8 82 85 8A 08 BA 67 3A E8 BA 70 FA E8 BA 66 0A E8 82 DD 2A 08 FE AA AB F8 00 9D F8 00 0F 02 33 10 55 46 1C A8 8A 7D 0C 60 49 47 41 00 7B E4 96 70 BD A2 2D 58
2E 49 31 70 75 F1 25 F0 22 A9 0E F0 8C E7 11
00 17 B0 D3 A0 04 38 FC F0 CA 98 AF F8 00 DB
68 D0 FE 9C 9A A0 82 B6 28 F8 BA 85 EF C8 BA
68 22 E0 BA 4B D4 D8 82 08 57 18 FE 42 1D B0
8B B9
设备回复: 00 C8 FF FF E5 01 00 00 6F 10
0xE3(余位设置)
该指令设置余位。
请求格式: DA + VR + PN[2] + 0xE3 + DL + SF + EM + ETM + ST + NI +NUM + CRC[2]
请求参数描述:
SF: 显示标志,1 为显示,0 为不显示。 EM: 进入模式,保留赋值为 0(无操作)。 ETM:退出模式,保留赋值为 0(无操作)。
ST:界面的显示时间,单位为秒,0 为一直显示。
NI:下一个界面的索引号,目前保留取值为 0.
NUM:剩余车位数量,32 位数据类型,小端模式。回复格式: DA + VR + PN[2] + 0xE3+ DL + ACK + CRC[2]
回复参数描述: 包含 1 个字节的参数,DL 取值为 1,ACK 是显示屏返回的结果,取值为 0 表示成功,非 0 表示不成功。
使用例子:
主机发送: 00 64 FF FF E3 09 01 00 00 05 00 0A 00 00 00 A0 45 设备回复: 00 C8 FF FF E5 01 00 00 6F 10
0xD5(获取输入事件)
该指令用来获取模拟输入线路状态和遥控按键状态信息。请求格式: DA + VR + PN[2] + 0xD5 + DL + CRC[2]
请求参数描述: 该指令没有请求参数,DL 为 0.
回复格式: DA + VR + PN[2] + 0xD5+ DL + RID[4] + KE[2] + LE[2] + CRC[2]
回复参数描述:
RID:为遥控器ID,4 个字节。
KE:为遥控按键事件,最大支持 16 个键值,每 1 位表示一个按键的状态,1 为按键按下,0 为按键没有被按下。
LE:为线路输入事件,最大支持 16 路输入,每 1 位表示线路输入的电平状态,1 为高电平,
0 为低电平。使用例子:
主机发送: 00 64 FF FF D5 00 2F 67
设备回复: 00 64 FF FF D5 08 6D 06 0A 00 00 00 03 00 92 B5
0xD8(设置补光灯时间/亮度)
该指令用来设置补光灯打开的时间段。
请求格式: DA + VR + PN[2] + 0xD8 + DL + SH + SM + ES + EM+BNL + CRC[2]
请求参数描述: 该指令有 5 个字节参数,DL 为 5.
SH:为开始小时。 SM:为开始分钟。 EH:为结束小时。 EM:为结束分钟。
BNL:为补光灯亮度百分比,取值范围 0%~100%
回复格式: DA + VR + PN[2] + 0xD8+ DL + ACK + CRC[2]
回复参数描述: 包含 1 个字节的参数,DL 取值为 1,ACK 是显示屏返回的结果,取值为 0 表示成功,非 0 表示不成功。
使用例子:
主机发送: 00 64 FF FF D8 05 12 00 08 00 64 2E 0D 设备回复: 00 64 FF FF D8 01 00 B6 8F
0xE6(配置广告播放模式)
该指令用来配置广告播放模式。
请求格式: DA + VR + PN[2] + 0xE6 + DL +INDEX+PL+PV + CRC[2]
请求参数描述:包含 2 个字节的参数,DL 取值为 2。
INDEX:功能索引,0 为空闲强制播放视频,1 为全屏显示。
PL:参数长度。
PV:参数值,0 为关闭,1 为打开。回复格式: DA + VR + PN[2] + 0xE6+ DL + ACK + CRC[2]
回复参数描述: 包含 1 个字节的参数,DL 取值为 1,ACK 是显示屏返回的结果,取值为 0 表示成功,非 0 表示不成功。
使用例子 1:空闲强制播放视频广告。 主机发送: 00 64 FF FF E6 03 00 01 01 DF E9
使用例子 2:空闲全屏播放视频广告。 主机发送: 00 64 FF FF E6 03 01 01 01 8E 29
0xE7(显示无牌车扫码页面)
该指令用来显示无牌车扫码页面。
请求格式: DA + VR + PN[2] + 0xE7 + DL +RA1[3] + ST+RA2[5]+QL+TL+VL+QR+TEXT+VOICE + CRC[2]
请求参数描述:包含 2 个字节的参数,DL 取值为 2。
RA1[3]:保留 3 个字节,赋值 0x00。
ST:显示时间,单位为秒,0 为一直显示。
RA2[5]:保留 5 个字节,赋值 0x00。
QL:二维码长度。 TL:显示文本长度。 VL:语音文本长度。
QR:二维码字符串,包含最后结束符 00。
TEXT:文本信息字符串,多行用 0x0a 或者 0x0d 分行,最后一行用 0x00 结束。
VOICE:语音文本字符串,包含最后结束符 00。
回复格式: DA + VR + PN[2] + 0xE7+ DL + ACK + CRC[2]
回复参数描述: 包含 1 个字节的参数,DL 取值为 1,ACK 是显示屏返回的结果,取值为 0 表示成功,非 0 表示不成功。
使用例子:
主机发送: 00 64 FF FF E7 45 00 00 00 00 00 00 00 00 00 14 15 0D 68 74 74 70 3A 2F 2F 77 77 77 2E 62 61 69 64 75 2E 63 6F 6D 00 BB B6 D3 AD B9 E2 C1 D9 0A CE DE C5 C6 B3 B5 C7 EB C9 A8 C2 EB 00 CE DE C5 C6 B3 B5 2C C7 EB C9 A8 C2 EB 00 35 6A
显示时间
显示卡显示时间的方式采用转义字符替换的方案。用户在文字中插入相应的转义字符,显示卡收到后会对插入的位置用对应的时间替换成显示的字符。
支持的转义字符有:
`C 替换成常量值 20
`Y 表示年
`M 表示月
`D 表示日
`V 表示星期
`H 表示小时
`N 表示分钟
`S 表示秒钟
例子:”现在时间 20`Y 年`M 月`D 日 星期`V `H:`N:`S”
带有变量的语音匹配格式
播报金钱语音的匹配格式:
- 请交费 XX.YY 元
- 请缴费 XX.YY 元
- ¥XX.YY 元
- 收费XX.YY 元
- 扣款金额为XX.YY 元
播报有效期语音的匹配格式:
- 有效期至 YY-MM-DD
播报剩余天数语音的匹配格式:
- 剩余天数为DD 天
- 剩余DD 天
- 月租车剩余DD 天
播报停车时长语音的匹配格式:
- 停车时长DD 天 HH 小时MM 分钟
- 停车DD 天 HH 小时MM 分钟
播报剩余车位语音的匹配格式:
- 剩余车位 NN 位
- 剩余 NN 位
播报车牌号码语音的匹配格式:
- 车牌号为P
- P
播报入场时间语音的匹配格式:
- 入场时间为 HH-MM
附表 1
语音列表:
序号 | 词、词组、短语 |
1 | 0 |
2 | 1 |
3 | 2 |
4 | 3 |
5 | 4 |
6 | 5 |
7 | 6 |
8 | 7 |
9 | 8 |
10 | 9 |
11 | A |
12 | B |
13 | C |
14 | D |
15 | E |
16 | F |
17 | G |
18 | H |
19 | I |
20 | IP |
21 | J |
22 | K |
23 | L |
24 | M |
25 | N |
26 | O |
27 | P |
28 | Q |
29 | R |
30 | S |
31 | T |
32 | U |
33 | V |
34 | W |
35 | X |
36 | Y |
37 | Z |
38 | 澳 |
39 | 百 |
40 | 半 |
41 | 北 |
42 | 藏 |
43 | 车场已满 |
44 | 车牌 |
45 | 车牌号为 |
46 | 车未入场 |
47 | 车位已满 |
48 | 车已过期 |
49 | 车已在场 |
50 | 成 |
51 | 出入平安 |
52 | 储值车 |
53 | 川 |
54 | 此车到期时间剩余 |
55 | 此车可用日期 |
56 | 此车已过期 |
57 | 次 |
58 | 第 |
59 | 点 |
60 | 吨 |
61 | 鄂 |
62 | 分 |
63 | 分钟 |
64 | 负 |
65 | 该车 |
66 | 甘 |
67 | 赣 |
68 | 港 |
69 | 个 |
70 | 固定车 |
71 | 挂 |
72 | 广 |
73 | 贵 |
74 | 桂 |
75 | 过期车辆 |
76 | 过期用户 |
77 | 海 |
78 | 号 |
79 | 黑 |
80 | 沪 |
81 | 欢迎光临 |
82 | 吉 |
83 | 即将过期 |
84 | 己 |
85 | 济 |
86 | 冀 |
87 | 交费 |
88 | 角 |
89 | 津 |
90 | 晋 |
91 | 禁止通行 |
92 | 京 |
93 | 警 |
94 | 军 |
95 | 军警车 |
96 | 可用日期 |
97 | 空 |
98 | 兰 |
99 | 两 |
100 | 辽 |
101 | 临 |
102 | 临时车 |
103 | 临时车辆 |
104 | 鲁 |
105 | 蒙 |
106 | 免 |
107 | 秒 |
108 | 闽 |
109 | 南 |
110 | 内部车 |
111 | 年 |
112 | 您好 |
113 | 宁 |
114 | 农 |
115 | 千 |
116 | 青 |
117 | 请减速慢行 |
118 | 请交费 |
119 | 请入场停车 |
120 | 请通过 |
121 | 请通行 |
122 | 琼 |
123 | 人 |
124 | 日 |
125 | 入场 |
126 | 入场时间 |
127 | 入口 |
128 | 陕 |
129 | 深 |
130 | 沈 |
131 | 剩余 |
132 | 剩余车位 |
133 | 剩余金额 |
134 | 剩余天数为 |
135 | 十 |
136 | 时 |
137 | 时间 |
138 | 使 |
139 | 收费 |
140 | 苏 |
141 | 台 |
142 | 天 |
143 | 停车 |
144 | 停车时长 |
145 | 停车有效期 |
146 | 皖 |
147 | 万 |
148 | 为 |
149 | 未 |
150 | 未授权 |
151 | 位 |
152 | 无权出场 |
153 | 无权入场 |
154 | 湘 |
155 | 小时 |
156 | 谢谢 |
157 | 新 |
158 | 学 |
159 | 一路平安 |
160 | 一路顺风 |
161 | 已过期 |
162 | 已缴费 |
163 | 有效期至 |
164 | 渝 |
165 | 豫 |
166 | 元 |
167 | 月 |
168 | 月卡车 |
169 | 月租车 |
170 | 月租车剩余 |
171 | 月租车已到期 |
172 | 月租已到期 |
173 | 粤 |
174 | 云 |
175 | 浙 |
176 | 整 |
177 | 正 |
178 | 祝您一路平安 |
179 | 祝您一路顺风 |
180 | ETCP 为您服务 |
181 | MNull |
182 | SNull |
183 | 本车位已停车 |
184 | 波特率为 |
185 | 操作成功 |
186 | 超过离场限时 |
187 | 超时交费 |
188 | 车号已过期 |
189 | 车辆禁止出场 |
190 | 车辆匹配异常 |
191 | 车牌不符 |
192 | 车牌匹配异常 |
193 | 车牌识别失败 |
194 | 车位已使用 |
195 | 车位已用 |
196 | 车位已用完 |
197 | 车位有余 |
198 | 出场 |
199 | 出口 |
200 | 春节快乐 |
201 | 此车号无效 |
202 | 此车为黑名单车辆 |
203 | 此车未登记 |
204 | 此车位车辆已进场 |
205 | 此车位车辆已经入场 |
206 | 此车已超时 |
207 | 此卡未登记 |
208 | 此卡已出场 |
209 | 此卡已挂失 |
210 | 此卡已过期 |
211 | 此卡已锁定 |
212 | 此卡已在场 |
213 | 此卡已注销 |
214 | 道闸已开启 |
215 | 地址 |
216 | 地址为 |
217 | 端口 |
218 | 端口为 |
219 | 对不起 |
220 | 二维码 |
221 | 付款码 |
222 | 该时段不允许进入 |
223 | 管控车辆 |
224 | 贵宾车 |
225 | 国庆节快乐 |
226 | 过期出场 |
227 | 过期入场 |
228 | 黑名单卡 |
229 | 欢迎泊车 |
230 | 欢迎登录 |
231 | 欢迎回家 |
232 | 欢迎入场 |
233 | 欢迎使用车牌识别 |
234 | 欢迎下次光临 |
235 | 欢迎再次光临 |
236 | 会员车 |
237 | 缴费成功 |
238 | 进出延时 |
239 | 禁止出场 |
240 | 禁止出入 |
241 | 禁止取卡 |
242 | 禁止入场 |
243 | 拒绝进入 |
244 | 军警车免费通行 |
245 | 开闸请注意 |
246 | 扣款成功 |
247 | 扣款金额为 |
248 | 劳动节快乐 |
249 | 临时车位已满 |
250 | 临时车无权限 |
251 | 临时车无入场记录 |
252 | 免费车辆 |
253 | 免费放行 |
254 | 免费停车 |
255 | 免费通行 |
256 | 内部车场不允许进入 |
257 | 您有快递在管理处 |
258 | 欠费外出 |
259 | 请充值 |
260 | 请到管理处缴费 |
261 | 请等待确认 |
262 | 请等待确认放行 |
263 | 请等待人工放行 |
264 | 请及时缴纳管理费 |
265 | 请及时缴纳水电费 |
266 | 请尽快延期 |
267 | 请靠边停车检查 |
268 | 请入场 |
269 | 请扫码 |
270 | 请扫描屏上二维码 |
271 | 请稍等 |
272 | 请稍候 |
273 | 请使用 |
274 | 请停车检查 |
275 | 请先到中心岗亭缴费 |
276 | 请先登录操作员 |
277 | 请与管理员联系 |
278 | 请在 |
279 | 请重新补交停车费 |
280 | 请重新缴费 |
281 | 请重新进入识别区 |
282 | 请注意 |
283 | 区已满 |
284 | 人工开闸 |
285 | 人工落闸 |
286 | 扫码支付 |
287 | 圣诞节快乐 |
288 | 识别成功 |
289 | 收费中 |
290 | 手动放行 |
291 | 手动关闸 |
292 | 手动开闸 |
293 | 手机 |
294 | 刷卡成功 |
295 | 抬闸保持 |
296 | 外来车位已满 |
297 | 微信 |
298 | 未缴费请到缴费处缴费 |
299 | 无法人工入场 |
300 | 无法入场 |
301 | 无牌车 |
302 | 无入场记录 |
303 | 无剩余车位 |
304 | 无通行权限 |
305 | 系统过期 |
306 | 系统开始 |
307 | 系统退出 |
308 | 现在时间 |
309 | 新年快乐 |
310 | 信息已确认 |
311 | 星期 |
312 | 业主车辆 |
313 | 已超时 |
314 | 已电子支付 |
315 | 音量 |
316 | 银联卡 |
317 | 用户 |
318 | 余额 |
319 | 余额不足 |
320 | 余额不足请及时充值 |
321 | 余额为 |
322 | 元旦节快乐 |
323 | 月租车未授权 |
324 | 月租快到期 |
325 | 允许取卡 |
326 | 允许入场 |
327 | 暂停使用 |
328 | 闸杆下落 |
329 | 正在计费 |
330 | 正在人工处理 |
331 | 支付宝 |
332 | 直接放行 |
333 | 中秋节快乐 |
334 | 重复读卡 |
335 | 重复进入 |
336 | 重复进入不允许 |
337 | 重复外出 |
338 | 重复外出不允许 |
339 | 注意安全 |
340 | 祝您健康 |
341 | 祝您早日康复 |
本站收集的资源仅供内部学习研究软件设计思想和原理使用,学习研究后请自觉删除,请勿传播,因未及时删除所造成的任何后果责任自负。
如果用于其他用途,请购买正版支持作者,谢谢!若您认为「BLOG.SDLINKA.COM」发布的内容若侵犯到您的权益,请联系站长进行删除处理。
本站资源大多存储在云盘,如发现链接失效,请联系我们,我们会第一时间更新。




暂无评论内容