<nav id="ccccc"><sup id="ccccc"></sup></nav>
  • <nav id="ccccc"></nav>
    <nav id="ccccc"></nav>
    <sup id="ccccc"></sup><tr id="ccccc"></tr>
  • <tfoot id="ccccc"><noscript id="ccccc"></noscript></tfoot>
  • 影音先锋成人,人妻偷人精品,成人网站中文字幕,,国产乱人伦无码视频,激情婷婷五月天,69avav?cn,国产成人A码男人的天堂国产乱,人妻?无码?中出

    DONSEE東信智能 - 身份證社??ㄗx卡智能終端應(yīng)用服務(wù)商

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

    EST-100/EST-100GS/EST-J13X系列Linux開發(fā)包(含身份證、社??āPU、M1、磁條卡、銀行卡等卡)

    來源:www.www.57bjl.cn   標(biāo)簽:linux arm x86 x64 sdk 開發(fā)包 ubuntu   發(fā)布時間: 2020-11-20 18:35:44

    廣東東信智能科技有限公司EST免驅(qū)系列產(chǎn)品

    廣東東信智能科技有限公司DONSEE系列多功能身份證社??ㄗx卡器Linux系統(tǒng)接口SDK開發(fā)包,例如Ubuntu、樹莓派、華山派、國產(chǎn)麒麟統(tǒng)信等,支持  EST-100、EST-100GS、EST-J13X、EST-100G、EST-100U等機型,功能包括身份證信息讀取、社??ㄐ畔⒆x取、IC卡、CPU卡讀取,僅供開發(fā)人員和測試人員使用。

    Linux開發(fā)包下載地址:

    DONSEE SDK for Linux 20251203下載

    國產(chǎn)系統(tǒng)-麒麟-統(tǒng)信等下載

    OpenHarmony鴻蒙系統(tǒng)開發(fā)包下載(V1.0.3)

    廣東東信智能科技有限公司EST系列Linux開發(fā)包

    廣東東信智能科技有限公司EST-100/EST-100GS系列Linux SDK開發(fā)包

    Linux開發(fā)包功能說明:

    如需其他不同CPU構(gòu)架的Linux開發(fā)包,可以聯(lián)系張工:13922210502

    需要注意的是,Linux 種類眾多,分Arm架構(gòu)和X86 X64構(gòu)架,不同構(gòu)架開發(fā)包有所不同,Arm的如果是交叉編譯,還需要提供交叉編譯鏈。

    要提供的信息:

    1. linux  操作系統(tǒng)是32位還是64位?

    2. 硬件架構(gòu)是 x86, arm, mips?

    3. 你們開發(fā)板運行的程序是交叉編譯碼生成的嗎? 交叉編譯的環(huán)境是什么樣的?(ubuntu32/ubuntu64/win32/win64 具體版本)

    4. 如果不是交叉編譯, 是否是像樹莓派這種開發(fā)板 直接在開發(fā)板編譯的?

    要提供的文件:

    1. 如果是交叉編譯

    1)請?zhí)峁┙徊婢幾g用的工具鏈 

    2)請列出工具鏈的使用方法(請注明 gcc 在工具鏈中的具體目錄)

    2. 如果是類似樹莓派這種在板子上編譯的,請?zhí)峁╅_發(fā)板

    目前主要編譯過以下編譯鏈環(huán)境:

    32位gcc-linaro arm-linux-gnueabi

    海思麒麟32位

    arm-arago-linux-gnueabi

    gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu

    gcc-linaro-5.3-20170216

    gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu

    gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf

    arm_linux_4.8_arm-nuvoton-linux-uclibceabi

    gcc-linaro-aarch64-linux-gnu-4.9-2014.07_linux


    以下為更早版本:

    DONSEE SDK for Linux 20250611下載

    DONSEE SDK for Linux 20250322下載

    DONSEE SDK for Linux 20241224下載

    DONSEE SDK for Linux 20240902下載

    DONSEE SDK for Linux 20240708下載

    DONSEE SDK for Linux 20240529下載

    DONSEE SDK for Linux 20240402下載

    DONSEE SDK for Linux 20240325下載

    DONSEE SDK for Linux 20240219下載

    DONSEE SDK for Linux 20231225下載

    DONSEE SDK for Linux 20231024下載

    DONSEE SDK for Linux 20230825下載

    DONSEE SDK for Linux 20230729下載

    DONSEE SDK for Linux 20230630下載


    #include "donsee.h"

    int main()

    {

    long t_nHandle = -99;

    int i = 0;

    char pszError[128];

    unsigned char Response[1024] = {0};

    long t_nRe;

    printf("********************************************************\n");

    printf("請輸入數(shù)字選擇需要測試的功能:\n");

    printf("0、測試蜂鳴器和版本號\n");

    printf("1、測試 身份證\n");

    printf("2、測試 社??╘n");

    printf("3、測試 M1 卡\n");

    printf("4、測試 非接觸CPU卡\n");

    printf("5、測試 銀行卡\n");

    printf("6、測試 15693卡\n");

    printf("7、測試 接觸CPU卡\n");

    printf("8、測試 磁條卡\n");

    printf("9、測試 4442卡\n");

    printf("10、測試 北京通卡\n");

    printf("11、關(guān)閉射頻天線\n");

    printf("********************************************************\n");

    int t_nIndex;

    scanf("%d", &t_nIndex);

    if (t_nIndex == 0) //測試版本號和蜂鳴器

    {

    t_nHandle = Donsee_Open("USB");

    if (t_nHandle != 0)

    {

    printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);

    return -1;

    }

    t_nRe = Donsee_Version(Response);

    printf("設(shè)備版本號:%s\n", Response);

    Donsee_Beep(t_nHandle, 0x16);

    Donsee_Close();

    }

    if (t_nIndex == 1) //測試身份證

    {

    t_nHandle = Donsee_Open("USB");

    if (t_nHandle != 0)

    {

    printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);

    return -1;

    }

    memset(Response, 0, 1024);

    // t_nRe = Donsee_ReadIDCardUid(Response);   //身份證Uid,有需要的可以這里獲取

    // printf("Donsee_ReadIDCardUid返回:%s\n", Response);

    IDINFO idInfo;

    char t_arrMsg[256];

    // nType [in]:設(shè)置身份證讀卡類型:0,文本信息;1,文本+照片;2,文本+照片+指紋

    // nMode [in]:設(shè)置讀卡模式:0,讀卡1次、拿開后放上重讀;1,連續(xù)讀卡

    int nType = 1;

    int nMode = 1;

    memset(&idInfo, 0, sizeof(IDINFO));

    char t_szPath[256] = "IDPhoto.bmp";

    // char t_szPath[256] = "";

    // char t_szPath[256] = NULL;

    t_nRe = Donsee_ReadIDCard(nType, nMode, t_szPath, &idInfo, t_arrMsg);

    if (t_nRe != 0)

    {

    printf("讀身份證失敗\n");

    Donsee_Close();

    return -2;

    }

    else

    {

    Donsee_Beep(t_nHandle, 0x16);

    printf("讀身份證成功\n");

    printf(("中文姓名:%s\n"), idInfo.name);

    printf(("英文姓名:%s\n"), idInfo.ENfullname);

    printf(("性    別:%s\n"), idInfo.sex);

    printf(("民    族:%s\n"), idInfo.people);

    printf(("出身日期:%s\n"), idInfo.birthday);

    printf(("住    址:%s\n"), idInfo.address);

    printf(("身份證號:%s\n"), idInfo.number);

    printf(("簽發(fā)機關(guān):%s\n"), idInfo.organs);

    printf(("有效期開始:%s\n"), idInfo.signdate);

    printf(("有效期結(jié)束:%s\n"), idInfo.validterm);

    printf(("證件類別:%s\n"), idInfo.certType);

    printf(("證件版本:%s\n"), idInfo.certVersion);

    printf(("通行證號:%s\n"), idInfo.passNu);

    printf(("簽發(fā)數(shù)次:%s\n"), idInfo.signCount);

    // printf(("照片文件名:%s\n"), t_cValue);

    // printf("1024相片原始數(shù)據(jù):\n");

    // int i ;

    // for ( i = 0; i < 1024; i++)

    //{

    //printf("%02X ", idInfo.Photo[i]);

    //}

    // printf("\n");

    // if (nType == 2)

    //{

    //printf("1024指紋數(shù)據(jù):\n");

    //for ( i = 0; i < 1024; i++)

    //{

    //;//printf("%02X ", (unsigned char)idInfo.figData[i]);

    //}

    // }

    Donsee_Close();

    }

    }

    if (t_nIndex == 2) //測試社保卡,三代社保卡需要Psam秘鑰才能讀取,二代卡不需要(只能插卡讀?。?/p>

    {

    t_nHandle = Donsee_Open("USB");

    if (t_nHandle != 0)

    {

    printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);

    return -1;

    }

    SSCard_IDINFO cardInfo;

    memset(&cardInfo, 0, sizeof(cardInfo));

    long t_nRead = Donsee_ReadSSCard(0x11, &cardInfo, pszError);

    if (t_nRead != 0)

    {

    printf("讀社??ㄊ?MSG:%s\n", pszError);

    Donsee_Close();

    return -2;

    }

    else

    {

    Donsee_Beep(t_nHandle, 0x16);

    printf("讀社保卡成功\n");

    printf("姓名:%s\n", cardInfo.name);

    printf("性別:%s\n", cardInfo.sex);

    printf("民族:%s\n", cardInfo.nation);

    printf("出生日期:%s\n", cardInfo.birthday);

    printf("發(fā)證日期:%s\n", cardInfo.signdate);

    printf("有效日期:%s\n", cardInfo.validterm);

    printf("卡號:%s\n", cardInfo.cardnumber);

    printf("社會保障號碼(身份證號):%s\n", cardInfo.idnumber);

    printf("城市代碼:%s\n", cardInfo.city);

    printf("社保卡版本:%s\n", cardInfo.cardveVrsion);

    Donsee_Close();

    }

    }

    if (t_nIndex == 3) //測試M1卡

    {

    t_nHandle = Donsee_Open("USB");

    if (t_nHandle != 0)

    {

    printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);

    return -1;

    }

    char t_chMsgM1[256] = "";

    // t_nRe = Donsee_ReadICUid(t_chMsgM1);  //功能未實現(xiàn)

    // if (t_nRe == 0)

    //{

    //printf("M1 卡 獲取UID成功,UID:%s\n", t_chMsgM1);

    // }

    // M1尋卡

    t_nRe = Donsee_ICRequest();

    if (t_nRe != 0)

    {

    printf("M1 卡片請求 失敗,返回值:%ld\n", t_nRe);

    }

    t_nRe = Donsee_ICAnticoll(t_chMsgM1); //防碰撞可以出來uid,M1和cpu卡都支持

    if (t_nRe != 0)

    {

    printf("M1 卡片防碰撞 失敗,返回值:%ld\n", t_nRe);

    }

    t_nRe = Donsee_ICSelect(0x41);

    if (t_nRe != 0)

    {

    printf("TypeA 卡片選擇 失敗,返回值:%ld\n", t_nRe);

    }

    printf("M1 尋卡成功");

    printf("M1 卡 獲取UID成功,UID:%s\n", t_chMsgM1);

    int t_nKeyMode = 0x60; // KeyA

    int t_nAdd = 5;

    t_nRe = Donsee_M1VerifyPass(t_nKeyMode, t_nAdd / 4, "FFFFFFFFFFFF");

    if (t_nRe != 0)

    {

    printf("M1 卡片 Donsee_M1VerifyPass 密鑰認(rèn)證 失敗,返回值:%ld", t_nRe);

    }

    else

    printf("M1 卡 Donsee_M1VerifyPass 密鑰認(rèn)證 成功\n");

    unsigned char t_chKey[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};

    t_nRe = Donsee_M1VerifyPassHex(t_nKeyMode, t_nAdd / 4, t_chKey);

    if (t_nRe != 0)

    {

    printf("M1 卡片 Donsee_M1VerifyPassHex 密鑰認(rèn)證 失敗,返回值:%ld", t_nRe);

    }

    else

    printf("M1 卡 Donsee_M1VerifyPassHex 密鑰認(rèn)證 成功\n");

    char t_pszReadData[128] = "";

    t_nRe = Donsee_M1Read(t_nAdd, t_pszReadData);

    if (t_nRe != 0)

    {

    printf("M1 卡片讀卡 失敗,返回值:%ld\n", t_nRe);

    }

    else

    printf("M1 卡 讀取第 %d 塊數(shù)據(jù) 成功,Data:%s\n", t_nAdd, t_pszReadData);


    t_nRe = Donsee_M1Write(t_nAdd, "0102030405060708090001020304050A");

    if (t_nRe != 0)

    {

    printf("M1 卡片寫卡 失敗,返回值:%ld\n", t_nRe);

    }

    else

    printf("M1 卡 寫入第 %d 塊數(shù)據(jù): 0102030405060708090001020304050A, 成功\n", t_nAdd);

    memset(t_pszReadData, 0, 128);

    t_nRe = Donsee_M1Read(t_nAdd, t_pszReadData);

    if (t_nRe != 0)

    {

    printf("M1 卡片讀卡 失敗,返回值:%ld\n", t_nRe);

    }

    else

    printf("M1 卡 讀取第 %d 塊數(shù)據(jù) 成功,Data:%s\n", t_nAdd, t_pszReadData);


    unsigned long t_nValue = 256;

    t_nRe = Donsee_M1Initval(t_nAdd, t_nValue);

    if (t_nRe != 0)

    {

    printf("M1 卡片初始化值 失敗,返回值:%ld\n", t_nRe);

    }

    else

    printf("M1 卡 卡片初始化第 %d 塊 值  成功\n", t_nAdd);

    t_nRe = Donsee_M1Increment(t_nAdd, 100);

    if (t_nRe != 0)

    {

    printf("M1 卡片增值 失敗,返回值:%ld\n", t_nRe);

    }

    else

    printf("M1 卡 卡片增值 第 %d 塊  成功\n", t_nAdd);

    t_nRe = Donsee_M1Decrement(t_nAdd, 20);

    if (t_nRe != 0)

    {

    printf("M1 卡片減值 失敗,返回值:%ld\n", t_nRe);

    }

    else

    printf("M1 卡 卡片減值第 %d 塊 成功\n", t_nAdd);


    t_nRe = Donsee_M1Readval(t_nAdd, &t_nValue);

    if (t_nRe != 0)

    {

    printf("M1 卡片讀值 失敗,返回值:%ld\n", t_nRe);

    }

    else

    printf("M1 卡 卡片讀值 %d 塊   成功,Value = %ld\n", t_nAdd, t_nValue);

    t_nRe = Donsee_M1LoadKey(t_nKeyMode, t_nAdd / 4, "FFFFFFFFFFFF");

    if (t_nRe != 0)

    {

    printf("M1 卡片加載密鑰 失敗,返回值:%ld\n", t_nRe);

    }

    else

    printf("M1 卡 卡片加載到密鑰 第%d扇區(qū)   成功\n", t_nAdd / 4);

    t_nRe = Donsee_M1Verify(t_nKeyMode, t_nAdd / 4);

    if (t_nRe != 0)

    {

    printf("M1 卡片認(rèn)證加載密鑰 第%d扇區(qū) 失敗,返回值:%ld\n", t_nAdd / 4, t_nRe);

    }

    else

    printf("M1 卡 卡片認(rèn)證加載密鑰 第%d扇區(qū)   成功\n", t_nAdd / 4);

    Donsee_Beep(t_nHandle, 0x16);

    Donsee_Close();

    }

    if (t_nIndex == 4) //測試非接觸式CPU卡

    {

    t_nHandle = Donsee_Open("USB");

    if (t_nHandle != 0)

    {

    printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);

    return -1;

    }

    char t_arrDataRe[32] = {0};

    char t_arrDataUID[8] = {0};

    long t_nSet = Donsee_SetTypeA();

    if (t_nSet != 0)

    {

    printf("TypeA 設(shè)置失敗\n") ;

    Donsee_Close() ;

    return false;

    }

    long t_nReq = Donsee_ICRequest();

    {

    printf("TypeA 請求失敗\n") ;

    Donsee_Close() ;

    return false;

    }

    long t_nAtl = Donsee_ICAnticoll(t_arrDataUID);

    {

    printf("TypeA 防碰撞失敗\n") ;

    Donsee_Close() ;

    return false;

    }

    printf("TypeA_Anticoll:%s\n", t_arrDataUID);


    long t_nSel = Donsee_ICSelect(0x41);

    {

    printf("TypeA 選卡失敗\n") ;

    Donsee_Close() ;

    return false;

    }

    t_nRe = Donsee_PowerOnTypeA(t_arrDataRe);

    {

    printf("TypeA 上電失敗") ;

    Donsee_Close() ;

    return false;

    }

    printf("TypeA_ATR:%s\n", t_arrDataRe);

    memset(Response, 0, 1024);

    printf("TypeA-APDU發(fā)送:0084000008\n");

    t_nRe = Donsee_APDUType("0084000008", Response);

    printf("TypeA-APDU返回:%s\n", Response);

    Donsee_Beep(t_nHandle, 0x16);

    Donsee_Close();

    }

    if (t_nIndex == 5) //測試銀行卡

    {

    t_nHandle = Donsee_Open("USB");

    if (t_nHandle != 0)

    {

    printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);

    return -1;

    }

    char t_szBankNo[128] = "";

    char *p, *q;

    unsigned char tmp;

    t_nRe = Donsee_GetBankCardNo(t_szBankNo);

    if (t_nRe != 0)

    printf("讀取銀行卡號失敗\n");

    else

    {

    tmp = (unsigned char)(strchr(t_szBankNo, 'D') - t_szBankNo);

    q = (tmp > 0) ? strndup(t_szBankNo, tmp) : strdup(t_szBankNo);

    printf("讀取銀行卡號成功:%s\n", q);

    Donsee_Beep(t_nHandle, 0x16);

    }

    Donsee_Close();

    }

    if (t_nIndex == 6) //測試15693卡

    {

    t_nHandle = Donsee_Open("USB");

    if (t_nHandle != 0)

    {

    printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);

    return -1;

    }

    char t_chMsg15693[256] = "";

    t_nRe = Donsee_15693_Find(t_chMsg15693);

    if (t_nRe != 0)

    {

    printf("15693 尋卡失敗,返回值:%ld\n", t_nRe);

    }

    else

    printf("15693 尋卡成功,UID:%s\n", t_chMsg15693);


    t_nRe = Donsee_15693_Info(t_chMsg15693);

    if (t_nRe != 0)

    {

    printf("15693 卡信息獲取失敗,返回值:%ld\n", t_nRe);

    }

    else

    printf("15693 卡信息獲取成功,CardInfo:%s\n", t_chMsg15693);

    unsigned char t_nBlkAdd = 0x00;

    memset(t_chMsg15693, 0, 256);

    t_nRe = Donsee_15693_Read(t_nBlkAdd, t_chMsg15693);

    if (t_nRe != 0)

    {

    printf("15693 卡讀卡失敗,返回值:%ld\n", t_nRe);

    }

    else

    printf("15693 卡讀卡成功,Data:%s\n", t_chMsg15693);


    t_nRe = Donsee_15693_Write(t_nBlkAdd, "88898685");

    if (t_nRe != 0)

    {

    printf("15693 卡寫卡失敗,返回值:%ld\n", t_nRe);

    }

    else

    printf("15693 卡寫卡成功,Data:88898685\n");


    memset(t_chMsg15693, 0, 256);

    t_nRe = Donsee_15693_Read(t_nBlkAdd, t_chMsg15693);

    if (t_nRe != 0)

    {

    printf("15693 卡讀卡失敗,返回值:%ld\n", t_nRe);

    }

    else

    printf("15693 卡讀卡成功,Data:%s\n", t_chMsg15693);

    Donsee_Beep(t_nHandle, 0x16);

    Donsee_Close();

    }

    if (t_nIndex == 7) //測試接觸式CPU卡

    {

    t_nHandle = Donsee_Open("USB");

    if (t_nHandle != 0)

    {

    printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);

    return -1;

    }

    memset(Response, 0, 1024);

    t_nRe = Donsee_ColdPowerOn(0x01, Response);

    printf("cpu冷復(fù)位:%s\n", Response);

    memset(Response, 0, 1024);

    t_nRe = Donsee_HotPowerOn(0x01, Response);

    printf("cpu熱復(fù)位:%s\n", Response);

    memset(Response, 0, 1024);

    t_nRe = Donsee_PowerOn(0x01, Response);

    printf("cpu復(fù)位:%s\n", Response);

    memset(Response, 0, 1024);

    printf("cpu-APDU發(fā)送:0084000008\n");

    t_nRe = Donsee_APDU(0x01, "0084000008", Response);

    printf("cpu-APDU返回:%s\n", Response);

    Donsee_Beep(t_nHandle, 0x16);

    Donsee_Close();

    }

    if (t_nIndex == 8) //測試磁條卡

    {

    t_nHandle = Donsee_Open("USB");

    if (t_nHandle != 0)

    {

    printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);

    return -1;

    }

    unsigned char t_nTime = 15;

    int t_nTrack = 2;

    char t_pszTrackData[512] = "";

    t_nRe = Donsee_ReadMagCard(t_nTime, t_nTrack, t_pszTrackData);

    if (t_nRe != 0)

    {

    printf("磁條卡刷卡失敗,返回值:%ld\n", t_nRe);

    }

    else

    printf("磁條卡刷卡成功,TrackData:%s\n", t_pszTrackData);

    //設(shè)置主動輸出

    unsigned char szConfig[3] = {0x02, 0x00, 0x01};

    // t_nRe = Donsee_ReadMagType(0x00,szConfig) ;

    // if (t_nRe != 0)

    // printf("磁條卡設(shè)置主動輸出失敗,返回值:%ld\n", t_nRe);

    // else

    // printf("磁條卡設(shè)置主動輸出成功\n");

    //設(shè)置被動輸出

    // t_nRe = Donsee_ReadMagType(0x01,szConfig) ;

    // if (t_nRe != 0)

    // printf("磁條卡設(shè)置被動輸出失敗,返回值:%ld\n", t_nRe);

    // else

    // printf("磁條卡設(shè)置被動輸出成功\n");

    Donsee_Beep(t_nHandle, 0x16);

    Donsee_Close();

    }

    if (t_nIndex == 9) //測試4442卡

    {

    t_nHandle = Donsee_Open("USB");

    if (t_nHandle != 0)

    {

    printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);

    return -1;

    }

    char t_chMsg4442[256] = "";

    t_nRe = Donsee_4442_PowerOn(t_chMsg4442);

    if (t_nRe == 0)

    {

    printf("4442 卡 上電成功,UID:%s\n", t_chMsg4442);

    }

    int t_nCount;

    t_nRe = Donsee_4442_ReadCount(&t_nCount);

    if (t_nRe == 0)

    {

    printf("4442 卡 密鑰認(rèn)證剩余次數(shù):%d次\n", t_nCount);

    }

    memset(t_chMsg4442, 0, 256);

    t_nRe = Donsee_4442_Read(32, 16, t_chMsg4442);

    if (t_nRe == 0)

    {

    printf("4442 卡 讀卡成功,Data:%s\n", t_chMsg4442);

    }

    t_nRe = Donsee_4442_Verify("FFFFFF");

    if (t_nRe == 0)

    {

    printf("4442 卡 密鑰認(rèn)證成功\n");

    }

    t_nRe = Donsee_4442_Write(32, 16, "AAAAAAAAAABBBBBBBBBBCCCCCCCCCCDD");

    if (t_nRe == 0)

    {

    printf("4442 卡 寫卡成功,Data:AAAAAAAAAABBBBBBBBBBCCCCCCCCCCDD\n");

    }


    t_nRe = Donsee_4442_Read(32, 16, t_chMsg4442);

    if (t_nRe == 0)

    {

    printf("4442 卡 讀卡成功,Data:%s\n", t_chMsg4442);

    }

    t_nRe = Donsee_4442_WriteProtect(0, 16, "AAAAAAAAAABBBBBBBBBBCCCCCCCCCCDD");

    if (t_nRe == 0)

    {

    printf("4442 卡 寫卡保護成功,Data:AAAAAAAAAABBBBBBBBBBCCCCCCCCCCDD\n");

    }


    t_nRe = Donsee_4442_ReadProtect(0, 16, t_chMsg4442);

    if (t_nRe == 0)

    {

    printf("4442 卡 讀卡保護成功,Data:%s\n", t_chMsg4442);

    }

    t_nRe = Donsee_4442_PowerOff();

    if (t_nRe == 0)

    {

    printf("4442 卡 下電成功\n");

    }

    Donsee_Beep(t_nHandle, 0x16);

    Donsee_Close();

    }

    if (t_nIndex == 10) //測試北京通卡

    {

    t_nHandle = Donsee_Open("USB");

    if (t_nHandle != 0)

    {

    printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);

    return -1;

    }

    BJT_IDINFO idInfo;

    char t_arrMsg[256];

    memset(&idInfo, 0, sizeof(BJT_IDINFO));

    t_nRe = Donsee_ReadBJTIDCard(&idInfo, t_arrMsg);

    if (t_nRe != 0)

    {

    printf("讀取北京通失敗\n");

    Donsee_Close();

    return -2;

    }

    else

    Donsee_Beep(t_nHandle, 0x16);

    printf("讀取北京通成功\n");

    printf(("姓名:%s\n"), idInfo.name);

    printf(("性 別:%s\n"), idInfo.sex);

    printf(("北京通號:%s\n"), idInfo.cardnumber);

    printf(("卡片類型:%s\n"), idInfo.nType);

    printf(("證件名稱:%s\n"), idInfo.cardName);

    printf(("發(fā)卡機構(gòu):%s\n"), idInfo.organs);

    t_nRe = Donsee_ReadBJTIDCard_Photo("./bjt.jpg", t_arrMsg);

    if (t_nRe != 0)

    {

    printf("讀取北京通頭像失敗\n");

    Donsee_Close();

    return -2;

    }

    else

    printf("讀取北京通頭像成功\n");

    Donsee_Close();

    }

    if (t_nIndex == 11) //關(guān)閉射頻天線

    {

    t_nHandle = Donsee_Open("USB");

    if (t_nHandle != 0)

    {

    printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);

    return -1;

    }

    Donsee_SwitchRF(0); // 0 關(guān)閉天線,1 打開天線

    Donsee_Close();

    }

    }



    以下沒有刪除,主要是保留備份,請勿使用。

    ARM構(gòu)架Linux開發(fā)包(串口)↓

    Linux Java開發(fā)包(USB)↓

    X86和X64構(gòu)架linux開發(fā)包(USB接口)↓

    X86和X64構(gòu)架linux開發(fā)包(串口)↓


     

     
    QQ在線咨詢