最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Arduino MFRC522讀卡并驗證

2022-09-05 08:48 作者:會飛的豹豹豹  | 我要投稿

Arduino操作RC522模塊讀寫,由于RC522庫并不簡單,操作有那么一些繁瑣,Arduino IDE又無法看到注釋,新接觸也就不好上手。以前剛接觸RC522時,摸例程幾天,才讀取出來ic卡。

那時候想做一個手機nfc門禁,查資料發(fā)現(xiàn)RC522比較常用,就買了一個,到手什么也不懂,(沒有了解ic卡讀卡,寫卡流程)就直接接線開始搗鼓,結(jié)果搗鼓大半天,也沒懂怎么操作。

還是先看一下讀卡寫卡流程吧!

要讓RC522工作起來,必須的順序是:尋卡--->防沖撞--->選卡---->讀/寫卡

以M1卡片為例

M1卡分為16個扇區(qū),每個扇區(qū)為4塊,每塊16個字節(jié),以塊為存取單位。每個扇區(qū)的塊0、塊1、塊2為數(shù)據(jù)塊,可用于存儲數(shù)據(jù)。而每個扇區(qū)的塊3為控制塊,包括密碼keyA,存取控制,密碼keyB。存取控制的作用是控制對應(yīng)扇區(qū)記錄的讀寫權(quán)限與keyA和keyB的關(guān)系。

其中讀寫卡片中的數(shù)據(jù)步驟是:

------>選擇塊(16個扇區(qū),每個扇區(qū)對應(yīng)4個塊,就一共有64個塊)

------>驗證密鑰A或B(控制塊決定)

------>驗證成功后讀或?qū)懭霐?shù)據(jù)(如果寫入密鑰塊,那此扇區(qū)的密鑰就被改變,下次讀取時需要驗證新的密鑰,控制位不要輕易改變,負責(zé)此扇區(qū)可能成為死扇區(qū))

其實搞懂了也就感覺沒什么難度了。

好不容易搞懂了讀寫,數(shù)據(jù)可以打印出來了。但是光打印出來沒有用啊,得會比較。那時候Arduino剛玩不久,c一點都不會,代碼完全就是靠復(fù)制,粘貼,像比較數(shù)據(jù)這種,完全懵逼,不知道怎么操作。那怎么辦捏,翻帖子唄,到處翻,有關(guān)RC522的就進去瞄一眼,搜各種關(guān)鍵詞,但是結(jié)果都是怎么讀寫,學(xué)習(xí)例程,沒有關(guān)于怎么比較的帖子,最后bibi看視頻,有個up主給了我方法

其實也蠻簡單,就是for循環(huán)對比,比一個校驗值加一個,校驗值=16,就是比對成功。

可是就是這給代碼,我當時研究了半天,不懂buffer是什么,為什么跟它比較就可以了。

那時候buffer有一個注釋,叫緩沖區(qū),這個單詞的意思就是緩沖區(qū),當時很懵逼緩沖區(qū)是什么東西,不懂意思(菜的一批),但是也沒多管,能跑就行了嘛!管他怎么跑起來的。

大概就是這樣吧!非常形象,簡直了。后來明白了,就是一個數(shù)據(jù)緩存的地方,RC522讀取到的數(shù)據(jù),緩存到里面,然后要讀取數(shù)據(jù),就從里面讀出來。只不過是一個數(shù)組,那時候還只能看懂基本變量,看到一個數(shù)組就懵逼了(菜)。


那時候也看到許多帖子是用UID做比較的,當時想,做門禁嘛,安全最重要,就死磕這。

今天重新玩了一下RC522模塊,發(fā)現(xiàn)還有人問怎么比較數(shù)據(jù),那就放大招吧!

一個庫,直接把執(zhí)行操作填寫到回調(diào)函數(shù),不用管怎么讀寫,怎么驗證。

此庫采用UID+密鑰+扇區(qū)塊認證,三重驗證,安全妥妥的。

庫函數(shù)代碼:鏈接:https://pan.baidu.com/s/1g0s7FyoR5MeXF8uprNJsAA?提取碼:k59t

Arduino MFRC522讀卡并驗證的評論 (共 條)

分享到微博請遵守國家法律
穆棱市| 南召县| 大港区| 翁牛特旗| 邵东县| 那坡县| 寿阳县| 贵德县| 西乡县| 廉江市| 涞源县| 合作市| 高安市| 射洪县| 临安市| 曲靖市| 沅江市| 杂多县| 麟游县| 云和县| 鲁山县| 洛川县| 安庆市| 宁津县| 嵩明县| 江城| 伊春市| 扶绥县| 旬阳县| 姚安县| 额敏县| 绥宁县| 望都县| 高陵县| 新宾| 花莲市| 灵武市| 岳阳县| 余江县| 雅安市| 新乡市|