2024年11月1日发(作者:殷凡灵)
17WA系列产品说明书
一.功能
17WA系列读写卡器是一种使用WIFI与计算机进行通讯的读写卡器,计算机
可以通17WA读写MIFARE卡。应用层的协议是使用TCP或UDP进行通信。
读卡器检测到刷卡后可以主动向计算机发送卡号,计算机无需轮询检测,计
算机在接收到卡号后可以对卡片进行读、写、加减值等操作。
读卡器也可以不主动上传卡号而由计算机发送寻卡命令后再上传是否有卡的
返回命令。
注意:
1.如果读卡器在主动工作方式,当计算机发送寻卡命令后,读卡器就自动转
入被动上传卡号状态,不再主动上传卡号,读卡器重新上电或接收恢复主动命令
后,会自动恢复到刷卡主动上传卡号状态
2.读卡器出厂设置中的300毫秒自动关卡功能:刷卡后读卡器主动上传卡号
命令到计算机,计算机接收到上传的卡号命令后,需要在300毫秒内向读卡器发送
一条命令,也就是说,读卡器在主动读到卡,直到关卡前,如果有300毫秒没有接
收到计算机发来的命令,读卡器会主动关闭卡片,这时计算机再发命令来,也操作
不了卡片了,这点必须注意。
3计算机向读卡器发送寻卡命令后,读卡器就会工作在被动上传卡号的状
态,不主动读卡,不再主动上传卡号,且不会自动关卡,计算机发寻卡命令时寻到
卡后,在对这张卡读写操作完成后,计算机需要发送关卡命令关闭这张卡,才能对
其它卡的读写。
4.读卡器处在主动上传卡号的状态,要慎用把读卡器设置为300毫秒不自动
关卡,因为设置成这样时,每次上传卡号后,在计算机操作读写完成后,都需要计
算机发送一条关卡命令,如果刷卡上传的卡号后计算机读写完成没有发送关卡命
令,读卡器不会主动读取其它靠近的卡片,这样会导致后边的人无法刷卡。如果一
定要用主动上传卡号模式且300毫秒不主动关卡,建议计算机定时发送关卡命令,
防止卡号丢失的情况导致后边的人无法刷卡。
二.技术参数
● 工作电源: +5V DC
● 额定电流: <250mA
● 输出: LED发光管、蜂鸣器、汉字液晶屏
● 读卡器接口:WIFI接口
● 工作环境: 温度-20℃~55℃,湿度0~90% 。
● 工作频率: 13.56MHz
● 读卡类型: Mifare One 、Mifare Pro卡
● 感应距离: 5~7cm
三.配置读卡器
1.配置前需了解
使用前需准备的设备和读卡器模式说明:
1).在使用17WA之前需要准备的硬件包括17WA读卡器1台、1个无线路由
器和1台联网的计算机(通过配置模式2配置读卡器)或者17WA读卡器1台、1
台带有WIFI无线网卡的计算机(通过配置模式1配置读卡器)。
2).17WA有三种工作模式:正常模式 、配置模式1 、配置模式2
3).读卡器在配置模式1 和 配置模式2时默认参数如下:
读卡器IP:192.168.0.10
读卡器端口:8080
4).正常模式 、配置模式1 、 配置模式2的区别如下:
正常模式:配置好读卡器后正常使用时需要读卡器运行在正常模式,正常模
式时读卡器上电后蜂鸣器短响两声。
配置模式1:进入配置模式1后读卡器会像无线路由器一样自动生成一个名
字为“WM_WIFI_R“,密码为”12345“的无线网络。如果当前准备的设备为一个读
卡器和一个带WIFI无线网卡的计算机,就可以进入配置模式1来配置17WA,计算
机通过无线网卡加入到读卡器的无线网络中,然后通过配置软件配置读卡器。
配置模式2:进入配置模式2后读卡器就像一个带无线网卡的计算机,它会
自动去加入到SSID为“WM_WIFI”密码为“12345”的无线网络中。所以要用这种
模式设置读卡器需要有无线路由器,而且需要把无线路由器的SSID设置为
“WM_WIFI”密码设置为“12345”,读卡器加入无线网络成功后就可以通过与读卡
器联网的计算机运行配置软件配置读卡器了。
5).进入正常模式 、配置模式1 、配置模式2操作如下:
正常模式:不按配置按钮上电后将进入正常模式,正常模式上电后读卡器的
蜂鸣器快速响两声。
配置模式1: 按住读卡器的配置按钮不松手上电(上电后也不要松手),大
约3秒后听到蜂鸣器长响一声这时松开配置按钮进入配置模式1。
配置模式2:按住读卡器的配置按钮不松手上电(上电后也不要松手),大
约3秒后听到蜂鸣器长响一声再过大约3秒后会听到蜂鸣器再次长响一声,这时松
开配置按钮进入配置模式2。
6).17WA面板左上角有一个绿色的LED ,闪烁表示正在搜索网络,常暗表示
无连接,长亮表示网络已连接。
配置软件中的参数解释
7).网络类型中17WA的无线网卡模式和无线路由模式:无线网卡模式和无线
路由模式表明17WA读卡器像一个无线网卡还是像一个无线路由器那样工作。
如果读卡器设置好后正常工作时需要让读卡器加入到路由器的无线网络中就
选无线网卡模式;
如果读卡器设置好后正常工作时需要让读卡器组建一个无线网络计算机通过
无线网卡来加入到读卡器的无线网络中就选无线路由器模式,这两种模式主要是针
对配置17WA来说的。
8).网络名称(SSID)和网络密匙:
如果把17WA设置成无线网卡模式,SSID和网络密匙就是17WA读卡器将要加
入的无线路由器的无线网的名称和网络密匙;
如果17WA设置的是无线路由器模式,SSID和网络密匙就是读卡器生成的无
线网络的名称和网络密匙,连接的计算机需要用这个SSID加入到17WA路由器的网
络。
9).连接类型中的UDP连接、TCP服务器端、TCP客户端
UDP连接:正常模式工作时,计算机和读卡器通过UDP协议传输数据,因为
UDP协议是无连接的,所以不分客户端和服务器端。
TCP服务器端:正常模式工作时计算机和读卡器通过TCP协议传输数据,读卡
器作为服务器端,计算机和读卡器通讯前需要计算机先向读卡器发送连接请求,建
立连接后才可以正常发送命令。
TCP客户端:正常模式工作时计算机和读卡器通过TCP协议传输数据,读卡器
作为客户端,读卡器上电进入正常模式后会自动请求连接到设置的计算机IP地
址,建立连接后才可以正常发送命令
10).读卡器IP地址、子网掩码、默认网关、读卡器端口:依次为配置后读
卡器的IP、子网掩码、默认网关和读卡器接收命令的端口
11).计算机IP地址、计算机端口:依次为正常工作时要与读卡器通讯的计
算机IP和默认上传命令时发给计算机的哪个端口
测试程序中的名词解释
12).UDP连接、TCP客户端连接、TCP服务器连接:这个是说的计算机是作
为客户端还是服务器端,如果设置读卡器时设置的连接类型为UDP连接打开测试程
序后就直接点UDP连接;如果设置的是TCP服务器端就点TCP客户端连接,如果设
置的是TCP客户端就点TCP服务器连接。
2.配置读卡器
按着配置按钮上电进入合适的配置模式,修改配置参数,点连接提示连接成
功后点配置,提示配置成功,配置完成。
注:配置成功后读卡器会自动重启进入正常模式
配置模式2详细过程如下:
1).17WA读卡器1台、1个无线路由器和1台联网的计算机(通过配置模式2
配置读卡器)配置过程如下:
第一步:修改路由器设置
启动路由器的无线功能并把无线路由器的SSID设置为“WM_WIFI”密码设置
为“12345”(设置此密码时选择安全模式为WEP,密匙长度为64bits,密匙格式选
ASCII)。
第二步:进入配置模式2
按住读卡器的配置按钮不松手上电(上电后也不要松手),大约3秒后听到
蜂鸣器长响一声,再过大约3秒后会听到蜂鸣器再次长响一声,这时松开配置按钮
进入配置模式2。
第三步:打开配置软件,修改读卡器的配置参数
第四步:点连接按你提示连接成功后,点配置按钮,提示配置成功表示配置
读卡器成功了,随后会听到读卡器短响两声表示读卡器重启成功。重启后读卡器进
入正常模式按新配置的参数工作。
注意:配置时选择无线网卡模式并修改了网络名称和网络密匙,配置成功后
需要修改无线路由器的网络名称和网络密匙为您自己配置时的对应参数,不然读卡
器就无法加入到无线路由器组建的无线网络中
配置模式1详细过程:
2).17WA读卡器1台、1台带有无线网卡的计算机(通过配置模式1配置读卡
器)配置过程如下:
第一步:进入配置模式1
按住读卡器的配置按钮不松手上电(上电后也不要松手),大约3秒后听到
蜂鸣器长响一声这时松开配置按钮进入配置模式1。
第二步:连接读卡器
计算机开机,启用计算机的无线网卡,在无线网络中选择名字为
“WM_WIFI_R”的无线网络,连接无线网络,在网路密码中输入密码“12345”后连
接,连接成功后计算机就加入到了读卡器路由组成的无线网络中。
第三步:打开配置软件,修改读卡器的配置参数
如果正常使用时是一台带有无线网卡的计算机和一台17WA读卡器通讯没有无
线路由器只能选无线路由模式。如果正常使用时是多台读卡器和同一台计算机通讯
必须选无线网卡模式,在正常使用时要配备一个无线路由器。
第四步:点连接,按提示连接成功后,点配置按钮,提示配置成功表示配置
读卡器成功了,随后会听到读卡器短响两声表示读卡器重启成功。重启后读卡器进
入正常模式按新配置的参数工作。
注意:配置时选择无线路由模式并修改了网络名称和网络密匙,配置成功后
需断开计算机上的无线连接,重新选择读卡器新生成的无线网络按新密码重新加入
到无线网络中。
四.操作流程
计算机必须在15秒之内周期给读卡器发送连接命令,如果读卡器在15秒内
没接收到连接命令就会将WIFI部分复位重新连接。
读卡器有两中工作状态:主动上传卡号状态和被动上传卡号状态(通过上传
卡号的方式区分)
主动上传卡号状态:读卡器在检测到有卡靠近后,主动通过上传卡号命令把
卡号发送给计算机,计算机在接收到此命令后,如果需要读或写卡,必须300毫秒
内发送读卡命令、写卡命令或者加减值命令中的任意一个命令,如果读卡器在300
毫秒内没有接收到上述命令中的任何命令,读卡器将自动关闭卡片并重新查询是否
有卡(如果卡没有离开感应区同一张卡读卡器不会再次上传卡号)。如果300毫秒
内收到上述命令中的其中之一命令,读卡器将按照接收的命令进行处理,并且只要
两条命令之间不超过300毫秒,命令可以连续发送,连续对卡片进行读写操作。超
出300毫秒读卡器将会自动关闭卡片并重新查询是否有卡,这时再发送读卡命令或
者写卡命令读卡器都会返回失败的。
被动上传卡号模状态:读卡器在接收到寻卡命令后,检测有没有卡靠近读卡
器,并返回当前状态,不主动上传卡号,如果返回有卡,计算机可以发送读卡命令
或写卡命令来控制卡片的读写,读写完成后必须发送关卡命令才能处理靠近的另一
张卡。
注:
1.读卡器同一时间只能处理一张卡,寻卡成功后,在下一次发送寻卡命令,
前必须发送关卡命令,以方便处理其它卡片;
2.被动模式没有300毫秒的时间限制,只要没有关卡,且卡片还在感应区就
可以随时再读写这张卡。
3.关卡命令不需要等待读卡器返回,但是关卡命令的执行也是需要时间的,
所以发送关卡命令后不要马上发送寻卡命令,最好等十几毫秒再发送寻卡命令
五.通讯协议
命令格式
命令头
命令类型:一个字节,每条命令有唯一的命令类型(详见命令)
命令参数:长度和内容跟具体的命令有关(详见命令)
校验: 1个字节,从命令头的第一个字节到命令参数的最后一个字节的异或
结果
数据格式: 命令中的数据格式如无特殊说明一律为16进制
读卡器主动上传命令
1.上传卡号命令
命令格式
数据长度
命令类型:1字节的00
命令头
2
命令类型
1
卡号
4
设备ID
4
校验码
1
命令类型
命令参数
校验
命令头:两个字节的AA FF或BB FF(详见命令)
命令头:固定为2个字节的BB FF
卡号:4字节的卡号,顺序自左至右从高到低
设备ID:用户下载的4字节ID
校验码:见命令格式中的说明
命令总长度:12
命令说明:读卡器读到卡后会主动通过此命令把卡号发送给计算机
命令实例
例如某卡片的卡号为 B2 DC A3 58,ID为 FF FF FF FF刷卡时读卡器会主动
向计算机发送以下命令:
读卡器发送:BB FF 00 B2 DC A3 58 FF FF FF FF D1
2.上传按键命令
命令格式
数据长度
命令类型:1字节的01
按键值:1字节数据
设备ID:用户可以下载的4字节ID
校验码:见命令格式中的说明
命令头
2
命令类型
1
按键值
1
设备ID
4
校验码
1
命令头:固定为2个字节的BB FF
命令总长度:9
命令说明
上传按键值,蜂鸣器自动响一声
例如:
上传按键7,ID为 FF FF FF FF按7时上传:
读卡器发送:BB FF 01 07 FF FF FF FF 42
计算机发送命令
3.控制蜂鸣器和LED命令
命令格式 命令头 命令类型 发声次数 发声时间 无声时间 LED延时 校验码
数据长度 2
命令类型:1字节的B0
发声次数:蜂鸣器发声的次数
发声时间:蜂鸣器发声的时间,基本单位为10毫秒
无声时间:蜂鸣器无声的时间,基本单位为10毫秒
LED延时: LED点亮的时间 基本单位为10毫秒
校验码:见命令格式中的说明
1
1
1
1
1
1
命令头:固定为2个字节的AA FF
命令总长度:8
返回命令
成功返回
蜂鸣器忙
命令说明
此命令用于控制读卡器的蜂鸣器和LED
命令实例
例如要控制蜂鸣器发声两次,发声时间为100毫秒,无声时间为50毫秒,
LED点亮100毫秒则应该发送以下数据:
发送:AA FF B0 02 0A 05 0A E2
成功返回 : BB FF B0 FF FF FF FF FF 0B
或者
蜂鸣器忙返回 : BB FF B0 F0 FF FF FF FF 04
4.寻卡命令
命令格式
数据长度
命令头
2
命令类型
1
检卡方式
1
校验码
1
BB FF B0 FF 4字节设备ID 校验码
BB FF B0 F0 4字节设备ID 校验码
命令头:固定为2个字节的AA FF
命令类型:1字节的70
检卡方式:寻卡方式 26:卡在感应区只能寻到一次 52:只要卡片在感应
区总是可以寻到
校验码:见命令格式中的说明
命令总长度:5
返回命令
成功返回
失败返回
此命令用于查询感应区是否有卡,同时可以选择寻卡的方式
命令实例
例如用寻卡方式为只要卡片在感应区总是可以寻到,刷卡区的卡片卡号为B2
DC A3 58 ,ID为FF FF FF FF则应该发送以下数据
发送:AA FF 70 52 77
寻卡成功返回 : BB FF 70 FF B2 DC A3 58 FF FF FF FF 5E
或者
寻卡失败返回 : BB FF 70 F0 FF FF FF FF C4
BB FF 70 FF 4字节卡号 4字节设备ID 校验码
BB FF 70 F0 4字节设备ID 校验码
命令说明
5.读卡命令(命令中密码)
命令格式
数据长度
命令类型:1字节的10
块号:要读取的块号
密码类型:A密码或B密码,A密码赋值60 ,B密码赋值61
密码:要读取块号的密码
校验码:见命令格式中的说明
命令总长度:12
返回命令
成功返回
失败返回
密码验证失败返回
命令说明
此命令用于读取卡片中指定数据块的16字节数据
命令实例
BB FF 10 FF 16字节数据4字节设备ID 校验码
BB FF 10 F0 4字节设备ID 校验码
BB FF 10 F1 4字节设备ID 校验码
命令头
2
命令类型
1
块号 密码类型
1
1
密码 校验码
6
1
命令头:固定为2个字节的AA FF
例如卡片中第4块的数据为 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D
0E 0F,用A密码验证,密码为FF FF FF FF FF FF,ID为FF FF FF FF,则应该发
送以下数据
发送:AA FF 10 04 60 FF FF FF FF FF FF 21
读取正确后读卡器返回 : BB FF 10 FF 00 01 02 03 04 05 06 07 08 09 0A
0B 0C 0D 0E 0F FF FF FF FF AB
或者
读取失败后读卡器返回 : BB FF 10 F0 FF FF FF FF A4
或者
密码验证失败后读卡器返回 : BB FF 10 F1 FF FF FF FF A5
6.读卡命令(内部密码)
命令格式
数据长度
命令类型:1字节的11
块号:要读取的块号
密码类型:A密码或B密码 A密码时为60 B密码时为61
校验码:见命令格式中的说明
命令头
2
命令类型
1
块号
1
密码类型
1
校验码
1
命令头:固定为2个字节的AA FF
命令总长度:6
返回命令
成功返回
失败返回
密码验证失败返回
命令说明
此命令用于读取卡片中指定数据块的16个字节数据,密码使用读卡器内部的
密码,这样可以增强安全性
命令实例
例如卡片中第4块的数据为 00 11 22 33 44 55 66 77 88 99 AA BB CC DD
EE FF,用A密码验证,ID为FF FF FF FF,则应该发送以下数据
发送:AA FF 11 04 60 20
读取正确后读卡器返回 : BB FF 11 FF 00 01 02 03 04 05 06 07 08 09 0A
0B 0C 0D 0E 0F FF FF FF FF AA
或者
读取失败后读卡器返回 : BB FF 11 F0 FF FF FF FF A5
或者
密码验证失败后读卡器返回 : BB FF 11 F1 FF FF FF FF A4
BB FF 11 FF 16字节数据 4字节设备ID 校验码
BB FF 11 F0 4字节设备ID 校验码
BB FF 11 F1 4字节设备ID 校验码
7.写卡命令(命令中密码)
命令格式
数据长度
命令类型:1字节的20
块号:要写入的块号
密码类型:A密码或B密码 A密码时为60 B密码时为61
密码:要写入块号的密码
数据:要写入的16字节的数据
校验码:见命令格式中的说明
命令总长度:28
返回命令
成功返回
失败返回
密码验证失败返回
命令说明
此命令用于将16个字节的数据写入卡片中的指定数据块
BB FF 20 FF 4字节设备ID 校验码
BB FF 20 F0 4字节设备ID 校验码
BB FF 20 F1 4字节设备ID 校验码
命令头
2
命令类型
1
块号 密码类型
1
1
密码 数据 校验码
6
16
1
命令头:固定为2个字节的AA FF
命令实例
例如要往卡片中第4块写入数据为 00 01 02 03 04 05 06 07 08 09 0A 0B
0C 0D 0E 0F,用A密码验证,密码为FF FF FF FF FF FF,ID为FF FF FF FF则应
该发送以下数据
发送:AA FF 20 04 60 FF FF FF FF FF FF 00 01 02 03 04 05 06 07 08
09 0A 0B 0C 0D 0E 0F 11
写入正确后读卡器返回 : BB FF 20 FF FF FF FF FF 9B
或者
写入失败后读卡器返回 : BB FF 20 F0 FF FF FF FF 94
或者
密码验证失败后读卡器返回 : BB FF 20 F1 FF FF FF FF 95
8.写卡命令(内部密码)
命令格式
数据长度
命令类型:1字节的21
块号:要写入的块号
密码类型:A密码或B密码 A密码时为60 B密码时为61
命令头
2
命令类型
1
块号 密码类型
1
1
数据 校验码
16
1
命令头:固定为2个字节的AA FF
数据:要写入的16字节的数据
校验码:见命令格式中的说明
命令总长度:22
返回命令
成功返回
失败返回
密码验证失败返回
命令说明
此命令用于将16个字节的数据写入卡片中的指定数据块,密码使用读卡器内
部的密码 这样可以增强安全性
命令实例
例如要往卡片中第4块写入数据为 00 01 02 03 04 05 06 07 08 09 0A 0B
0C 0D 0E 0F,用A密码验证,ID为FF FF FF FF则应该发送以下数据
发送:AA FF 21 04 60 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E
0F 10
写入正确后读卡器返回 : BB FF 21 FF FF FF FF FF 9A
或者
写入失败后读卡器返回 : BB FF 21 F0 FF FF FF FF 95
BB FF 21 FF 4字节设备ID校验码
BB FF 21 F0 4字节设备ID 校验码
BB FF 21 F1 4字节设备ID 校验码
或者
密码验证失败后读卡器返回 : BB FF 21 F1 FF FF FF FF 94
9.加减值命令(命令中密码)
命令格式 命令头 命令类型 操作类型 块号 密码类型 密码 数据 校验码
数据长度 2
命令类型:1字节的30
操作类型:加值或减值 C0为减值 C1为加值
块号:要加减的块号
密码类型:A密码或B密码 A密码时为60 B密码时为61
密码:要加减块号的密码
加减值:4字节的有符号数值 ,顺序自左至右从高到低
校验码:见命令格式中的说明
命令总长度:17
返回命令
成功返回
失败返回
密码验证失败返回
BB FF 30 FF 4字节余额 4字节设备ID 校验码
BB FF 30 F0 4字节设备ID 校验码
BB FF 30 F1 4字节设备ID 校验码
1
1
1
1
6
4
1
命令头:固定为2个字节的AA FF
读取余额失败返回
命令说明
BB FF 30 F2 4字节设备ID 校验码
此命令用于对指定数据块的数值进行加值或减值操作,此操作由卡片内部自
动完成。卡片中的数值
有固定的格式,格式见下图
Value
表示一个带符号4 字节值,这个值的最低一个字节保存在最低的地址中,取反
的字节以标准
2 的格式保存。为了保证数据的正确性和保密性值被保存了3 次,两次不取
反保存,一次取反
保存
Adr
表示一个1 字节地址当执行强大的备份管理时用于保存存储段的地址,地址
字节保存了4次取反和不取反各保存两次在执行增减恢复传送操作时地址保持不变
它只能通过写卡命令改变
例如:卡片中第6块存储十进制的16909060也就是十六进制的01020304,第6
块中的数据应该为” 04 03 02 01 FB FC FD FE 04 03 02 01 04 FB 04 FB
”
命令实例
例如卡片中第4块放入数据为01020304,用A密码验证,密码为FF FF FF FF
FF FF 要减值00000001,ID为FF FF FF FF则应该发送以下数据
成功:发送:AA FF 30 C0 04 60 FF FF FF FF FF FF 00 00 00 01
操作正确后读卡器返回 : BB FF 30 FF 01 02 03 03 FF FF FF FF 88
或者
操作失败后读卡器返回 : BB FF 30 F0 FF FF FF FF 84
或者
密码验证失败后读卡器返回 : BB FF 30 F1 FF FF FF FF 85
或者
读取余额失败后读卡器返回 :BB FF 30 F2 FF FF FF FF 86
10.加减值命令(内部密码)
命令格式
数据长度
命令类型:1字节的31
命令头 命令类型
2
1
操作类型
1
块号 密码类型
1
1
数据 校验码
4
1
命令头:固定为2个字节的AA FF
操作类型:加值或减值 C0为减值 C1为加值
块号:要加减的块号
密码类型:A密码或B密码 A密码时为60 B密码时为61
加减值:4字节的有符号数值 ,顺序自左至右从高到低
校验码:见命令格式中的说明
命令总长度:11
返回命令
成功返回
失败返回
密码验证失败返回
读取余额失败返回
命令说明
此命令用于对指定数据块的数值进行加值或减值操作,此操作由卡片内部自
动完成。密码使用读卡器内部的密码,这样可以增强安全性卡片中的数值有固定的
格式,格式见下图
BB FF 31 FF 4字节余额 4字节设备ID 校验码
BB FF 31 F0 4字节设备ID 校验码
BB FF 31 F1 4字节设备ID 校验码
BB FF 31 F2 4字节设备ID 校验码
Value
表示一个带符号4 字节值,这个值的最低一个字节保存在最低的地址中,取反
的字节以标准
2 的格式保存。为了保证数据的正确性和保密性值被保存了3 次,两次不取
反保存,一次取反保存
Adr
表示一个1 字节地址当执行强大的备份管理时用于保存存储段的地址,地址
字节保存了4次取反和不取反各保存两次在执行增减恢复传送操作时地址保持不变
它只能通过写卡命令改变
例如:卡片中第6块存储十进制的16909060也就是十六进制的01020304,第6
块中的数据应该为” 04 03 02 01 FB FC FD FE 04 03 02 01 04 FB 04 FB
命令实例
例如卡片中第4块放入数据为01020304,用A密码验证,密码为FF FF FF FF
FF FF 要减值00000001,ID为FF FF FF FF则应该发送以下数据
发送:AA FF 31 C0 04 60 00 00 00 01
操作正确后读卡器返回 : BB FF 31 FF 01 02 03 03 FF FF FF FF 89
操作失败后读卡器返回 : BB FF 31 F0 FF FF FF FF 85
密码验证失败后读卡器返回 : BB FF 31 F1 FF FF FF FF 84
读取余额失败后读卡器返回 :BB FF 31 F2 FF FF FF FF 87
11.关卡命令
命令格式
数据长度
命令类型:1字节的40
校验码:见命令格式中的说明
命令总长度:4
命令说明
此命令用于告诉读卡器立即关卡,如果读卡器在主动上传卡号状态下时读卡
器接收此命令后立即关卡不用等待300毫秒后再自动关闭,被动状态下时读卡器接
收此命令后准备好检测下一张卡此后再发送读写卡命令都将返回失败。此条命令无
返回,连续寻卡时发送此命令后需要等待十几毫秒再发送寻卡命令。
命令实例
发送:AA FF 40 15
12.下载密码到缓冲区命令
命令格式
数据长度
命令头
2
命令类型
1
块号 密码类型
1
1
密码 校验码
6
1
命令头
2
命令类型
1
校验码
1
命令头:固定为2个字节的AA FF
命令头:固定为2个字节的AA FF
命令类型:1字节的50
块号:要读取的块号
密码类型:A密码或B密码 A密码时为60 B密码时为61
密码:要下载块号的密码
校验码:见命令格式中的说明
命令总长度:12
返回命令
成功返回
命令说明
此命令用于将密码下载到缓冲区,密码在没有执行将缓冲区密码写入读卡器
命令前不会写入到读卡器,并且此密码断电后将丢失
命令实例
例如要下载第1区的A密码为 00 01 02 03 04 05 06,ID为FF FF FF FF则
应该发送以下数据
发送:AA FF 50 01 60 01 02 03 04 05 06 63
下载正确后读卡器返回 : BB FF 50 FF FF FF FF FF EB
BB FF 50 FF 4字节设备ID 校验码
13.将缓冲区密码写入到读卡器命令
命令格式
数据长度
命令类型:1字节的60
校验码:见命令格式中的说明
命令总长度:4
返回命令
成功返回
命令说明
此命令用于将缓冲区中的密码下载到读卡器,执行完此命令后密码就真正的
写入到读卡器 并且写入到读卡器的密码就可以用做内部密码使用,使用内部密
码的命令使用的密码均为此保存的密码,此密码可以覆盖写入不可以读出并且断电
后也不会丢失,这样就可以增强安全性。
命令实例:
发送: AA FF 60 35
成功返回: BB FF 60 FF FF FF FF FF DB
BB FF 60 FF 4字节设备ID 校验码
命令头
2
命令类型
1
校验码
1
命令头:固定为2个字节的AA FF
14.液晶屏显示命令
命令格式
数据长度
命令类型:1字节的C0
命令类型:32字节要显示文字的ANSI码,只支持简体中文不支持繁体中
文,不需要显示的地方赋值空格的内码也就是OX20
校验码:见命令格式中的说明
命令总长度:36
返回命令
成功返回
命令说明
此命令用于控制液晶屏的显示 ,显示的内容完全由用户控制。
注意:如果要显示的文字中有单字节的字符,在发送是就需要判断一下连续
的单字节字符的个数如果个数是奇数个,需要在后边加一个空格,以保证双字节字
符是在奇数位开始显示不然后边的字符显示就会错误。下边实例中的” 17W 系列
读卡器液晶显示测试”就因为“17W”是奇数个所以在后边加个一个空格来显
示,。
命令实例:
BB FF C0 FF 4字节设备ID 校验码
命令头
2
命令类型
1
显示内容
32
校验码
1
命令头:固定为2个字节的AA FF
控制液晶屏显示“17W 系列读卡器液晶显示测试”读卡器ID 为FF FF FF FF
发送: AA FF C0 31 37 57 20 CF B5 C1 D0 B6 C1 BF A8 C6 F7 D2 BA
BE A7 CF D4 CA BE B2 E2 CA D4 20 20 20 20 20 20 8E
成功返回: BB FF C0 FF FF FF FF FF 7B
15.设置液晶屏开机显示命令
命令格式
数据长度
命令类型:1字节的E2
显示内容:32字节要显示文字的ANSI码,只支持简体中文不支持繁体中
文,不需要显示的地方赋值空格的内码也就是OX20
校验码:见命令格式中的说明
命令总长度:36
返回命令
成功返回
命令说明
此命令用于控制液晶屏开机显示的文字,此设置断电保存
BB FF E2 FF 4字节设备ID 校验码
命令头
2
命令类型
1
显示内容
32
校验码
1
命令头:固定为2个字节的AA FF
注意:如果要显示的文字中有单字节的字符,在发送是就需要判断一下连续
的单字节字符的个数如果个数是奇数个,需要在后边加一个空格,以保证双字节字
符是在奇数位开始显示不然后边的字符显示就会错误。下边实例中的” 17W 系列
读卡器液晶显示测试”就因为“17W”是奇数个所以在后边加个一个空格来显
示,。
命令实例:
控制液晶屏开机“17W 系列读卡器液晶显示测试”读卡器ID 为FF FF FF FF
发送: AA FF E2 31 37 57 20 CF B5 C1 D0 B6 C1 BF A8 C6 F7 D2 BA
BE A7 CF D4 CA BE B2 E2 CA D4 20 20 20 20 20 20 AC
成功返回: BB FF E2 FF FF FF FF FF 59
16.设置设备ID命令
命令格式
数据长度
命令类型:1字节的E3
设备ID:用于可以下载的4字节ID
校验码:见命令格式中的说明
命令总长度:8
返回命令
命令头
2
命令类型
1
设备ID
4
校验码
1
命令头:固定为2个字节的AA FF
成功返回
命令说明
此命令用于设置读卡器的ID,,个数据会存在于读卡器返回的命令中,如果
读卡器是在局域网可以通过IP来区分读卡器,如果读卡器在广域网就可以通过此
ID来区分读卡器
命令实例:
设置读卡器ID为A1 A2 A3 A4
BB FF E3 FF 4字节设备ID 校验码
2024年11月1日发(作者:殷凡灵)
17WA系列产品说明书
一.功能
17WA系列读写卡器是一种使用WIFI与计算机进行通讯的读写卡器,计算机
可以通17WA读写MIFARE卡。应用层的协议是使用TCP或UDP进行通信。
读卡器检测到刷卡后可以主动向计算机发送卡号,计算机无需轮询检测,计
算机在接收到卡号后可以对卡片进行读、写、加减值等操作。
读卡器也可以不主动上传卡号而由计算机发送寻卡命令后再上传是否有卡的
返回命令。
注意:
1.如果读卡器在主动工作方式,当计算机发送寻卡命令后,读卡器就自动转
入被动上传卡号状态,不再主动上传卡号,读卡器重新上电或接收恢复主动命令
后,会自动恢复到刷卡主动上传卡号状态
2.读卡器出厂设置中的300毫秒自动关卡功能:刷卡后读卡器主动上传卡号
命令到计算机,计算机接收到上传的卡号命令后,需要在300毫秒内向读卡器发送
一条命令,也就是说,读卡器在主动读到卡,直到关卡前,如果有300毫秒没有接
收到计算机发来的命令,读卡器会主动关闭卡片,这时计算机再发命令来,也操作
不了卡片了,这点必须注意。
3计算机向读卡器发送寻卡命令后,读卡器就会工作在被动上传卡号的状
态,不主动读卡,不再主动上传卡号,且不会自动关卡,计算机发寻卡命令时寻到
卡后,在对这张卡读写操作完成后,计算机需要发送关卡命令关闭这张卡,才能对
其它卡的读写。
4.读卡器处在主动上传卡号的状态,要慎用把读卡器设置为300毫秒不自动
关卡,因为设置成这样时,每次上传卡号后,在计算机操作读写完成后,都需要计
算机发送一条关卡命令,如果刷卡上传的卡号后计算机读写完成没有发送关卡命
令,读卡器不会主动读取其它靠近的卡片,这样会导致后边的人无法刷卡。如果一
定要用主动上传卡号模式且300毫秒不主动关卡,建议计算机定时发送关卡命令,
防止卡号丢失的情况导致后边的人无法刷卡。
二.技术参数
● 工作电源: +5V DC
● 额定电流: <250mA
● 输出: LED发光管、蜂鸣器、汉字液晶屏
● 读卡器接口:WIFI接口
● 工作环境: 温度-20℃~55℃,湿度0~90% 。
● 工作频率: 13.56MHz
● 读卡类型: Mifare One 、Mifare Pro卡
● 感应距离: 5~7cm
三.配置读卡器
1.配置前需了解
使用前需准备的设备和读卡器模式说明:
1).在使用17WA之前需要准备的硬件包括17WA读卡器1台、1个无线路由
器和1台联网的计算机(通过配置模式2配置读卡器)或者17WA读卡器1台、1
台带有WIFI无线网卡的计算机(通过配置模式1配置读卡器)。
2).17WA有三种工作模式:正常模式 、配置模式1 、配置模式2
3).读卡器在配置模式1 和 配置模式2时默认参数如下:
读卡器IP:192.168.0.10
读卡器端口:8080
4).正常模式 、配置模式1 、 配置模式2的区别如下:
正常模式:配置好读卡器后正常使用时需要读卡器运行在正常模式,正常模
式时读卡器上电后蜂鸣器短响两声。
配置模式1:进入配置模式1后读卡器会像无线路由器一样自动生成一个名
字为“WM_WIFI_R“,密码为”12345“的无线网络。如果当前准备的设备为一个读
卡器和一个带WIFI无线网卡的计算机,就可以进入配置模式1来配置17WA,计算
机通过无线网卡加入到读卡器的无线网络中,然后通过配置软件配置读卡器。
配置模式2:进入配置模式2后读卡器就像一个带无线网卡的计算机,它会
自动去加入到SSID为“WM_WIFI”密码为“12345”的无线网络中。所以要用这种
模式设置读卡器需要有无线路由器,而且需要把无线路由器的SSID设置为
“WM_WIFI”密码设置为“12345”,读卡器加入无线网络成功后就可以通过与读卡
器联网的计算机运行配置软件配置读卡器了。
5).进入正常模式 、配置模式1 、配置模式2操作如下:
正常模式:不按配置按钮上电后将进入正常模式,正常模式上电后读卡器的
蜂鸣器快速响两声。
配置模式1: 按住读卡器的配置按钮不松手上电(上电后也不要松手),大
约3秒后听到蜂鸣器长响一声这时松开配置按钮进入配置模式1。
配置模式2:按住读卡器的配置按钮不松手上电(上电后也不要松手),大
约3秒后听到蜂鸣器长响一声再过大约3秒后会听到蜂鸣器再次长响一声,这时松
开配置按钮进入配置模式2。
6).17WA面板左上角有一个绿色的LED ,闪烁表示正在搜索网络,常暗表示
无连接,长亮表示网络已连接。
配置软件中的参数解释
7).网络类型中17WA的无线网卡模式和无线路由模式:无线网卡模式和无线
路由模式表明17WA读卡器像一个无线网卡还是像一个无线路由器那样工作。
如果读卡器设置好后正常工作时需要让读卡器加入到路由器的无线网络中就
选无线网卡模式;
如果读卡器设置好后正常工作时需要让读卡器组建一个无线网络计算机通过
无线网卡来加入到读卡器的无线网络中就选无线路由器模式,这两种模式主要是针
对配置17WA来说的。
8).网络名称(SSID)和网络密匙:
如果把17WA设置成无线网卡模式,SSID和网络密匙就是17WA读卡器将要加
入的无线路由器的无线网的名称和网络密匙;
如果17WA设置的是无线路由器模式,SSID和网络密匙就是读卡器生成的无
线网络的名称和网络密匙,连接的计算机需要用这个SSID加入到17WA路由器的网
络。
9).连接类型中的UDP连接、TCP服务器端、TCP客户端
UDP连接:正常模式工作时,计算机和读卡器通过UDP协议传输数据,因为
UDP协议是无连接的,所以不分客户端和服务器端。
TCP服务器端:正常模式工作时计算机和读卡器通过TCP协议传输数据,读卡
器作为服务器端,计算机和读卡器通讯前需要计算机先向读卡器发送连接请求,建
立连接后才可以正常发送命令。
TCP客户端:正常模式工作时计算机和读卡器通过TCP协议传输数据,读卡器
作为客户端,读卡器上电进入正常模式后会自动请求连接到设置的计算机IP地
址,建立连接后才可以正常发送命令
10).读卡器IP地址、子网掩码、默认网关、读卡器端口:依次为配置后读
卡器的IP、子网掩码、默认网关和读卡器接收命令的端口
11).计算机IP地址、计算机端口:依次为正常工作时要与读卡器通讯的计
算机IP和默认上传命令时发给计算机的哪个端口
测试程序中的名词解释
12).UDP连接、TCP客户端连接、TCP服务器连接:这个是说的计算机是作
为客户端还是服务器端,如果设置读卡器时设置的连接类型为UDP连接打开测试程
序后就直接点UDP连接;如果设置的是TCP服务器端就点TCP客户端连接,如果设
置的是TCP客户端就点TCP服务器连接。
2.配置读卡器
按着配置按钮上电进入合适的配置模式,修改配置参数,点连接提示连接成
功后点配置,提示配置成功,配置完成。
注:配置成功后读卡器会自动重启进入正常模式
配置模式2详细过程如下:
1).17WA读卡器1台、1个无线路由器和1台联网的计算机(通过配置模式2
配置读卡器)配置过程如下:
第一步:修改路由器设置
启动路由器的无线功能并把无线路由器的SSID设置为“WM_WIFI”密码设置
为“12345”(设置此密码时选择安全模式为WEP,密匙长度为64bits,密匙格式选
ASCII)。
第二步:进入配置模式2
按住读卡器的配置按钮不松手上电(上电后也不要松手),大约3秒后听到
蜂鸣器长响一声,再过大约3秒后会听到蜂鸣器再次长响一声,这时松开配置按钮
进入配置模式2。
第三步:打开配置软件,修改读卡器的配置参数
第四步:点连接按你提示连接成功后,点配置按钮,提示配置成功表示配置
读卡器成功了,随后会听到读卡器短响两声表示读卡器重启成功。重启后读卡器进
入正常模式按新配置的参数工作。
注意:配置时选择无线网卡模式并修改了网络名称和网络密匙,配置成功后
需要修改无线路由器的网络名称和网络密匙为您自己配置时的对应参数,不然读卡
器就无法加入到无线路由器组建的无线网络中
配置模式1详细过程:
2).17WA读卡器1台、1台带有无线网卡的计算机(通过配置模式1配置读卡
器)配置过程如下:
第一步:进入配置模式1
按住读卡器的配置按钮不松手上电(上电后也不要松手),大约3秒后听到
蜂鸣器长响一声这时松开配置按钮进入配置模式1。
第二步:连接读卡器
计算机开机,启用计算机的无线网卡,在无线网络中选择名字为
“WM_WIFI_R”的无线网络,连接无线网络,在网路密码中输入密码“12345”后连
接,连接成功后计算机就加入到了读卡器路由组成的无线网络中。
第三步:打开配置软件,修改读卡器的配置参数
如果正常使用时是一台带有无线网卡的计算机和一台17WA读卡器通讯没有无
线路由器只能选无线路由模式。如果正常使用时是多台读卡器和同一台计算机通讯
必须选无线网卡模式,在正常使用时要配备一个无线路由器。
第四步:点连接,按提示连接成功后,点配置按钮,提示配置成功表示配置
读卡器成功了,随后会听到读卡器短响两声表示读卡器重启成功。重启后读卡器进
入正常模式按新配置的参数工作。
注意:配置时选择无线路由模式并修改了网络名称和网络密匙,配置成功后
需断开计算机上的无线连接,重新选择读卡器新生成的无线网络按新密码重新加入
到无线网络中。
四.操作流程
计算机必须在15秒之内周期给读卡器发送连接命令,如果读卡器在15秒内
没接收到连接命令就会将WIFI部分复位重新连接。
读卡器有两中工作状态:主动上传卡号状态和被动上传卡号状态(通过上传
卡号的方式区分)
主动上传卡号状态:读卡器在检测到有卡靠近后,主动通过上传卡号命令把
卡号发送给计算机,计算机在接收到此命令后,如果需要读或写卡,必须300毫秒
内发送读卡命令、写卡命令或者加减值命令中的任意一个命令,如果读卡器在300
毫秒内没有接收到上述命令中的任何命令,读卡器将自动关闭卡片并重新查询是否
有卡(如果卡没有离开感应区同一张卡读卡器不会再次上传卡号)。如果300毫秒
内收到上述命令中的其中之一命令,读卡器将按照接收的命令进行处理,并且只要
两条命令之间不超过300毫秒,命令可以连续发送,连续对卡片进行读写操作。超
出300毫秒读卡器将会自动关闭卡片并重新查询是否有卡,这时再发送读卡命令或
者写卡命令读卡器都会返回失败的。
被动上传卡号模状态:读卡器在接收到寻卡命令后,检测有没有卡靠近读卡
器,并返回当前状态,不主动上传卡号,如果返回有卡,计算机可以发送读卡命令
或写卡命令来控制卡片的读写,读写完成后必须发送关卡命令才能处理靠近的另一
张卡。
注:
1.读卡器同一时间只能处理一张卡,寻卡成功后,在下一次发送寻卡命令,
前必须发送关卡命令,以方便处理其它卡片;
2.被动模式没有300毫秒的时间限制,只要没有关卡,且卡片还在感应区就
可以随时再读写这张卡。
3.关卡命令不需要等待读卡器返回,但是关卡命令的执行也是需要时间的,
所以发送关卡命令后不要马上发送寻卡命令,最好等十几毫秒再发送寻卡命令
五.通讯协议
命令格式
命令头
命令类型:一个字节,每条命令有唯一的命令类型(详见命令)
命令参数:长度和内容跟具体的命令有关(详见命令)
校验: 1个字节,从命令头的第一个字节到命令参数的最后一个字节的异或
结果
数据格式: 命令中的数据格式如无特殊说明一律为16进制
读卡器主动上传命令
1.上传卡号命令
命令格式
数据长度
命令类型:1字节的00
命令头
2
命令类型
1
卡号
4
设备ID
4
校验码
1
命令类型
命令参数
校验
命令头:两个字节的AA FF或BB FF(详见命令)
命令头:固定为2个字节的BB FF
卡号:4字节的卡号,顺序自左至右从高到低
设备ID:用户下载的4字节ID
校验码:见命令格式中的说明
命令总长度:12
命令说明:读卡器读到卡后会主动通过此命令把卡号发送给计算机
命令实例
例如某卡片的卡号为 B2 DC A3 58,ID为 FF FF FF FF刷卡时读卡器会主动
向计算机发送以下命令:
读卡器发送:BB FF 00 B2 DC A3 58 FF FF FF FF D1
2.上传按键命令
命令格式
数据长度
命令类型:1字节的01
按键值:1字节数据
设备ID:用户可以下载的4字节ID
校验码:见命令格式中的说明
命令头
2
命令类型
1
按键值
1
设备ID
4
校验码
1
命令头:固定为2个字节的BB FF
命令总长度:9
命令说明
上传按键值,蜂鸣器自动响一声
例如:
上传按键7,ID为 FF FF FF FF按7时上传:
读卡器发送:BB FF 01 07 FF FF FF FF 42
计算机发送命令
3.控制蜂鸣器和LED命令
命令格式 命令头 命令类型 发声次数 发声时间 无声时间 LED延时 校验码
数据长度 2
命令类型:1字节的B0
发声次数:蜂鸣器发声的次数
发声时间:蜂鸣器发声的时间,基本单位为10毫秒
无声时间:蜂鸣器无声的时间,基本单位为10毫秒
LED延时: LED点亮的时间 基本单位为10毫秒
校验码:见命令格式中的说明
1
1
1
1
1
1
命令头:固定为2个字节的AA FF
命令总长度:8
返回命令
成功返回
蜂鸣器忙
命令说明
此命令用于控制读卡器的蜂鸣器和LED
命令实例
例如要控制蜂鸣器发声两次,发声时间为100毫秒,无声时间为50毫秒,
LED点亮100毫秒则应该发送以下数据:
发送:AA FF B0 02 0A 05 0A E2
成功返回 : BB FF B0 FF FF FF FF FF 0B
或者
蜂鸣器忙返回 : BB FF B0 F0 FF FF FF FF 04
4.寻卡命令
命令格式
数据长度
命令头
2
命令类型
1
检卡方式
1
校验码
1
BB FF B0 FF 4字节设备ID 校验码
BB FF B0 F0 4字节设备ID 校验码
命令头:固定为2个字节的AA FF
命令类型:1字节的70
检卡方式:寻卡方式 26:卡在感应区只能寻到一次 52:只要卡片在感应
区总是可以寻到
校验码:见命令格式中的说明
命令总长度:5
返回命令
成功返回
失败返回
此命令用于查询感应区是否有卡,同时可以选择寻卡的方式
命令实例
例如用寻卡方式为只要卡片在感应区总是可以寻到,刷卡区的卡片卡号为B2
DC A3 58 ,ID为FF FF FF FF则应该发送以下数据
发送:AA FF 70 52 77
寻卡成功返回 : BB FF 70 FF B2 DC A3 58 FF FF FF FF 5E
或者
寻卡失败返回 : BB FF 70 F0 FF FF FF FF C4
BB FF 70 FF 4字节卡号 4字节设备ID 校验码
BB FF 70 F0 4字节设备ID 校验码
命令说明
5.读卡命令(命令中密码)
命令格式
数据长度
命令类型:1字节的10
块号:要读取的块号
密码类型:A密码或B密码,A密码赋值60 ,B密码赋值61
密码:要读取块号的密码
校验码:见命令格式中的说明
命令总长度:12
返回命令
成功返回
失败返回
密码验证失败返回
命令说明
此命令用于读取卡片中指定数据块的16字节数据
命令实例
BB FF 10 FF 16字节数据4字节设备ID 校验码
BB FF 10 F0 4字节设备ID 校验码
BB FF 10 F1 4字节设备ID 校验码
命令头
2
命令类型
1
块号 密码类型
1
1
密码 校验码
6
1
命令头:固定为2个字节的AA FF
例如卡片中第4块的数据为 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D
0E 0F,用A密码验证,密码为FF FF FF FF FF FF,ID为FF FF FF FF,则应该发
送以下数据
发送:AA FF 10 04 60 FF FF FF FF FF FF 21
读取正确后读卡器返回 : BB FF 10 FF 00 01 02 03 04 05 06 07 08 09 0A
0B 0C 0D 0E 0F FF FF FF FF AB
或者
读取失败后读卡器返回 : BB FF 10 F0 FF FF FF FF A4
或者
密码验证失败后读卡器返回 : BB FF 10 F1 FF FF FF FF A5
6.读卡命令(内部密码)
命令格式
数据长度
命令类型:1字节的11
块号:要读取的块号
密码类型:A密码或B密码 A密码时为60 B密码时为61
校验码:见命令格式中的说明
命令头
2
命令类型
1
块号
1
密码类型
1
校验码
1
命令头:固定为2个字节的AA FF
命令总长度:6
返回命令
成功返回
失败返回
密码验证失败返回
命令说明
此命令用于读取卡片中指定数据块的16个字节数据,密码使用读卡器内部的
密码,这样可以增强安全性
命令实例
例如卡片中第4块的数据为 00 11 22 33 44 55 66 77 88 99 AA BB CC DD
EE FF,用A密码验证,ID为FF FF FF FF,则应该发送以下数据
发送:AA FF 11 04 60 20
读取正确后读卡器返回 : BB FF 11 FF 00 01 02 03 04 05 06 07 08 09 0A
0B 0C 0D 0E 0F FF FF FF FF AA
或者
读取失败后读卡器返回 : BB FF 11 F0 FF FF FF FF A5
或者
密码验证失败后读卡器返回 : BB FF 11 F1 FF FF FF FF A4
BB FF 11 FF 16字节数据 4字节设备ID 校验码
BB FF 11 F0 4字节设备ID 校验码
BB FF 11 F1 4字节设备ID 校验码
7.写卡命令(命令中密码)
命令格式
数据长度
命令类型:1字节的20
块号:要写入的块号
密码类型:A密码或B密码 A密码时为60 B密码时为61
密码:要写入块号的密码
数据:要写入的16字节的数据
校验码:见命令格式中的说明
命令总长度:28
返回命令
成功返回
失败返回
密码验证失败返回
命令说明
此命令用于将16个字节的数据写入卡片中的指定数据块
BB FF 20 FF 4字节设备ID 校验码
BB FF 20 F0 4字节设备ID 校验码
BB FF 20 F1 4字节设备ID 校验码
命令头
2
命令类型
1
块号 密码类型
1
1
密码 数据 校验码
6
16
1
命令头:固定为2个字节的AA FF
命令实例
例如要往卡片中第4块写入数据为 00 01 02 03 04 05 06 07 08 09 0A 0B
0C 0D 0E 0F,用A密码验证,密码为FF FF FF FF FF FF,ID为FF FF FF FF则应
该发送以下数据
发送:AA FF 20 04 60 FF FF FF FF FF FF 00 01 02 03 04 05 06 07 08
09 0A 0B 0C 0D 0E 0F 11
写入正确后读卡器返回 : BB FF 20 FF FF FF FF FF 9B
或者
写入失败后读卡器返回 : BB FF 20 F0 FF FF FF FF 94
或者
密码验证失败后读卡器返回 : BB FF 20 F1 FF FF FF FF 95
8.写卡命令(内部密码)
命令格式
数据长度
命令类型:1字节的21
块号:要写入的块号
密码类型:A密码或B密码 A密码时为60 B密码时为61
命令头
2
命令类型
1
块号 密码类型
1
1
数据 校验码
16
1
命令头:固定为2个字节的AA FF
数据:要写入的16字节的数据
校验码:见命令格式中的说明
命令总长度:22
返回命令
成功返回
失败返回
密码验证失败返回
命令说明
此命令用于将16个字节的数据写入卡片中的指定数据块,密码使用读卡器内
部的密码 这样可以增强安全性
命令实例
例如要往卡片中第4块写入数据为 00 01 02 03 04 05 06 07 08 09 0A 0B
0C 0D 0E 0F,用A密码验证,ID为FF FF FF FF则应该发送以下数据
发送:AA FF 21 04 60 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E
0F 10
写入正确后读卡器返回 : BB FF 21 FF FF FF FF FF 9A
或者
写入失败后读卡器返回 : BB FF 21 F0 FF FF FF FF 95
BB FF 21 FF 4字节设备ID校验码
BB FF 21 F0 4字节设备ID 校验码
BB FF 21 F1 4字节设备ID 校验码
或者
密码验证失败后读卡器返回 : BB FF 21 F1 FF FF FF FF 94
9.加减值命令(命令中密码)
命令格式 命令头 命令类型 操作类型 块号 密码类型 密码 数据 校验码
数据长度 2
命令类型:1字节的30
操作类型:加值或减值 C0为减值 C1为加值
块号:要加减的块号
密码类型:A密码或B密码 A密码时为60 B密码时为61
密码:要加减块号的密码
加减值:4字节的有符号数值 ,顺序自左至右从高到低
校验码:见命令格式中的说明
命令总长度:17
返回命令
成功返回
失败返回
密码验证失败返回
BB FF 30 FF 4字节余额 4字节设备ID 校验码
BB FF 30 F0 4字节设备ID 校验码
BB FF 30 F1 4字节设备ID 校验码
1
1
1
1
6
4
1
命令头:固定为2个字节的AA FF
读取余额失败返回
命令说明
BB FF 30 F2 4字节设备ID 校验码
此命令用于对指定数据块的数值进行加值或减值操作,此操作由卡片内部自
动完成。卡片中的数值
有固定的格式,格式见下图
Value
表示一个带符号4 字节值,这个值的最低一个字节保存在最低的地址中,取反
的字节以标准
2 的格式保存。为了保证数据的正确性和保密性值被保存了3 次,两次不取
反保存,一次取反
保存
Adr
表示一个1 字节地址当执行强大的备份管理时用于保存存储段的地址,地址
字节保存了4次取反和不取反各保存两次在执行增减恢复传送操作时地址保持不变
它只能通过写卡命令改变
例如:卡片中第6块存储十进制的16909060也就是十六进制的01020304,第6
块中的数据应该为” 04 03 02 01 FB FC FD FE 04 03 02 01 04 FB 04 FB
”
命令实例
例如卡片中第4块放入数据为01020304,用A密码验证,密码为FF FF FF FF
FF FF 要减值00000001,ID为FF FF FF FF则应该发送以下数据
成功:发送:AA FF 30 C0 04 60 FF FF FF FF FF FF 00 00 00 01
操作正确后读卡器返回 : BB FF 30 FF 01 02 03 03 FF FF FF FF 88
或者
操作失败后读卡器返回 : BB FF 30 F0 FF FF FF FF 84
或者
密码验证失败后读卡器返回 : BB FF 30 F1 FF FF FF FF 85
或者
读取余额失败后读卡器返回 :BB FF 30 F2 FF FF FF FF 86
10.加减值命令(内部密码)
命令格式
数据长度
命令类型:1字节的31
命令头 命令类型
2
1
操作类型
1
块号 密码类型
1
1
数据 校验码
4
1
命令头:固定为2个字节的AA FF
操作类型:加值或减值 C0为减值 C1为加值
块号:要加减的块号
密码类型:A密码或B密码 A密码时为60 B密码时为61
加减值:4字节的有符号数值 ,顺序自左至右从高到低
校验码:见命令格式中的说明
命令总长度:11
返回命令
成功返回
失败返回
密码验证失败返回
读取余额失败返回
命令说明
此命令用于对指定数据块的数值进行加值或减值操作,此操作由卡片内部自
动完成。密码使用读卡器内部的密码,这样可以增强安全性卡片中的数值有固定的
格式,格式见下图
BB FF 31 FF 4字节余额 4字节设备ID 校验码
BB FF 31 F0 4字节设备ID 校验码
BB FF 31 F1 4字节设备ID 校验码
BB FF 31 F2 4字节设备ID 校验码
Value
表示一个带符号4 字节值,这个值的最低一个字节保存在最低的地址中,取反
的字节以标准
2 的格式保存。为了保证数据的正确性和保密性值被保存了3 次,两次不取
反保存,一次取反保存
Adr
表示一个1 字节地址当执行强大的备份管理时用于保存存储段的地址,地址
字节保存了4次取反和不取反各保存两次在执行增减恢复传送操作时地址保持不变
它只能通过写卡命令改变
例如:卡片中第6块存储十进制的16909060也就是十六进制的01020304,第6
块中的数据应该为” 04 03 02 01 FB FC FD FE 04 03 02 01 04 FB 04 FB
命令实例
例如卡片中第4块放入数据为01020304,用A密码验证,密码为FF FF FF FF
FF FF 要减值00000001,ID为FF FF FF FF则应该发送以下数据
发送:AA FF 31 C0 04 60 00 00 00 01
操作正确后读卡器返回 : BB FF 31 FF 01 02 03 03 FF FF FF FF 89
操作失败后读卡器返回 : BB FF 31 F0 FF FF FF FF 85
密码验证失败后读卡器返回 : BB FF 31 F1 FF FF FF FF 84
读取余额失败后读卡器返回 :BB FF 31 F2 FF FF FF FF 87
11.关卡命令
命令格式
数据长度
命令类型:1字节的40
校验码:见命令格式中的说明
命令总长度:4
命令说明
此命令用于告诉读卡器立即关卡,如果读卡器在主动上传卡号状态下时读卡
器接收此命令后立即关卡不用等待300毫秒后再自动关闭,被动状态下时读卡器接
收此命令后准备好检测下一张卡此后再发送读写卡命令都将返回失败。此条命令无
返回,连续寻卡时发送此命令后需要等待十几毫秒再发送寻卡命令。
命令实例
发送:AA FF 40 15
12.下载密码到缓冲区命令
命令格式
数据长度
命令头
2
命令类型
1
块号 密码类型
1
1
密码 校验码
6
1
命令头
2
命令类型
1
校验码
1
命令头:固定为2个字节的AA FF
命令头:固定为2个字节的AA FF
命令类型:1字节的50
块号:要读取的块号
密码类型:A密码或B密码 A密码时为60 B密码时为61
密码:要下载块号的密码
校验码:见命令格式中的说明
命令总长度:12
返回命令
成功返回
命令说明
此命令用于将密码下载到缓冲区,密码在没有执行将缓冲区密码写入读卡器
命令前不会写入到读卡器,并且此密码断电后将丢失
命令实例
例如要下载第1区的A密码为 00 01 02 03 04 05 06,ID为FF FF FF FF则
应该发送以下数据
发送:AA FF 50 01 60 01 02 03 04 05 06 63
下载正确后读卡器返回 : BB FF 50 FF FF FF FF FF EB
BB FF 50 FF 4字节设备ID 校验码
13.将缓冲区密码写入到读卡器命令
命令格式
数据长度
命令类型:1字节的60
校验码:见命令格式中的说明
命令总长度:4
返回命令
成功返回
命令说明
此命令用于将缓冲区中的密码下载到读卡器,执行完此命令后密码就真正的
写入到读卡器 并且写入到读卡器的密码就可以用做内部密码使用,使用内部密
码的命令使用的密码均为此保存的密码,此密码可以覆盖写入不可以读出并且断电
后也不会丢失,这样就可以增强安全性。
命令实例:
发送: AA FF 60 35
成功返回: BB FF 60 FF FF FF FF FF DB
BB FF 60 FF 4字节设备ID 校验码
命令头
2
命令类型
1
校验码
1
命令头:固定为2个字节的AA FF
14.液晶屏显示命令
命令格式
数据长度
命令类型:1字节的C0
命令类型:32字节要显示文字的ANSI码,只支持简体中文不支持繁体中
文,不需要显示的地方赋值空格的内码也就是OX20
校验码:见命令格式中的说明
命令总长度:36
返回命令
成功返回
命令说明
此命令用于控制液晶屏的显示 ,显示的内容完全由用户控制。
注意:如果要显示的文字中有单字节的字符,在发送是就需要判断一下连续
的单字节字符的个数如果个数是奇数个,需要在后边加一个空格,以保证双字节字
符是在奇数位开始显示不然后边的字符显示就会错误。下边实例中的” 17W 系列
读卡器液晶显示测试”就因为“17W”是奇数个所以在后边加个一个空格来显
示,。
命令实例:
BB FF C0 FF 4字节设备ID 校验码
命令头
2
命令类型
1
显示内容
32
校验码
1
命令头:固定为2个字节的AA FF
控制液晶屏显示“17W 系列读卡器液晶显示测试”读卡器ID 为FF FF FF FF
发送: AA FF C0 31 37 57 20 CF B5 C1 D0 B6 C1 BF A8 C6 F7 D2 BA
BE A7 CF D4 CA BE B2 E2 CA D4 20 20 20 20 20 20 8E
成功返回: BB FF C0 FF FF FF FF FF 7B
15.设置液晶屏开机显示命令
命令格式
数据长度
命令类型:1字节的E2
显示内容:32字节要显示文字的ANSI码,只支持简体中文不支持繁体中
文,不需要显示的地方赋值空格的内码也就是OX20
校验码:见命令格式中的说明
命令总长度:36
返回命令
成功返回
命令说明
此命令用于控制液晶屏开机显示的文字,此设置断电保存
BB FF E2 FF 4字节设备ID 校验码
命令头
2
命令类型
1
显示内容
32
校验码
1
命令头:固定为2个字节的AA FF
注意:如果要显示的文字中有单字节的字符,在发送是就需要判断一下连续
的单字节字符的个数如果个数是奇数个,需要在后边加一个空格,以保证双字节字
符是在奇数位开始显示不然后边的字符显示就会错误。下边实例中的” 17W 系列
读卡器液晶显示测试”就因为“17W”是奇数个所以在后边加个一个空格来显
示,。
命令实例:
控制液晶屏开机“17W 系列读卡器液晶显示测试”读卡器ID 为FF FF FF FF
发送: AA FF E2 31 37 57 20 CF B5 C1 D0 B6 C1 BF A8 C6 F7 D2 BA
BE A7 CF D4 CA BE B2 E2 CA D4 20 20 20 20 20 20 AC
成功返回: BB FF E2 FF FF FF FF FF 59
16.设置设备ID命令
命令格式
数据长度
命令类型:1字节的E3
设备ID:用于可以下载的4字节ID
校验码:见命令格式中的说明
命令总长度:8
返回命令
命令头
2
命令类型
1
设备ID
4
校验码
1
命令头:固定为2个字节的AA FF
成功返回
命令说明
此命令用于设置读卡器的ID,,个数据会存在于读卡器返回的命令中,如果
读卡器是在局域网可以通过IP来区分读卡器,如果读卡器在广域网就可以通过此
ID来区分读卡器
命令实例:
设置读卡器ID为A1 A2 A3 A4
BB FF E3 FF 4字节设备ID 校验码