一款自己设计的主动式读卡器简单协议
0赞主动式读卡器通信协议
说明:
主动式的意思是:读卡器读取到电子标签以后,主动将数据上传给电脑或者其它控制设备。
电脑往读头方向的数据为主机命令
读头往电脑方向的命令为从机命令
所有的命令和数据都是以字节为单位
产品开机默认设置为:
读头地址为1
通信波特率为9600 数位8 停止位1 无校验 无流程控制
衰减器的参数为0(也就是无衰减 此刻读卡距离最远)
蜂鸣器默认为叫
参数配置时选择16进制发送,16进制接收。数据接收时为ASC格式。
系统工作原理:
电子标签定时主动发送,1S钟发送3次(用户可以指定次数)。读卡器将协议参数保存在单片机的FLASH中。每读取一次射频卡的数据,读卡器自动将数据发送给主机(数据格式见协议)并清除数据缓冲区中的数据。
协议的详细说明:
- 从机主动发送数据的格式
|
|
1字节 |
5字节 |
1字节 |
|
从机发送 |
开始标志 |
ASC |
结束标志 |
|
接收 |
S |
电子标签卡号 |
E |
发送数据解析如下:
S--------开始标志
E--------结束标志
中间是5个字节的ASC码。卡号的范围是1----32767.
比如:卡号为35236。数据传输格式为:
S35236E
- 设置读头地址命令是C8
|
|
1字节 |
1字节 |
1字节 |
1字节 |
1字节 |
|
主机 |
原读头地址 |
数据长度 |
命令 |
新读头地址 |
结束 |
|
从机 |
开始标志 |
开始标志 |
新读头地址 |
结束标志 |
结束标志 |
|
测试数据(主机向从机发送命令并接收从机的数据) |
|||||
|
发送 |
01 |
05 |
C8 |
01 |
03 |
|
接收 |
FF |
FF |
01 |
EE |
EE |
3. 设置通讯波特率 命令是C9
|
|
1字节 |
1字节 |
1字节 |
1字节 |
1字节 |
1字节 |
|
主机 |
读头地址 |
数据长度 |
命令 |
波特率代号 |
结束 |
|
|
从机 |
开始标志 |
开始标志 |
读头地址 |
波特率代号 |
结束标志 |
结束标志 |
|
测试数据(主机向从机发送命令并接收从机的数据) |
||||||
|
发送 |
01 |
05 |
C9 |
03 |
03 |
|
|
接收 |
FF |
FF |
01 |
03 |
EE |
EE |
注意:设置波特率,实际上是设置波特率对应的代号,对应关系如下:
2.4Kbps, 4.8Kbps, 9.6Kbps, 19.2Kbps, 38.4Kbps
01 02 03 04 05
4. 设置衰减器的值 命令是CC 1个字节---设置的数据是1个字节
|
|
1字节 |
1字节 |
1字节 |
1字节 |
1字节 |
1字节 |
|
主机 |
读头地址 |
数据长度 |
命令 |
衰减值 |
结束 |
|
|
从机 |
开始标志 |
开始标志 |
读头地址 |
衰减值 |
结束标志 |
结束标志 |
|
测试数据(主机向从机发送命令并接收从机的数据) |
||||||
|
发送 |
01 |
05 |
CC |
00 |
03 |
|
|
接收 |
FF |
FF |
01 |
00 |
EE |
EE |
注意: 衰减器的数据范围是从00-1f
值越大,读卡距离越近。调节距离的时候要拿一张卡来测试,持卡人从远处到近处走动,调试人员可以通过该命令给读写器发命令,调整希望读写器工作的距离。读卡器出厂衰减值默认为00,此时读卡距离最远,大约50米左右。
- 关闭蜂鸣器叫声 命令是CD
|
|
1字节 |
1字节 |
1字节 |
1字节 |
1字节 |
1字节 |
|
主机 |
读头地址 |
数据长度 |
命令 |
数据标志 |
结束 |
|
|
从机 |
开始标志 |
开始标志 |
读头地址 |
数据标志 |
结束标志 |
结束标志 |
|
测试数据(主机向从机发送命令并接收从机的数据) |
||||||
|
发送 |
01 |
05 |
CD |
01 |
03 |
|
|
接收 |
FF |
FF |
01 |
01 |
EE |
EE |
数据标志 01: 表示关闭蜂鸣器
00:表示打开蜂鸣器
