Joy-it RFID module Benutzerhandbuch

Typ
Benutzerhandbuch
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
Um das Modul mit Ihrem Arduino verwenden zu können, ist es zunächst
notwendig die MFRC522 Bibliothek aus dem Arduino Bibliotheksverwalter
zu installieren.
Geben Sie im sich nun önenden Fenster den Begri MFRC522in das
Suchfeld ein und installieren Sie die Bibliothek.
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
#include <SPI.h>
#include <MFRC522.h>
#define RST_PIN 9
#define SS_PIN 10
MFRC522 mfrc522(SS_PIN, RST_PIN);
void setup() {
//Initialisierung des RFID-Moduls
Serial.begin(9600);
while (!Serial);
SPI.begin();
mfrc522.PCD_Init();
mfrc522.PCD_DumpVersionToSerial(); //Details des Lesegerätes ausgeben
Serial.println(F("Scan PICC to see UID, type, and data blocks..."));
}
void loop() {
//Suche nach neuen Karten
if ( ! mfrc522.PICC_IsNewCardPresent()) {
return;
}
if ( ! mfrc522.PICC_ReadCardSerial()) {
return;
}
//Informationsabruf des RFID-Gerätes
mfrc522.PICC_DumpToSerial(&(mfrc522.uid));
}
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
sudo raspi-config
sudo reboot
sudo apt-get install python3-dev python3-pip
sudo pip3 install spidev
sudo pip3 install mfrc522
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
sudo nano Write.py
#!/usr/bin/env python
import RPi.GPIO as GPIO
from mfrc522 import SimpleMFRC522
reader = SimpleMFRC522()
try:
text = input('Tragen Sie einen Wert ein:')
print("Halten Sie die Karte / Clip an den Sensor:")
reader.write(text)
print("Erfolgreich beschrieben.")
finally:
GPIO.cleanup()
mkdir /home/pi/rc522
cd /home/pi/rc522
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
Geben Sie nun den folgenden Befehl um das Skript zum Lesen zu erstellen:
Tragen Sie folgendes Skript in diese Datei ein:
Speichern Sie die Datei mit der Tastenkombinaon STRG+O, bestägen Sie
mit Enter und verlassen Sie den Editor mit der Kombinaon STRG+X.
sudo nano Read.py
#!/usr/bin/env python
import RPi.GPIO as GPIO
from mfrc522 import SimpleMFRC522
reader = SimpleMFRC522()
try:
id, text = reader.read()
print(id)
print(text)
finally:
GPIO.cleanup()
4.3 BEISPIELANWENDUNGEN
Zum Ausführen unserer Beispielcodes, führen Sie die Datei zum
Beschreiben eines Clips oder einer Karte mit dem folgenden Befehl aus:
Die Anwendung zum Lesen können Sie mit dem folgenden Befehl starten:
sudo python3 Write.py
sudo python3 Read.py
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
5.2 BEISPIELANWENDUNGEN
Um das Modul an Ihrem micro:bit zu testen benögen Sie zuerst eine
geeignete Bibliothek. Klicken Sie hierfür in Ihrem MakeCode-Projekt auf die
Schalläche Erweiterung hinzufügenund suchen Sie hier nach dem
Begri RFID“. Installieren Sie hier die rd-mfrc522Bibliothek von Joy-IT.
Nun können Sie die folgenden Blöcke in Ihr Projekt übertragen:
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
6.2 BEISPIELANWENDUNGEN
Für die Verwendung des RFID-Moduls benögen Sie die micropython-mfrc522 Bibliothek.
Bie beachten Sie, dass diese auf Ihrem Raspberry Pi vorhanden sein muss, damit Sie den
Beispielcode ausführen können. Übertragen Sie nun den folgenden Beispielcode auf Ihren
from mfrc522 import MFRC522
import utime
# initialize RFID object
reader = MFRC522(spi_id=0,sck=18,miso=16,mosi=19,cs=17,rst=0)
print("Hold a tag near the reader")
# define parameters for acessing tag
key = [0xFF,0xFF,0xFF,0xFF,0xFF,0xFF]
PreviousCard = [0]
writeBlock = [0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0xff,
0x0b, 0x0c, 0x0d, 0x0e, 0x0f]
blockToWrite = 9
while True:
# start commuication with RFID reader
reader.init()
(stat, tag_type) = reader.request(reader.REQIDL)
# check if a tag can be read
if stat == reader.OK:
# read tag
(stat, uid) = reader.SelectTagSN()
# check if tag is the same as before
if uid == PreviousCard:
continue
# check if reading went well
if stat == reader.OK:
# print base information about tag
print("Card detected {} uid={}".format(hex(int.from_bytes(bytes
(uid),"little",False)).upper(),reader.tohexstring(uid)))
print()
# print all blocks of the tag
print("Read from tag:")
reader.MFRC522_DumpClassic1K(uid, Start=0, End=64, keyA=key)
print()
# check if tag can be written on
status = reader.auth(reader.AUTHENT1A, blockToWrite, key, uid)
if status == reader.OK:
# write on tag
status = reader.write(blockToWrite,writeBlock)
# check if writing was succesful
if status == reader.OK:
# print newly written block
print("Newly written block:")
reader.MFRC522_DumpClassic1K(uid,Start=9, End=10, keyA=key)
print()
else:
print("Unable to write")
else:
print("Authentication error for writing")
PreviousCard = uid
else:
# reset already read tag
PreviousCard=[0]
ume.sleep_ms(50)
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
  • Page 1 1
  • Page 2 2
  • Page 3 3
  • Page 4 4
  • Page 5 5
  • Page 6 6
  • Page 7 7
  • Page 8 8
  • Page 9 9
  • Page 10 10
  • Page 11 11
  • Page 12 12
  • Page 13 13
  • Page 14 14

Joy-it RFID module Benutzerhandbuch

Typ
Benutzerhandbuch

in anderen Sprachen