寫入資料到RFID卡片
參考資料:
RFID卡片中的資料是存在內部的記憶體中,所以,要對卡片進行讀寫,必須先認識卡片內部記憶體的結構。
RFID卡片有幾種不同的類型,Mifare 1最常用且與悠遊卡相容。
Mifare 1 卡片說明:記憶體結構
記憶體使用
存取控制
範例程式說明
(本範例所需函式都包含在同一檔案中,不要與另一篇文章<RFID 讀卡模組運用 >所提MFRC522 Library混用)
硬體接線:
參考http://arduino.cc/en/Reference/SPI,配合所用的Arduino板將7條線接妥。
軟體修改:
搜尋下列程式碼,修改數值以配合硬體實際腳位
const int chipSelectPin = 10; //SS 接腳位置const int NRSTPD = 5; //RST接腳位置 此範例主要做以下幾件事情:
完整的RFID卡片讀寫程序要對卡片進行讀寫,必須經過一連串的步驟,如下圖所示:
尋找卡片/複位應答(Answer to Request)
呼叫MFRC522_Request(),需要傳入2個參數:
參考程式行#718~
讀取卡片序號/防衝撞機制
呼叫MFRC522_Anticoll(),使用防衝撞程序來完成讀取卡號。
需要傳入1個位址(指標)參數,以接收序號回傳結果。
參考程式行#603~
選擇作用卡片
呼叫MFRC522_SelectTag(),需要傳入序號參數,以告知哪一張卡片被選擇了。
認證(Authentication)
一般不管讀取或寫入資料到卡片,都要先經過密碼認證:(參考程式行#208)
呼叫MFRC522_Auth(),需要傳入4個參數:
見程式行#718~
寫入資料
呼叫MFRC522_Write(),需要傳入2個參數:
函式原始碼及說明見程式行#783~
讀取資料
呼叫MFRC522_Read(),需要傳入2個參數:
|
沒有留言:
張貼留言