EST-100U/EST-100M有驱通用系列身份证阅读器驱动和开发包(Windows+Android)
广东东信智能科技有限公司EST-100M内置式嵌入式身份证阅读器模组尺寸小,散热性能好,便于安装,提供开放的应用程 序接口(SDK 开发包),适用于自助机、排队叫号机、机器人、人脸测温一体 机、访客机、人证机、通道闸机、门禁、图书借阅终端、医疗终端、银行终端等 设备里面,安装灵活,固定方便。
EST-100U/EST-100M系列身份证阅读器开发包下载,包括Windows系统和安卓系统,支持EST-100U台式居民身份证阅读机具、EST-100M内置嵌入式身份证大模组/小模组,EST-100MR身份证二维码模组等产品。
注意:以下资源仅适用于有驱系列产品,功能只读身份证,不适应其他免驱系列产品(功能包括社保卡、IC卡、银行卡等)。
1、Windows系统开发
2、Android系统开发
以上为EST-100U/EST-100M系列身份证阅读器开发包相关资料下载。
安卓部分读卡代码***************************
private void openDevice()
{
startIDCardReader();
try {
idCardReader.open(0);
countDownLatch = new CountDownLatch(1);
new Thread(new Runnable() {
public void run() {
bCancel = false;
while (!bCancel) {
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
boolean ret = false;
final long nTickstart = System.currentTimeMillis();
try {
idCardReader.findCard(0);
idCardReader.selectCard(0);
}catch (IDCardReaderException e)
{
if (!bRepeatRead)
{
continue;
}
}
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
int cardType = 0;
try {
cardType = idCardReader.readCardEx(0, 0);
}
catch (IDCardReaderException e)
{
setResult("读卡失败,错误信息:" + e.getMessage());
continue;
}
if (cardType == IDCardType.TYPE_CARD_SFZ || cardType == IDCardType.TYPE_CARD_PRP || cardType == IDCardType.TYPE_CARD_GAT)
{
final long nTickCommuUsed = (System.currentTimeMillis()-nTickstart);
updateUIByCardType(cardType);
if (cardType == IDCardType.TYPE_CARD_SFZ || cardType == IDCardType.TYPE_CARD_GAT)
{
IDCardInfo idCardInfo = idCardReader.getLastIDCardInfo();
final String name = idCardInfo.getName();
final String sex = idCardInfo.getSex();
final String nation = idCardInfo.getNation();
final String born = idCardInfo.getBirth();
final String licid = idCardInfo.getId();
final String depart = idCardInfo.getDepart();
final String expireDate = idCardInfo.getValidityTime();
final String addr = idCardInfo.getAddress();
final String passNo = idCardInfo.getPassNum();
final int visaTimes = idCardInfo.getVisaTimes();
Bitmap bmpPhoto = null;
if (idCardInfo.getPhotolength() > 0) {
byte[] buf = new byte[WLTService.imgLength];
if (1 == WLTService.wlt2Bmp(idCardInfo.getPhoto(), buf)) {
bmpPhoto = IDPhotoHelper.Bgr2Bitmap(buf);
}
}
final int final_cardType = cardType;
final Bitmap final_bmpPhoto = bmpPhoto;
runOnUiThread(new Runnable() {
public void run() {
imgPhoto.setImageBitmap(final_bmpPhoto);
setResult("读卡成功,通讯耗时(ms):" + nTickCommuUsed);
textNameContent.setText(name);
textSexContent.setText(sex);
textBornContent.setText(born);
textLicIDContent.setText(licid);
textDepartContent.setText(depart);
textExpireDateContent.setText(expireDate);
if (final_cardType == IDCardType.TYPE_CARD_SFZ) {
textNationContent.setText(nation);
textAddrContet.setText(addr);
} else {
textPassNoContent.setText(passNo);
textVisaContent.setText(String.valueOf(visaTimes));
}
}
});
}
else
{
IDPRPCardInfo idprpCardInfo = idCardReader.getLastPRPIDCardInfo();
final String cnName = idprpCardInfo.getCnName();
final String enName = idprpCardInfo.getEnName();
final String sex = idprpCardInfo.getSex();
final String country = idprpCardInfo.getCountry() + "/" + idprpCardInfo.getCountryCode();//国家/国家地区代码
final String born = idprpCardInfo.getBirth();
final String licid = idprpCardInfo.getId();
final String expireDate = idprpCardInfo.getValidityTime();
final String depart = "公部";
Bitmap bmpPhoto = null;
if (idprpCardInfo.getPhotolength() > 0) {
byte[] buf = new byte[WLTService.imgLength];
if (1 == WLTService.wlt2Bmp(idprpCardInfo.getPhoto(), buf)) {
bmpPhoto = IDPhotoHelper.Bgr2Bitmap(buf);
}
}
final int final_cardType = cardType;
final Bitmap final_bmpPhoto = bmpPhoto;
runOnUiThread(new Runnable() {
public void run() {
imgPhoto.setImageBitmap(final_bmpPhoto);
setResult("读卡成功,通讯耗时(ms):" + nTickCommuUsed);
textNameContent.setText(cnName);
textENNameContent.setText(enName);
textSexContent.setText(sex);
textNationContent.setText(country);
textBornContent.setText(born);
textLicIDContent.setText(licid);
textDepartContent.setText(depart);
textExpireDateContent.setText(expireDate);
}
});
}
}
}
countDownLatch.countDown();
}
}).start();
bStarted = true;
setResult("打开设备成功,SAMID:" + idCardReader.getSAMID(0));
} catch (IDCardReaderException e) {
e.printStackTrace();
setResult("打开设备失败");
}
}
private void closeDevice()
{
if (bStarted)
{
bCancel = true;
if (null != countDownLatch)
{
try {
countDownLatch.await(2*1000, TimeUnit.MILLISECONDS);
} catch (InterruptedException e) {
e.printStackTrace();
}
countDownLatch = null;
}
try {
idCardReader.close(0);
} catch (IDCardReaderException e) {
e.printStackTrace();
}
bStarted = false;
}
}
public void onBnStart(View view)
{
if (!enumSensor())
{
setResult("找不到设备");
return;
}
bRepeatRead = checkBoxRepeatRead.isChecked();
tryGetUSBPermission();
}
public void onBnStop(View view)
{
closeDevice();
setResult("设备断开连接");
}
}
- 身份证阅读器/身份证读卡器Android X86-X64安卓版本SDK
- 蓝牙身份证阅读器系列微信蓝牙小程序SDK二次开发包下载
- 身份证阅读器读卡器Vue.js和React.js开发包demo下载
- EST-R5双屏台式人证核验系统SDK二次开发包
- EST-M20手持人脸识别终端二次开发包SDK下载
- DONSEE系列产品二次开发技术支持
- EST-100/EST-100GS/EST-J13X系列Android开发包(含身份
- 身份证读卡器WEB网页开发使用Json格式支持谷歌火狐多浏
- EST系列身份证读卡器Linux串口COM系列SDK开发包(含lib
- EST-100/EST-100GS/EST-J13X系列Windows开发包(含身份