wx_momo_UKCK9 发表于 2021-5-14 15:47:32

FaceX2如何外接读卡器

本帖最后由 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"。

请教一下各位大佬,是哪里出问题了吗,或者有没有其它外接读卡器的方案,万分感谢!



zhansb 发表于 2021-5-17 10:22:21

FaceX2自带的读卡器模块实际用起来不太灵敏,我们想直接外接一个读卡器。

具体怎么不灵敏?

wx_momo_UKCK9 发表于 2021-5-17 10:26:32

刷卡刷了经常没反应,而且需要贴着屏幕刷卡,也不太方便,所以想外接读卡器

895816513 发表于 2021-5-17 14:44:56

一般用官方的读卡器模块,你可以看看韦根驱动调试下

wx_momo_UKCK9 发表于 2021-5-17 18:20:27

895816513 发表于 2021-5-17 14:44
一般用官方的读卡器模块,你可以看看韦根驱动调试下

我看到FaceX2提供的FaceApiDemoV2里面也提供了关于“韦根输入”的接口(https://gitee.com/xiaodatao2010/FaceApiDemoExternal/blob/master/fireflyApi/src/main/java/com/firefly/fireflyapidemo/WiegandInputActivity.java#L16-29),但调用的 fireflyapi.jar 里似乎只实现了v1的,所以运行这个App没有任何反应。可以提供一下v2的实现吗,或者大概的思路?

895816513 发表于 2021-5-20 14:49:28

facex1和facex2的韦根接口是一样的,你看看是不是哪里不对了。没理由不行的,何况自带的读卡器是没问题的

wx_momo_UKCK9 发表于 2021-5-20 18:54:07

本帖最后由 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代码块的代码一直没有运行。







页: [1]
查看完整版本: FaceX2如何外接读卡器