ESP32 RFID

来自Jack's Lab
跳转到: 导航, 搜索

目录

1 Overview

Quantum-rfid.jpg



2 Connections

Quantum-rfid-connect.png


RC522_SDA ---> Noduino_Quantum_D10
RC522_SCK ---> Noduino_Quantum_D13
RC522_MOSI ---> Noduino_Quantum_D11
RC522_MISO --->Noduino_ Quantum_D12


RC522_GND ---> Noduino_Quantum_GND
RC522_RST ---> Noduino_Quantum_D9
RC522_3.3V ---> Noduino_Quantum_3V3




3 Quick start

3.1 Install Python

  • Run the git for windows, add this line 'export PATH=/c/python27/:$PATH' into /etc/bash.bashrc
  • Enter 'Control Panel' ---> All Control Panel Items ---> System ---> Advanced System Settings (System Properties) ---> Advanced ---> Environment Variables, add the python into PATH:


Windows-path.jpg



3.2 Install Git

Install Git for windows from: https://git-for-windows.github.io



3.3 Install Arduino

  • Install Arduino IDE
  • Run the git for windows, go to Arduino IDE installation directory:
$ cd /PATH/TO/Arduino
$ cd hardware
$ mkdir espressif
$ cd espressif
$ git clone git://github.com/espressif/arduino-esp32.git esp32
$ cd esp32/tools
$ python get.py   # waitting for generating the toolchain
$
$ cd ../../../../libraries
$ git clone git://github.com/miguelbalboa/rfid.git
Cloning into 'rfid'...
remote: Counting objects: 1105, done.
remote: Total 1105 (delta 0), reused 0 (delta 0), pack-reused 1105eceiving objects: K100%
Receiving objects: 100% (1105/1105), 1.35 MiB | 459.00 KiB/s, done.
Resolving deltas: 100% (582/582), done.
Checking connectivity... done.
  • Restart Arduino IDE



3.4 Compile and Upload

  • Run Arduino IDE, click File --> New, input following code in the new windows in Arduino IDE:
#include <SPI.h>
#include <MFRC522.h>

#define RST_PIN         SCL          // Configurable, see typical pin layout above

#define NR_OF_READERS   1

byte ssPins[] = {SS};

MFRC522 mfrc522[NR_OF_READERS];   // Create MFRC522 instance.

void setup() {

  Serial.begin(115200); // 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

  for (uint8_t reader = 0; reader < NR_OF_READERS; reader++) {
    mfrc522[reader].PCD_Init(ssPins[reader], RST_PIN); // Init each MFRC522 card
    Serial.print(F("Reader "));
    Serial.print(reader);
    Serial.print(F(": "));
    mfrc522[reader].PCD_DumpVersionToSerial();
  }
}

void loop() {

  for (uint8_t reader = 0; reader < NR_OF_READERS; reader++) {
    // Look for new cards

    if (mfrc522[reader].PICC_IsNewCardPresent() && mfrc522[reader].PICC_ReadCardSerial()) {
      Serial.print(F("Reader "));
      Serial.print(reader);
      // Show some details of the PICC (that is: the tag/card)
      Serial.print(F(": Card UID:"));
      dump_byte_array(mfrc522[reader].uid.uidByte, mfrc522[reader].uid.size);
      Serial.println();
      Serial.print(F("PICC type: "));
      MFRC522::PICC_Type piccType = mfrc522[reader].PICC_GetType(mfrc522[reader].uid.sak);
      Serial.println(mfrc522[reader].PICC_GetTypeName(piccType));

      // Halt PICC
      mfrc522[reader].PICC_HaltA();
      // Stop encryption on PCD
      mfrc522[reader].PCD_StopCrypto1();
    } //if (mfrc522[reader].PICC_IsNewC
  } //for(uint8_t reader
}

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);
  }
}


Select:

Quantum-rfid-arduino.jpg


Press Ctrl + U to upload the firmware into Quantum board


Open the serial with 115200 bitrate, reset the board, use a rfid card to touch the rc522:


Quantum-rfid-uart.jpg



4 Reference

For more information please refer to







































个人工具
名字空间

变换
操作
导航
工具箱