arduino(9):使用ESP8266,连接到RFID RC522 设备上,读取门禁卡上的设备信息

≯℡__Kan透↙ 提交于 2020-02-08 10:05:09

前言


相关arduino 全部分类:
https://blog.csdn.net/freewebsys/category_8799254.html

本文的原文连接是:
https://blog.csdn.net/freewebsys/article/details/104114070

未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys

1,关于arduino 使用 rfid-rc522


接线参考文章:

https://blog.csdn.net/qq_31878883/article/details/88971935

在这里插入图片描述
这边使用的lib 库是

https://github.com/miguelbalboa/rfid
样例也是参考上面的,需要下载 库到 libraries 文件夹中。

有 1.7K 的收藏,然后使用其中的example 中的代码。

2,使用


代码,代码不是很多,但是需要注意下配置:
#define RST_PIN 5
#define SS_PIN 4
这两个配置的是 5 和 4 的针脚,使用的是 SPI 进行通讯的。
在这里插入图片描述

/*
 * --------------------------------------------------------------------------------------------------------------------
 * Example sketch/program showing how to read data from a PICC to serial.
 * --------------------------------------------------------------------------------------------------------------------
 * This is a MFRC522 library example; for further details and other examples see: https://github.com/miguelbalboa/rfid

 * Typical pin layout used:
 * -----------------------------------------------------------------------------------------
 *             MFRC522      Arduino       Arduino   Arduino    Arduino          Arduino
 *             Reader/PCD   Uno/101       Mega      Nano v3    Leonardo/Micro   Pro Micro
 * Signal      Pin          Pin           Pin       Pin        Pin              Pin
 * -----------------------------------------------------------------------------------------
 * RST/Reset   RST          9             5         D9         RESET/ICSP-5     RST
 * SPI SS      SDA(SS)      10            53        D10        10               10
 * SPI MOSI    MOSI         11 / ICSP-4   51        D11        ICSP-4           16
 * SPI MISO    MISO         12 / ICSP-1   50        D12        ICSP-1           14
 * SPI SCK     SCK          13 / ICSP-3   52        D13        ICSP-3           15
 */

#include <SPI.h>
#include <MFRC522.h>

#define RST_PIN         5          // Configurable, see typical pin layout above
#define SS_PIN          4         // Configurable, see typical pin layout above

MFRC522 mfrc522(SS_PIN, RST_PIN);  // Create MFRC522 instance

void setup() {
	Serial.begin(9600);		// Initialize serial communications with the PC
	while (!Serial);		// Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)
	SPI.begin();			// Init SPI bus
	mfrc522.PCD_Init();		// Init MFRC522
	delay(4);				// Optional delay. Some board do need more time after init to be ready, see Readme
	mfrc522.PCD_DumpVersionToSerial();	// Show details of PCD - MFRC522 Card Reader details
	Serial.println(F("Scan PICC to see UID, SAK, type, and data blocks..."));
}

void loop() {
	// Reset the loop if no new card present on the sensor/reader. This saves the entire process when idle.
	if ( ! mfrc522.PICC_IsNewCardPresent()) {
		return;
	}

	// Select one of the cards
	if ( ! mfrc522.PICC_ReadCardSerial()) {
		return;
	}

	// Dump debug info about the card; PICC_HaltA() is automatically called
	mfrc522.PICC_DumpToSerial(&(mfrc522.uid));
}

要是针脚接错,或者是 4 5 没有修改的话,会报错误信息:


显示 RC522 设备没有连接上。只能再次检查设备连接的情况,才可以。

连接成功之后,就可以看到不停的有设备的数据信息读取出来。

Card UID
Card SAK
PICC type: MIFARE 1KB
Sector Block
stack
ctx: cont

一堆信息,具体啥意思不明白,应该是设备的啥加密的信息。

3,总结


arduino 现在已经非常的成熟了,是一个非常成熟的解决方案了。
并且rfid 也挺成熟的了,可以购买个 rc522 自己研究下,主要是接线多点。
用到了 spi 和 两个 gio的针脚。
剩下的就要补充理论信息了。

本文的原文连接是:
https://blog.csdn.net/freewebsys/article/details/104114070

博主地址是:https://blog.csdn.net/freewebsys

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!