<fieldset id="drb0p"><optgroup id="drb0p"><mark id="drb0p"></mark></optgroup></fieldset>
<fieldset id="drb0p"></fieldset>
<center id="drb0p"></center>
<samp id="drb0p"></samp>
  • 国内精品久久久久久中文字幕_人妻少妇精品无码专区二区_蜜臀AV人妻久久无码精品麻豆_99精品国产一区二区三区_国内精品久久久久久TV

    非接觸式IC卡讀寫器二次開發(fā)SDK文檔說明-M1卡的讀寫操作簡化流程

    2019-06-04 14:45:00
    諾塔斯智能科技
    原創(chuàng)
    6827
    摘要:首先,感謝選擇并使用諾塔斯智能科技有限公司產(chǎn)品的客戶。為了方便用戶在使用我司非接觸式IC卡讀寫器進行二次開發(fā),我們對SDK進行了優(yōu)化和封裝,開發(fā)人員能讀懂我們的開發(fā)范例,根據(jù)范例源碼就可以實現(xiàn)二次開發(fā)了。

    首先,感謝選擇并使用諾塔斯智能科技有限公司產(chǎn)品的客戶。為了方便用戶在使用我司非接觸式IC卡讀寫器進行二次開發(fā),我們對SDK進行了優(yōu)化和封裝,開發(fā)人員能讀懂我們的開發(fā)范例,根據(jù)范例源碼就可以實現(xiàn)二次開發(fā)了。這里我們重點介紹一下如何使用我們的非接觸式IC卡讀寫器結(jié)合我們提供的SDK對M1(S50、S70)非接觸式IC卡進行二次開發(fā)。 

    在使用我司提供的SDK進行二次開發(fā)之前,開發(fā)人員應該對M1卡的主要指標、存儲結(jié)構(gòu)、工作原理、與讀寫器的通信機制。關(guān)于M1卡的相關(guān)知識可以理解"M1卡的區(qū)塊讀寫控制"和“M1卡的簡介”。

    M1卡與讀寫器的通信過程中主要有:復位應答、防沖突機制、選擇卡片、三次相互驗證、對數(shù)據(jù)庫的操作。如下圖所示:

    M1卡讀寫操作流程


    復位應答(Answer to request)

    M1射頻卡的通訊協(xié)議和通訊波特率是定義好的,當有卡片進入讀寫器的操作范圍時,讀寫器以特定的協(xié)議與它通訊,從而確定該卡是否為M1射頻卡,即驗證卡片的卡型。

     

    防沖突機制 (Anticollision Loop)

    當有多張卡進入讀寫器操作范圍時,防沖突機制會從其中選擇一張進行操作,未選中的則處于空閑模式等待下一次選卡,該過程會返回被選卡的序列號。

     

    選擇卡片(Select Tag)

    選擇被選中的卡的序列號,并同時返回卡的容量代碼。

     

    三次互相確認(3 Pass Authentication)

    選定要處理的卡片之后,讀寫器就確定要訪問的扇區(qū)號,并對該扇區(qū)密碼進行密碼校驗,在三次相互認證之后就可以通過加密流進行通訊。(在選擇另一扇區(qū)時,則必須進行另一扇區(qū)密碼校驗。)

     

    對數(shù)據(jù)塊的操作

     (Read):讀一個塊;

    (Write):寫一個塊;

    (Increment):對數(shù)值塊進行加值;

    (Decrement):對數(shù)值塊進行減值;

    存儲(Restore):將塊中的內(nèi)容存到數(shù)據(jù)寄存器中;

    傳輸(Transfer):將數(shù)據(jù)寄存器中的內(nèi)容寫入塊中;

            中止(Halt):將卡置于暫停工作狀態(tài);  

    為了方便用戶進行快速的二次開發(fā),我們將這個流程進行了簡化,簡化后的M1卡讀寫操作流程如下圖所示:

    簡化后的M1卡讀寫操作流程


    Request:對應調(diào)用LotusCardRequest函數(shù)

    設(shè)備句柄nDeviceHandle為OpenDevice返回值。
    M1/CPU/NTAG系列卡片尋卡動作。
    nRequestType參數(shù)取值:  RT_ALL = 0x52; // /< 符合14443A卡片
    RT_NOT_HALT = 0x26; // /< 未進入休眠狀態(tài)的卡
    	/**
    	 * 尋卡
    	 * 
    	 * @param nDeviceHandle
    	 *            設(shè)備句柄
    	 * @param nRequestType
    	 *            請求類型
    	 * @param tLotusCardParam
    	 *            結(jié)果值 用里面的卡片類型
    	 * @return true = 成功
    	 */
    	public native boolean Request(long nDeviceHandle, int nRequestType,
    			LotusCardParam tLotusCardParam);
    


    Anticollission:對應調(diào)用LotusCardAnticoll函數(shù)

    設(shè)備句柄nDeviceHandle為OpenDevice返回值。

    /**

     * 防沖突

     *

     * @param nDeviceHandle

     *            設(shè)備句柄

     * @param tLotusCardParam

     *            結(jié)果值 用里面的卡號

     * @return true = 成功

     */

    public native boolean Anticoll(long nDeviceHandle,

    LotusCardParam tLotusCardParam);



    Select:對應調(diào)用LotusCardSelect函數(shù)

    設(shè)備句柄nDeviceHandle為OpenDevice返回值。
    	/**
    	 * 選卡
    	 * 
    	 * @param nDeviceHandle
    	 *            設(shè)備句柄
    	 * @param tLotusCardParam
    	 *            參數(shù)(使用里面的卡號)與結(jié)果值(使用里面的卡容量大小)
    	 * @return true = 成功
    	 */
    	public native boolean Select(long nDeviceHandle,
    			LotusCardParam tLotusCardParam);


    Authentication:對應調(diào)用LotusCardAuthentication函數(shù)

    M1需要,CPU/NTAG系列不需要

    設(shè)備句柄nDeviceHandle為OpenDevice返回值。

    nSectionIndex:S50(卡型0x04)為0~15,共16個扇區(qū)。

    S70(卡型0x02)為0~39,共40個扇區(qū)。

    /**

     * 密鑰驗證

     *

     * @param nDeviceHandle

     *            設(shè)備句柄

     * @param nAuthMode

     *            驗證模式

     * @param nSectionIndex

     *            扇區(qū)索引

     * @param tLotusCardParam

     *            參數(shù)(使用里面的卡號)

     * @return true = 成功

     */

    public native boolean Authentication(long nDeviceHandle, int nAuthMode,

    int nSectionIndex, LotusCardParam tLotusCardParam);



    Read:對應調(diào)用LotusCardRead函數(shù)

    設(shè)備句柄nDeviceHandle為OpenDevice返回值。
    特別說明:如果是NTAG系列,nAddress參數(shù)為PAGE索引,每次可以讀4個PAGE,每個PAGE有4字節(jié),共16字節(jié)。
    S50:
    nAddress = 扇區(qū)索引(0~15) * 4 + 塊(0~3);
    如讀取0扇區(qū)2塊,nAddress = 0*4 +2=2;
    如讀取5扇區(qū)2塊,nAddress = 5*4 +2=22;
    S70:
    0~31扇區(qū)計算方式同S50;
    nAddress = 扇區(qū)索引(0~31) * 4 + 塊(0~3);
    如讀取0扇區(qū)2塊,nAddress = 0*4 +2=2;
    如讀取5扇區(qū)2塊,nAddress = 5*4 +2=22;
    扇區(qū)32~39 每個扇區(qū)16個塊 nAddress = 32 * 4 +(扇區(qū)索引-32)*16 + 塊(0~15);
    如讀取32扇區(qū)2塊,nAddress = 32*4 +(32-32)*16+2=130;
    如讀取37扇區(qū)12塊,nAddress = 32*4 +(37-32)*16 + 12 =220;
    	/**
    	 * 讀指定地址數(shù)據(jù)
    	 * 
    	 * @param nDeviceHandle
    	 *            設(shè)備句柄
    	 * @param nAddress
    	 *            塊地址
    	 * @param tLotusCardParam
    	 *            結(jié)果值(讀寫緩沖)
    	 * @return true = 成功
    	 */
    	public native boolean Read(long nDeviceHandle, int nAddress,
    			LotusCardParam tLotusCardParam);


    Write:對應調(diào)用LotusCardWrite函數(shù)


    設(shè)備句柄nDeviceHandle為OpenDevice返回值。
    特別說明:如果是NTAG系列,nAddress參數(shù)為PAGE索引,每次可以讀4個PAGE,每個PAGE有4字節(jié),共16字節(jié)。
    S50:
    nAddress = 扇區(qū)索引(0~15) * 4 + 塊(0~3);
    如讀取0扇區(qū)2塊,nAddress = 0*4 +2=2;
    如讀取5扇區(qū)2塊,nAddress = 5*4 +2=22;
    S70:
    0~31扇區(qū)計算方式同S50;
    nAddress = 扇區(qū)索引(0~31) * 4 + 塊(0~3);
    如讀取0扇區(qū)2塊,nAddress = 0*4 +2=2;
    如讀取5扇區(qū)2塊,nAddress = 5*4 +2=22;
    扇區(qū)32~39 每個扇區(qū)16個塊 nAddress = 32 * 4 +(扇區(qū)索引-32)*16 + 塊(0~15);
    如讀取32扇區(qū)2塊,nAddress = 32*4 +(32-32)*16+2=130;
    如讀取37扇區(qū)12塊,nAddress = 32*4 +(37-32)*16 + 12 =220;
    	/**
    	 * 讀指定地址數(shù)據(jù)
    	 * 
    	 * @param nDeviceHandle
    	 *            設(shè)備句柄
    	 * @param nAddress
    	 *            塊地址
    	 * @param tLotusCardParam
    	 *            結(jié)果值(讀寫緩沖)
    	 * @return true = 成功
    	 */
    	public native boolean Read(long nDeviceHandle, int nAddress,
    			LotusCardParam tLotusCardParam);

    M1卡的讀寫操作簡化流程操作后,函數(shù)可以復用。方便二次開發(fā),提升工作效率。



    發(fā)表評論
    評論通過審核后顯示。
    熱門文章推薦
    關(guān)于PSAM卡、SAM卡、SIM卡的特征和區(qū)別 2019-03-22 由于人們對PSAM卡、SAM卡、SIM卡的概念理解不到位加之很少仔細的對PSAM卡、SAM卡、SIM卡實物進行區(qū)別,容易將PSAM卡、SAM卡、SIM卡混為一談。諾塔斯智能科技就PSAM卡、SAM卡、SIM卡三者特征和作用進行介紹,幫助大家對PSAM卡、SAM卡、SIM卡進行深刻的認識和區(qū)分。
    M1卡常見問題和處理方法 2019-02-21 M1卡是恩智浦出品的芯片縮寫,全稱為NXP Mifare1系列,常用的有S50及S70兩種型號,截止到2013年11月4日,已經(jīng)有國產(chǎn)芯片與其兼容,利用PVC封裝M1芯片、感應天線,然后壓制成型后而制作的卡即是智能卡行業(yè)所說的M1卡。M1卡的優(yōu)點是可讀可寫的多功能卡,缺點是:價格稍貴,感應距離短,目前適合非定額消費系統(tǒng)、停車場系統(tǒng)、門禁考勤系統(tǒng)等,目前應用最廣泛的非接觸式IC卡。
    NFC數(shù)據(jù)交換格式(NDEF)規(guī)范 2019-05-28 為實現(xiàn)標簽和NFC設(shè)備,及NFC設(shè)備之間的交互通信,NFC論壇定義了稱為NFC數(shù)據(jù)交換格式(NDEF)的通用數(shù)據(jù)格式。 NDEF是輕量級的緊湊的二進制格式,可帶有URL,vCard和NFC定義的各種數(shù)據(jù)類型。
    非接觸式IC卡(M1卡)區(qū)塊讀寫控制 2019-02-21 非接觸式IC卡系列中的Mifare One (M1卡)的優(yōu)點是可讀可寫的多功能卡,缺點是:價格稍貴,感應距離短,目前適合非定額消費系統(tǒng)、停車場系統(tǒng)、門禁考勤系統(tǒng)等,目前應用最廣泛的 非接觸式IC卡。諾塔斯智能科技專業(yè)從事非接觸式IC卡讀寫器的研發(fā)與銷售,為各行業(yè)用戶提供專業(yè)的IC卡系統(tǒng)解決方案。
    聯(lián)系我們
    聯(lián)系人: 張經(jīng)理
    電話: 400-023-6659
    傳真: 023-68798110
    Email: 843718693@qq.com
    QQ: 843718693
    微信: Lotus-Smart
    微博: lotusreader
    旺旺: 諾塔斯智能科技有限公司
    地址: 重慶市江北區(qū)宏帆路36號宏帆天地1棟6樓
    • 諾塔斯智能科技在線客服
      在線客服
    • 重慶諾塔斯智能科技有限公司微信公眾號
      關(guān)注微信
    • 諾塔斯智能科技網(wǎng)上商城
      網(wǎng)上商城
    移動訪問
    日本添下边视频全过程_人妻少妇精品无码专区二区_蜜臀AV人妻久久无码精品麻豆_99精品国产一区二区三区
    <fieldset id="drb0p"><optgroup id="drb0p"><mark id="drb0p"></mark></optgroup></fieldset>
    <fieldset id="drb0p"></fieldset>
    <center id="drb0p"></center>
    <samp id="drb0p"></samp>