DigitalPersona 指纹仪的使用

最近在做身份证读卡器和指文采集的工作。身份证读卡器使用的是华视电子的,指纹仪使用的是digitalPersona。之前还接入过HXGC的身份证读卡器和海康的网络摄像头。基本大同小异,这里做个梳理和总结。

所有这些硬件接入都需要厂家提供对应的SDK。这个或者去官网或者在网上找对应型号的SDK。读卡器的开发包相对容易一些,指纹仪算法貌似是国外的人做的,搜到的文档也是英文的。所以这里其实也能看出点儿差距。随后我会把源码和指纹仪的SDK上传到github上,有需要的人可以下载参考。我在接入这些设备的时候,部分逻辑参考了网上的一些blog,现在整理的时候忘记是哪些了,不好意思,如果发现有侵权的行为,可以马上与我联系。下面说一些整体流程。

  • 下载资源
  1. 指纹仪sdk下载地址:https://codeload.github.com/iamonuwa/Digital-Persona-SDK/zip/master
  2. 华视电子sdk地址:http://www.chinaidcard.com/uploadfiles/files/20180319110342_4134.rar
  • 开发环境

我是做windows开发,所以IDE用的是VS, SDK理论要求版本vs2005以上版本,估计现在也很少有需要用05以下的版本的了吧,我连05以下版本是什么样都没见过,孤陋寡闻了。配置对应的开发环境,这部跳过了,这些设备至少支持C/C++,java, C#,VB等语言。

  • 驱动安装

解压SDK或者安装完成后,项目目录下有驱动需要安装,毕竟需要有硬件驱动(驱动帮你解决应用和硬件的连通),上层应用开发只需要关注自身逻辑,不需要考虑平台、硬件的问题。

  • 编译sample下的项目

这一步不同的SDK可能稍有不同,有的应用可以跨平台,所以demo对不同平台都做了支持,所以SDK会附带一些应用程序用或者脚本用来生成当前平台和开发环境的demo。这里SDK应该会有说明。

  • 接入设备调试

连接硬件设备,一般支持串口和USB接口的。我只处理了USB接口的方式。读卡器依赖termb.dll 这个dll内部又依赖stdapi.dll和WltRS.dll,所以应用程序目录需要有这两个动态库。否则可能导出函数异常。其他部分只要根据自己项目的需要把功能从demo中移植过去就可以了。也没遇到什么问题。指纹仪SDK中提供的全是静态库,在醒目目录设置好路径,引入就可以了,不细说了,如果有问题,百度一下,教程一大堆。

  • 项目集成

 

  • 测试用例

测试用例这里,如果是一个独立的应用,调试程序本身没有问题就可以了。如果需要和其他应用或者服务交互,则需要本地或者在服务器上模拟。服务器模拟就不说了,但说本地模拟。所有的网络服务可以通过Nodejs模拟。

单独的网络请求,可以通过curl.exe来模拟,需要引入开源网络库,在本地环境编译或者可以解压出curl.exe直接通过命令行使用。

第三种要说的是本地应用集成,不走网络请求。服务通过浏览器加载。比如使用CEF加载服务,然后通过浏览器进程实现js和平台语言通信,这种方式以后会单独说一下,因为能力视野有限,不知道这种方式是否有必要,不过证明了可以。是否还有其他的方式满足这种应用场景(客户端本地处理硬件交互同时需要和服务器进行数据交互,简单说一边需要监听服务器请求,一边需要处理客户端硬件交互的需求)。

  • 打包发布

有很多打包工具,也可以自己去实现一个,简单来说就是一些文件拷贝压缩的操作集合。我使用的是setupFactory。

猜你喜欢

转载自blog.csdn.net/moyebaobei1/article/details/81279695