EST-100U/EST-100M有驅(qū)通用系列身份證閱讀器驅(qū)動(dòng)和開發(fā)包(Windows+Android)
廣東東信智能科技有限公司EST-100M內(nèi)置式嵌入式身份證閱讀器模組尺寸小,散熱性能好,便于安裝,提供開放的應(yīng)用程 序接口(SDK 開發(fā)包),適用于自助機(jī)、排隊(duì)叫號(hào)機(jī)、機(jī)器人、人臉測(cè)溫一體 機(jī)、訪客機(jī)、人證機(jī)、通道閘機(jī)、門禁、圖書借閱終端、醫(yī)療終端、銀行終端等 設(shè)備里面,安裝靈活,固定方便。
EST-100U/EST-100M系列身份證閱讀器開發(fā)包下載,包括Windows系統(tǒng)和安卓系統(tǒng),支持EST-100U臺(tái)式居民身份證閱讀機(jī)具、EST-100M內(nèi)置嵌入式身份證大模組/小模組,EST-100MR身份證二維碼模組等產(chǎn)品。
注意:以下資源僅適用于有驅(qū)系列產(chǎn)品,功能只讀身份證,不適應(yīng)其他免驅(qū)系列產(chǎn)品(功能包括社???、IC卡、銀行卡等)。
1、Windows系統(tǒng)開發(fā)
2、Android系統(tǒng)開發(fā)
安卓串口(包括TTL和RS232)開發(fā)包和測(cè)試APP下載
以上為EST-100U/EST-100M系列身份證閱讀器開發(fā)包相關(guān)資料下載。
安卓部分讀卡代碼***************************
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("讀卡失敗,錯(cuò)誤信息:" + 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("讀卡成功,通訊耗時(shí)(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();//國(guó)家/國(guó)家地區(qū)代碼
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("讀卡成功,通訊耗時(shí)(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("打開設(shè)備成功,SAMID:" + idCardReader.getSAMID(0));
} catch (IDCardReaderException e) {
e.printStackTrace();
setResult("打開設(shè)備失敗");
}
}
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("找不到設(shè)備");
return;
}
bRepeatRead = checkBoxRepeatRead.isChecked();
tryGetUSBPermission();
}
public void onBnStop(View view)
{
closeDevice();
setResult("設(shè)備斷開連接");
}
}
- 身份證閱讀器/身份證讀卡器Android X86-X64安卓版本SDK
- 藍(lán)牙身份證閱讀器系列微信藍(lán)牙小程序SDK二次開發(fā)包下載
- 身份證閱讀器讀卡器Vue.js和React.js開發(fā)包demo下載
- EST-R5雙屏臺(tái)式人證核驗(yàn)系統(tǒng)SDK二次開發(fā)包
- EST-M20手持人臉識(shí)別終端二次開發(fā)包SDK下載
- DONSEE系列產(chǎn)品二次開發(fā)技術(shù)支持
- EST-100/EST-100GS/EST-J13X系列Android開發(fā)包(含身份
- 身份證讀卡器WEB網(wǎng)頁(yè)開發(fā)使用Json格式支持谷歌火狐多瀏
- EST系列身份證讀卡器Linux串口COM系列SDK開發(fā)包(含lib
- EST-100/EST-100GS/EST-J13X系列Windows開發(fā)包(含身份