本帖最后由 wx_momo_UKCK9 于 2021-5-14 15:53 编辑
FaceX2自带的读卡器模块实际用起来不太灵敏,我们想直接外接一个读卡器。
目前参考官方文档 https://wiki.t-firefly.com/Face-RK3399/driver_wiegand.html#v2-wei-gen-shu-ru,外接了一个基于韦根协议的读卡器,但读取不到卡号。
我是将读卡器的D0接着FaceX2韦根区域的IN0,读卡器的D1接着FaceX2韦根区域的IN1,读卡器的GND接着FaceX2韦根区域的GND。
运行demo程序:
- 刷卡前 result = ioctl(fd, WG_IOCGETWG, &val) 得到结果为"val is 0, size=8";
- 刷卡后仍为"val is 0, size=8",但多刷几次有时会触发报错"Unable to get value: Operation not permitted"。
请教一下各位大佬,是哪里出问题了吗,或者有没有其它外接读卡器的方案,万分感谢!
刷卡刷了经常没反应,而且需要贴着屏幕刷卡,也不太方便,所以想外接读卡器
facex1和facex2的韦根接口是一样的,你看看是不是哪里不对了。没理由不行的,何况自带的读卡器是没问题的
本帖最后由 wx_momo_UKCK9 于 2021-5-20 19:24 编辑
895816513 发表于 2021-5-20 14:49
facex1和facex2的韦根接口是一样的,你看看是不是哪里不对了。没理由不行的,何况自带的读卡器是没问题的
感谢回复,最后换了一个RS485协议的读卡器,可以读取卡号了。
另外,关于FaceApiDemoV2没反应的问题,我的理解是:
源码里调用的"fireflyapi.jar"中"HardwareCtrl.class第630行有
public static void openRecvMiegandSignal(String filePath) {
if (!newHWVersion_2_1) {
File device = new File(filePath);
.......
而"newHWVersion_2_1"由于是V2版本所以为true,所以if代码块的代码一直没有运行。