小少妇bbbbbbbbbbbb,国产SUV精品一区二区6,婷婷午夜天,精美日产NV二线三线水蜜桃

  • <abbr id="ymya8"></abbr>
    <tfoot id="ymya8"></tfoot>
    <tfoot id="ymya8"><center id="ymya8"></center></tfoot>
    <dfn id="ymya8"><center id="ymya8"></center></dfn>
    <li id="ymya8"></li>
  • DONSEE東信智能 - 身份證社??ㄗx卡智能終端應用服務(wù)商

    eastcoms@qq.com
    400-6722-705
    首頁(yè) > 服務(wù)支持專(zhuān)區 > 產(chǎn)品支持 > SDK開(kāi)發(fā)包和軟件下載

    EST系列身份證閱讀器(讀卡器)Linux二次開(kāi)發(fā)包SDK(含libwlt2bmp.so相片解碼)

    來(lái)源:www.eastcoms.com   標簽:Linux 身份證 閱讀器 讀卡器 相片解碼 開(kāi)發(fā)包 SDK libwlt2bmp   發(fā)布時(shí)間: 2018-9-25 10:12:43

    身份證閱讀器模組模塊,支持身份證、社???、CPU卡、M1卡、IC卡、醫???、磁條卡、銀行卡等多種卡片識別讀取,提供完善的接口SDK二次開(kāi)發(fā)技術(shù)支持,可提供Linux、單片機、ARM的通訊協(xié)議以及Android、Windows等系統二次開(kāi)發(fā)包,可以適用于市場(chǎng)上的閘機、門(mén)禁、人臉識別考勤機、機器人終端、通道閘等產(chǎn)品使用。

    身份證閱讀器Linux系統開(kāi)發(fā)包

    版本:V2018.09.25(USB版本)

    注意:此Linux版本是廣東東信智能科技有限公司最新的采用USB接口通訊的開(kāi)發(fā)包,涵蓋了身份證、M1、CPU、IC等多種卡片的Linux系統應用示例,包括了libwlt2bmp.so身份證相片解碼。

    應用產(chǎn)品:門(mén)禁系統、道閘、考勤系統以及人臉識別系統、自助終端、機器人系統等。

    適合本Linux二次開(kāi)發(fā)的身份證閱讀器系列產(chǎn)品

    ///////////////////////////////////////////各卡片操作順序//////////////////////////////

    【typeA CPU 卡操作順序】

    1 設置為T(mén)ypeA卡片

    2 請求卡片

    3 防碰撞

    4 選擇卡片

    5 上電

    6 APDU 命令

    【typeB 卡操作順序】

    1 設置為T(mén)ypeB卡片

    2 上電

    3 選卡

    4 APDU 命令

    【M1卡操作順序】

    1 請求卡片

    2 防碰撞

    3 選擇卡片

    4 認證密鑰

    5 讀或寫(xiě)

    【接觸CPU卡操作順序】

    1 上電復位

    2 APDU 命令

    【身份證操作順序】

    讀取證件

    獲取證件類(lèi)型

    獲取信息

    Linux系統開(kāi)發(fā)包核心代碼:

    #ifndef _EST100_BASE_H_

    #define _EST100_BASE_H_

    #include <stdio.h>

    #include <errno.h>

    #include <dlfcn.h>

    #include <errno.h>

    #include <unistd.h>

    #include <stdlib.h>    

    #include <stdarg.h>

    #include <unistd.h>     

    #include <sys/time.h>

    #include <ctype.h>

    #include <sys/ioctl.h>

    #include <fcntl.h>

    #include <string.h>

    #include <sys/types.h>

    #include <stddef.h>   

    #include <termios.h> 

    #include <strings.h>

    #include <stdbool.h>

    #include <locale.h>

    #include <iconv.h>

    #include <sys/io.h>//chmod

    #include <sys/stat.h>

    #include "./include/libusb-1.0/libusb.h" 

    #define IFD_OK0 //執行成功

    #define IFD_ICC_TypeError-1 //卡片類(lèi)型不對

    #define IFD_ICC_NoExist-2 //無(wú)卡

    #define IFD_ICC_NoPower-3 //有卡未上電

    #define IFD_ICC_NoResponse-4     //卡片無(wú)應答

    #define IFD_ConnectError-11     //讀卡器連接錯

    #define IFD_UnConnected-12         //未建立連接(沒(méi)有執行打開(kāi)設備函數)

    #define IFD_BadCommand-13         //(動(dòng)態(tài)庫)不支持該命令

    #define IFD_ParameterError-14     //(發(fā)給動(dòng)態(tài)庫的)命令參數錯

    #define IFD_CheckSumError-15     //信息校驗和出錯

    #define IFD_OutTime   -20

    #ifdef __cplusplus

    extern "C" {

    #endif

    /******************************************************************************************************************************************\

    \   /

    /設備類(lèi)   \

    \   /

    \******************************************************************************************************************************************/


    /*****************************************

    * 功能:連接讀卡器 

    * 參數: 

    *dev_name:[IN] 端口號,固定"USB1"  

    * 返回值: 

    *返回大于0的設備句柄 

    ******************************************/

    long ICC_Reader_Open(char * dev_name);

    /*****************************************

    * 功能:斷開(kāi)讀卡器連接

    * 參數: 

    *ReaderHandle:[IN] 執行ICC_Reader_Open 函數成功時(shí)的返回值

    * 返回值: 

    *成功返回0

    ***************************************************************/

    long ICC_Reader_Close(long ReaderHandle);

    /*****************************************

    * 功能: 蜂鳴 

    * 參數: 

    *ReaderHandle:[IN] 執行ICC_Reader_Open 函數成功時(shí)的返回值

    *timeout: [IN] 超時(shí)時(shí)間,固定為5

    * 返回值: 

    *成功返回0 

    ******************************************/

    long ICC_PosBeep(long ReaderHandle, unsigned char timeOut);

    /******************************************************************************************************************************************\

    \   /

    /接CPU   \

    \   /

    \******************************************************************************************************************************************/

    /*****************************************

    * 功能: 接觸CPU卡上電(冷復位)

    * 參數: 

    *ReaderHandle:[IN] 執行ICC_Reader_Open 函數成功時(shí)的返回值

    *ICC_Slot_No:[IN] 卡座號 0x01(大卡座),0x11~0x14(SAM1~SAM4)

    *Response:[OUT] ATR

    * 返回值: 

    *成功返回數據長(cháng)度

    ***************************************************************/

    long ICC_Reader_pre_PowerOn(long ReaderHandle, unsigned char ICC_Slot_No, unsigned char* Response);

    /*****************************************

    * 功能: 接觸CPU卡下電

    * 參數: 

    *ReaderHandle:[IN] 執行ICC_Reader_Open 函數成功時(shí)的返回值

    *ICC_Slot_No:[IN] 卡座號 0x01(大卡座),0x11~0x14(SAM1~SAM4)

    * 返回值: 

    *成功返回0

    ***************************************************************/

    long ICC_Reader_PowerOff(long ReaderHandle,unsigned char ICC_Slot_No);

    /*****************************************

    * 功能: 接觸CPU卡執行APDU命令

    * 參數: 

    *ReaderHandle:[IN] 執行ICC_Reader_Open 函數成功時(shí)的返回值

    *ICC_Slot_No:[IN] 卡座號 0x01(大卡座),0x11~0x14(SAM1~SAM4)

    *Lenth_of_Command_APDU: [IN] APDU命令的長(cháng)度

    *Command_APDU:[IN] APDU命令

    *Response_APDU: [OUT] 響應信息

    * 返回值: 

    *成功返回響應信息數據的長(cháng)度

    ***************************************************************/

    long ICC_Reader_Application(long ReaderHandle,unsigned char ICC_Slot_No, long Lenth_of_Command_APDU,unsigned char* Command_APDU,unsigned char* Response_APDU);  //執行apdu命令  返回數據長(cháng)

    /******************************************************************************************************************************************\

    \   /

    /非接類(lèi)   \

    \   /

    \******************************************************************************************************************************************/

    /****************************************

    * 功能: 設置為操作TypeA卡

    * 參數: 

    *ReaderHandle:[IN] 執行ICC_Reader_Open 函數成功時(shí)的返回值

    * 返回值: 

    *成功返回0

    ***************************************************************/

    long PICC_Reader_SetTypeA(long ReaderHandle);

    /*****************************************

    * 功能: 設置為操作TypeB卡

    * 參數: 

    *ReaderHandle:[IN] 執行ICC_Reader_Open 函數成功時(shí)的返回值

    * 返回值: 

    *成功返回0

    ***************************************************************/

    long PICC_Reader_SetTypeB(long ReaderHandle);

    /*****************************************

    * 功能: 請求卡片

    * 參數: 

    *ReaderHandle:[IN] 執行ICC_Reader_Open 函數成功時(shí)的返回值

    * 返回值: 

    *成功返回0

    ***************************************************************/

    long PICC_Reader_Request(long ReaderHandle);

    /*****************************************

    * 功能: 防碰撞

    * 參數: 

    *ReaderHandle:[IN] 執行ICC_Reader_Open 函數成功時(shí)的返回值

    *UID: [OUT] 4字節UID

    * 返回值: 

    *成功返回0

    ***************************************************************/

    long PICC_Reader_anticoll(long ReaderHandle,unsigned char *uid);

    /*****************************************

    * 功能: 選擇卡片

    * 參數: 

    *ReaderHandle:[IN] 執行ICC_Reader_Open 函數成功時(shí)的返回值

    *cardtype:[IN] 0x41表示TypeA & M1, 0x42表示TypeB

    * 返回值: 

    *成功返回0

    ***************************************************************/

    long PICC_Reader_Select(long ReaderHandle,unsigned char cardtype);

    /*****************************************

    * 功能: TypeA卡上電

    * 參數: 

    *ReaderHandle:[IN] 執行ICC_Reader_Open 函數成功時(shí)的返回值

    *Response: [OUT] 上電返回數據

    * 返回值: 

    *成功返回數據長(cháng)度

    ***************************************************************/

    long PICC_Reader_PowerOnTypeA(long ReaderHandle,unsigned char* Response);

    /*****************************************

    * 功能: TypeB卡上電

    * 參數: 

    *ReaderHandle:[IN] 執行ICC_Reader_Open 函數成功時(shí)的返回值

    *Response: [OUT] 上電返回數據

    * 返回值: 

    *成功返回數據長(cháng)度

    ***************************************************************/

    long PICC_Reader_PowerOnTypeB(long ReaderHandle,unsigned char* Response);

    /*****************************************

    * 功能: TypeA & B 卡執行APDU命令

    * 參數: 

    *ReaderHandle:[IN] 執行ICC_Reader_Open 函數成功時(shí)的返回值

    *Lenth_of_Command_APDU: [IN] APDU命令的長(cháng)度

    *Command_APDU:[IN] APDU命令

    *Response_APDU: [OUT] 響應信息

    * 返回值: 

    *成功返回響應信息數據的長(cháng)度

    ***************************************************************/

    long PICC_Reader_Application(long ReaderHandle,long Lenth_of_Command_APDU,unsigned char* Command_APDU,unsigned char* Response_APDU);

    /*****************************************

    * 功能: M1卡認證秘鑰

    * 參數: 

    *ReaderHandle:[IN] 執行ICC_Reader_Open 函數成功時(shí)的返回值

    *Mode: [IN] 0x60 表示認證KeyA, 0x61表示認證KeyB

    *SecNr:[IN] 扇區號 S50系列卡 0~15, S70系列卡 0~63

    *Key: [IN] 6字節秘鑰

    * 返回值: 

    *成功返回0

    ***************************************************************/

    long PICC_Reader_Authentication_Pass(long ReaderHandle,unsigned char Mode, unsigned char SecNr,unsigned char *PassWord);

    /*****************************************

    * 功能: M1讀卡

    * 參數: 

    *ReaderHandle:[IN] 執行ICC_Reader_Open 函數成功時(shí)的返回值

    *Addr:[IN] 塊地址 S50系列卡 0~63, S70系列卡 0~255, 例如:1扇區1塊,這里Addr=5=1*4 + 1(扇區號*4 + 塊號)

    *Data:[OUT] 16字節塊數據

    * 返回值: 

    *成功返回0

    *****************************************************************************************************************/

    long PICC_Reader_Read(long ReaderHandle,unsigned char Addr,unsigned char *Data);

    /*****************************************

    * 功能: M1寫(xiě)卡

    * 參數: 

    *ReaderHandle:[IN] 執行ICC_Reader_Open 函數成功時(shí)的返回值

    *Addr:[IN] 塊地址 S50系列卡 0~63, S70系列卡 0~255, 例如:1扇區1塊,這里Addr=5=1*4 + 1(扇區號*4 + 塊號)

    *Data: [IN] 16字節待寫(xiě)入數據

    * 返回值: 

    *成功返回0

    ***************************************************************************************************************/

    long PICC_Reader_Write(long ReaderHandle,unsigned char Addr,unsigned char *Data);

    /******************************************************************************************************************************************\

    \   /

    /磁條卡   \

    \   /

    \******************************************************************************************************************************************/

    /*****************************************

    * 功能: 讀磁條卡

    * 參數: 

    *ReaderHandle:[IN] 執行ICC_Reader_Open 函數成功時(shí)的返回值

    *ctime:[IN] 等待刷卡的超時(shí)時(shí)間,單位:秒

    *track:[IN] 磁道 1~3

    *rlen: [OUT] 返回的磁道數據長(cháng)度

    *Data: [OUT] 返回的磁道數據

    * 返回值: 

    *成功返回0

    ****************************************************************/

    long Rcard(long ReaderHandle,unsigned char ctime,int track,unsigned char *rlen,char *Data);

    long ICC_GetTimeOut(long ReaderHandle, unsigned char flag);//內部調用

    /******************************************************************************************************************************************\

    \   /

    /身份證   \

    \   /

    \******************************************************************************************************************************************/

    /*****************************************

    * 功能: 讀取證件(居民身份證 + 外國人永久居留證 + 港澳臺居民居住證)

    * 參數: 

    *ReaderHandle:[IN] 執行ICC_Reader_Open 函數成功時(shí)的返回值

    * 返回值: 

    *成功返回0,執行成功后可調用下列g(shù)et函數獲取相應的信息

    ***********************************************************************/

    long PICC_ReadIDCard(long ReaderHandle);

    /*****************************************

    * 功能: 讀取證件,包含指紋(居民身份證 + 外國人永久居留證 + 港澳臺居民居住證)

    * 參數: 

    *ReaderHandle:[IN] 執行ICC_Reader_Open 函數成功時(shí)的返回值

    * 返回值: 

    *成功返回0,執行成功后可調用下列g(shù)et函數獲取相應的信息

    ***********************************************************************/

    long PICC_ReadIDCardFP(long ReaderHandle);

    /*****************************************

    * 功能: 獲取證件類(lèi)型

    * 參數: 

    *無(wú)

    * 返回值: 

    *0:表示居民身份證

    *1:表示外國人永久居留證

    *2:表示港澳臺居民居住證

    *****************************************/

    int GetCardType();

    /*****************************************

    * 功能: 獲取姓名

    * 參數: 

    *pName: [OUT] 姓名

    * 返回值: 

    *成功返回0

    * 包含證件類(lèi)型:0、1、2

    *****************************************/

    int GetName(char* pName);

    /*****************************************

    * 功能: 獲取性別

    * 參數: 

    *pSex: [OUT] 性別

    * 返回值: 

    *成功返回0

    * 包含證件類(lèi)型:0、1、2

    *****************************************/

    int GetSex(char* pSex);

    /*****************************************

    * 功能: 獲取民族

    * 參數: 

    *pNation: [OUT] 民族

    * 返回值: 

    *成功返回0

    * 包含證件類(lèi)型:0

    *****************************************/

    int GetNation(char* pNation);

    /*****************************************

    * 功能: 獲取出生日期

    * 參數: 

    *pBirth: [OUT] 出生日期

    * 返回值: 

    *成功返回0

    * 包含證件類(lèi)型:0、1、2

    *****************************************/

    int GetBirth(char* pBirth);

    /*****************************************

    * 功能: 獲取住址

    * 參數: 

    *pAddress: [OUT] 住址

    * 返回值: 

    *成功返回0

    * 包含證件類(lèi)型:0、2

    *****************************************/

    int GetAddress(char* pAddress);

    /*****************************************

    * 功能: 獲取證件號碼

    * 參數: 

    *pCertNo: [OUT] 證件號碼

    * 返回值: 

    *成功返回0

    * 包含證件類(lèi)型:0、1、2

    *****************************************/

    int GetCertNo(char* pCertNo);

    /*****************************************

    * 功能: 獲取簽發(fā)機關(guān)

    * 參數: 

    *pDepartemt: [OUT] 簽發(fā)機關(guān)

    * 返回值: 

    *成功返回0

    * 包含證件類(lèi)型:0、2

    *****************************************/

    int GetDepartemt(char* pDepartemt);

    /*****************************************

    * 功能: 獲取有效起始日期

    * 參數: 

    *pEffectDate: [OUT] 有效起始日期

    * 返回值: 

    *成功返回0

    * 包含證件類(lèi)型:0、1、2

    *****************************************/

    int GetEffectDate(char* pEffectDate);

    /*****************************************

    * 功能: 獲取有效截止日期

    * 參數: 

    *pExpireDate: [OUT] 有效截止日期

    * 返回值: 

    *成功返回0

    * 包含證件類(lèi)型:0、1、2

    *****************************************/

    int GetExpireDate(char* pExpireDate);

    /*****************************************

    * 功能: 獲取通行證號碼

    * 參數: 

    *pTXZHM: [OUT] 通行證號碼

    * 返回值: 

    *成功返回0

    * 包含證件類(lèi)型:2

    *****************************************/

    int GetTXZHM(char* pTXZHM);

    /*****************************************

    * 功能: 獲取通行證簽發(fā)次數

    * 參數: 

    *pTXZQFCS: [OUT] 通行證簽發(fā)次數

    * 返回值: 

    *成功返回0

    * 包含證件類(lèi)型:2

    *****************************************/

    int GetTXZQFCS(char* pTXZQFCS);

    /*****************************************

    * 功能: 獲取英文名

    * 參數: 

    *pEnName: [OUT] 外國人英文名

    * 返回值: 

    *成功返回0

    * 包含證件類(lèi)型:1

    *****************************************/

    int GetEnName(char* pEnName);

    /*****************************************

    * 功能: 獲取國籍代碼

    * 參數: 

    *pNationalityCode: [OUT] 外國人國籍代碼

    * 返回值: 

    *成功返回0

    * 包含證件類(lèi)型:1

    *****************************************/

    int GetNationalityCode(char* pNationalityCode);

    /*****************************************

    * 功能: 獲取證件版本

    * 參數: 

    *pCardVersion: [OUT] 外國人居留證證件版本

    * 返回值: 

    *成功返回0

    * 包含證件類(lèi)型:1

    *****************************************/

    int GetCardVersion(char* pCardVersion);

    /*****************************************

    * 功能: 獲取照片

    * 參數: 

    *dlpath: [IN] so路徑, 例如:"../lib/libwltdecode.so"

    *pBmpfilepath: [IN] 照片路徑, 例如:"../list/zp.bmp"

    * 返回值: 

    *成功返回0

    * 包含證件類(lèi)型:0、1、2

    *****************************************/

    int GetBmpFile(const char* dlpath, char* pBmpfilepath);

    /*****************************************

    * 功能: 是否含指紋信息

    * 參數: 

    *無(wú)

    * 返回值: 

    *成功返回指紋數據長(cháng)度,0表示沒(méi)有

    * 包含證件類(lèi)型:0、1、2

    *****************************************/

    int IsFingerExist();

    /*****************************************

    * 功能: 獲取指紋信息

    * 參數: 

    *fpInfo: [OUT] 指紋數據

    * 返回值: 

    *成功返回獲取到的指紋數據長(cháng)度,0表示沒(méi)有

    * 包含證件類(lèi)型:0、1、2

    *****************************************/

    int GetFingerprint(unsigned char* fpInfo);

    #ifdef __cplusplus

    }

    #endif

    #endif


    產(chǎn)品咨詢(xún)熱線(xiàn):13822216429

    技術(shù)咨詢(xún)熱線(xiàn):13922210502

    廣東東信智能科技有限公司 www.eastcoms.com

    廣東省廣州市科學(xué)城總部經(jīng)濟區觀(guān)虹路12號


     

     
    QQ在線(xiàn)咨詢(xún)
    成人无码视频| 国产伦精品一区二区三区免费| 国产农村妇女精品一二区| 欧美老熟妇又粗又大| 国产裸体美女永久免费无遮挡| 香蕉视频APP|