参考文章
这篇应该是别人从国外论坛翻译过来的,直接就是用翻译软件翻译的,讲的很模糊
使用MySQL与Raspberry Pi和rfid-rc522考勤系统
初识 NodeMCU 及其 DEVKIT 开发板
nodeMCU引脚图
nodeMCU 和 RC522接线图
示例代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
| #include <SPI.h> #include <MFRC522.h> #define RST_PIN 5 #define SS_PIN 4 MFRC522 mfrc522(SS_PIN, RST_PIN); MFRC522::MIFARE_Key key; void setup() { Serial.begin(9600); SPI.begin(); mfrc522.PCD_Init(); Serial.println("test-demo-start"); }
void loop() { if ( ! mfrc522.PICC_IsNewCardPresent()) { return; }
if ( ! mfrc522.PICC_ReadCardSerial()) { Serial.println("没有卡可选"); return; }
Serial.print(F("卡片 UID:")); dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size); Serial.println(); Serial.print(F("卡片类型: ")); MFRC522::PICC_Type piccType = mfrc522.PICC_GetType(mfrc522.uid.sak); Serial.println(mfrc522.PICC_GetTypeName(piccType));
if ( piccType != MFRC522::PICC_TYPE_MIFARE_MINI && piccType != MFRC522::PICC_TYPE_MIFARE_1K && piccType != MFRC522::PICC_TYPE_MIFARE_4K) { Serial.println(F("仅仅适合Mifare Classic卡的读写")); return; }
MFRC522::StatusCode status; if (status != MFRC522::STATUS_OK) { Serial.print(F("身份验证失败?或者是卡链接失败")); Serial.println(mfrc522.GetStatusCodeName(status)); return; } mfrc522.PICC_HaltA(); mfrc522.PCD_StopCrypto1(); return; }
void dump_byte_array(byte *buffer, byte bufferSize) { for (byte i = 0; i < bufferSize; i++) { Serial.print(buffer[i] < 0x10 ? " 0" : " "); Serial.print(buffer[i], HEX); } }
|
本人也是小白,欢迎大神加Q1286396784相互学习