第十七章RFID无线识别装置.ppt

第十七章 RFID無線識別裝置 認識RFID RFID的類型 13.56MHz Mifare RFID-RC522模組介紹 操控Mifare模組的MFRC522程式庫 Mifare Classic 1KB的記憶體結構 認識C語言的結構(struct) 認識RFID RFID是記載唯一編號或其他資料的晶片,並且使用無線電傳輸資料的技術統稱,全名是無線射頻辨識(Radio Frequency IDentification)。 參閱 17-3 一套RFID系統由讀卡機(Reader)、電子標籤(Tag)和主控端(Host)三大部分組成。 RFID的類型(一) 參閱 17-4 底下是RFID系統的運作方式簡圖,電子標籤通常無內建電源(也稱為「無源」或「被動式」),標籤所需的電力來自讀寫器的電磁場。 底下是三種RFID標籤的封裝形式: RFID的類型(二) 用電源系統區分,可分成兩種: 被動式標籤(Passive Tag):也稱為無源標籤,無需使用電池。 主動式標籤(Active Tag):也稱為有源標籤,內含電池,無線電傳送距離較長(33公尺以上)。 用記憶體類型區分,可分成三種: 唯讀:晶片製造廠在出廠時已寫入資料。 僅能寫入一次,可多次讀取(Write-once, read many,簡稱WORM):配合「可寫入」資料的讀卡機,用戶能自行寫入資料一次。 可重複讀取和寫入:可重複寫入資料,方便標籤回收再利用。停車場和捷運使用的晶片卡及悠遊卡,都屬於這一類。為了防止資料被任意竄改,這種晶片通常具有授權與加密處理功能。 市面上比較容易買到的RFID模組頻率是125KHz和13.56MHz。 參閱 17-5 125KHz RFID模組介紹 選購RFID模組時,需要留意底下幾項規格: 輸入電壓:5V或3.3V。 無線通訊頻率和協定:通常是125KHz或13.56MHz,彼此並不相容。 資料介面 參閱 17-7 13.56MHz Mifare RFID-RC522模組介紹 Mifare(讀音:my-fare)是NXP(恩智普)半導體公司推出的非接觸型IC卡,載波頻率13.56MHz。 參閱 17-9 Mifare卡內建EEPROM、具備「防衝突處理」機制。 停車場感應幣以及RFID模組套件包含的RFID實驗卡,都是“Mifare Classic”類型,其內部的EEPROM記憶體容量為1KB。 讀取Mifare RFID卡的 UID碼 Mifare屬於接近式,這種類型的卡片簡稱為PICC(Proximity IC Card,接近式IC卡),讀寫器則簡稱PCD(Proximity Coupling Device,接近型耦合器),每張Mifare卡片都有個唯一識別碼(unique identifier,簡稱UID)。 參閱 17-10 操控Mifare模組的MFRC522程式庫 本單元程式採用Miki Balboa開發的這個MFRC522程式庫來操控Mifare模組。 本單元使用到的MFRC522程式物件的方法和屬性: MFRC522物件.PCD_Init():初始化MFRC522讀卡機模組 MFRC522物件.PICC_IsNewCardPresent():是否感應到新的卡片 MFRC522物件.PICC_ReadCardSerial():讀取卡片的資料 MFRC522物件.PICC_GetType():取得卡片類型 MFRC522物件.PICC_GetTypeName():取得卡片類型名稱 UID(唯一識別碼)的長度和內容,可從底下兩個屬性值取得: MFRC522物件.uid.size:包含UID的長度 MFRC522物件.uid.uidByte:包含UID碼的陣列 參閱 17-11 讀取Mifare卡片的UID碼 讀取Mifare卡片的流程如下,讀寫器在操作卡片時,都會經過三次雙向認證,互相驗證使用的合法性,而且通訊過程中的所有數據都經過加密,以確保安全。 SAK代表select acknowledge(選擇應答),是由卡片發給讀寫器,對於選擇卡片命令的回應。Mifare Classic的SAK值為0x18。 參閱 17-12 讀取Mifare卡片的UID碼:程式片段 // 確認是否有新卡片 19. if (mfrc522.PICC_IsNewCardPresent() mfrc522.PICC_ReadCardSerial()) { 20. byte *id = mfrc522.uid.uidByte; // 取得卡片的UID 21. byte idSize = mfrc522.uid.size; // 取得UID的長度 22. 23. Serial.pr

文档评论(0)

1亿VIP精品文档

相关文档