Table of contents
Iskoristite RFID za svoj sljedeći projekt! Što je RFID? RFID oznake, kartice i naljepnice: koja je razlika? Čitanje RFID oznaka s Arduinom Čitanje RFID oznaka pomoću MicroPythona Arduino projekt za evidenciju radnog vremena u uredu s RFID-omIskoristite RFID za svoj sljedeći projekt!
Svi smo se u nekom trenutku "prislonilii", bilo da se radi o plaćanju beskontaktnom karticom, skeniranju autobusne karte ili prislanjajući karticu na čitaču na vratima. Veselo zvučni signal i zeleno svjetlo omogućuju nam pristup, ili ponekad manje prijateljski crveni bljesak navodi nas da pokušamo ponovno. Nevidljiva magija iza ovoga je radiofrekventna identifikacija (RFID) .
Ali RFID nije namijenjen samo bankama, prijevoznicima ili skladištima. Mogu ga koristiti i hobisti i maker zajednica. Kako DIY elektronički projekti postaju sve napredniji, tehnologije koje su nekad bile zatvorene u industrijskim sustavima danas su dostupne kao jednostavne plug and play pločice i moduli. To znači da možeš dodati snažne i stvarne mogućnosti identifikacije u vlastite projekte bez probijanja kroz stotine stranica tehničke dokumentacije čipova.
U ovom ćemo vam članku dati kratak pregled što je RFID, istražiti njegove uobičajene i iznenađujuće upotrebe te vam pokazati koliko je jednostavno započeti eksperimentiranje s našim 125 kHz RFID čitačem u vašim vlastitim Arduino ili MicroPython projektima.
Što je RFID?
Radiofrekventna identifikacija (RFID) koristi elektromagnetska polja za automatsku identifikaciju i praćenje malih elektroničkih uređaja koji se nazivaju RFID tagovi .
RFID sustav obično uključuje:
-
Radio odašiljač – generira RF signal koji se koristi za napajanje pasivnih tagova.
-
Radio prijemnik – sluša odgovor tagova.
-
Antena – obično je dijele odašiljač i prijemnik, a koristi se za zračenje i prikupljanje signala.
-
Radio transponder (RFID tag) – sićušni čip s vlastitom antenom koji reagira kada se napaja.

Ovako to funkcionira. Antena čitača emitira upitni RF signal. Kada RFID tag uđe u polje, njegova antena prikupi dovoljno energije za napajanje čipa. Zatim čip komunicira natrag pomoću takozvanog backscatteringa, odnosno lagano mijenja način na koji reflektira RF signal. Te promjene nose jedinstveni ID taga i druge podatke koje prijemnik potom izdvaja i tumači.
RFID se pojavljuje u mnogim dijelovima svakodnevnog života, u beskontaktnim karticama za plaćanje, sustavima protiv krađe u trgovinama, kartama za javni prijevoz i praćenju robe u skladištima. No koristi se i na iznenađujuće načine, primjerice za mjerenje vremena na maratonima, za narukvice u zabavnim parkovima bez gotovine, za provjeru autentičnosti luksuzne robe i boca vina ili čak za praćenje pčela u istraživačkim projektima. Gdje god je potrebna brza identifikacija bez dodira, RFID je često tehnologija koja stoji u pozadini.
RFID oznake, kartice i naljepnice: koja je razlika?
Sve tri opcije izgrađene su na istom principu: mali RFID čip uparen s antenom, ali se razlikuju po obliku i namjeni:
-
RFID tagovi – Trajni proizvodi koji se mogu ugraditi u proizvode, pričvrstiti na imovinu ili ušiti u tekstil. Izvrsne za industrijske ili proizvođačke projekte gdje je ponovna upotreba važna.
-
RFID kartice – Standardne plastične kartice veličine kreditne kartice, idealne za sustave pristupa zgradama, identifikacijske kartice zaposlenika ili bezgotovinsko plaćanje.
- RFID naljepnice – Tanke, fleksibilne oznake s ljepljivom podlogom koje se mogu brzo pričvrstiti na pakete, knjige ili maloprodajne artikle. Jeftine su i namjenjene za jednokratnu upotrebu.
Čitanje RFID oznaka s Arduinom
Početak korištenja RFID-a u vašim projektima je jednostavan s našom RFID čitačem od 125 kHz. Dolazi u dvije varijante:
-
I2C verzija – koristi EasyC/Qwiic konektor za jednostavno povezivanje i lančano povezivanje više uređaja.
-
UART verzija – komunicira preko jednostavne serijske TX/RX linije.
Također nudimo namjensku Arduino biblioteku kako bismo razvoj učinili što jednostavnijim. Pogledajmo neke primjere koristeći I2C verziju!
[Privremeno rezervirana slika: RFID ploča spojena na mikrokontroler putem Qwiic kabela]
Primjer: Čitanje oznake s Arduinom (I²C verzija)
Pročitajmo oznaku pomoću Qwiic verzije! Jednostavno spojite RFID ploču na mikrokontroler i provjerite može li se nešto pročitati u petlji:
void loop()
{
// Check if valid tag data is available
if (rfid.available())
{
// Read and print tag ID and raw data
Serial.print("Tag available! Tag ID: ");
Serial.print(rfid.getId());
Serial.print(" RAW RFID Data: ");
rfid.printHex64(rfid.getRaw()); // Print raw data as hexadecimal
Serial.println();
// Optionally clear RFID data from the breakout
// rfid.clear();
}
}

Detaljan vodič za Arduino biblioteku dostupan je u našoj dokumentaciji ovdje .
Potpuni primjer pokretanja za Arduino dostupan je ovdje.
Čitanje RFID oznaka pomoću MicroPythona
# Import needed libraries
from rfid import RFID
from machine import I2C, Pin
i2c = I2C(0, scl=Pin(22), sda=Pin(21))
rfid = RFID(i2c=i2c, i2c_address=0x30)
if rfid.checkHW():
print("RFID Reader detected")
while True:
if rfid.available():
tag_id = rfid.getId()
raw_data = rfid.getRaw()
print(f"Tag ID: {tag_id}")
print("Raw Data: ", end="")
rfid.printHex64(raw_data)
else:
print("Couldn't detect RFID reader")
Pogledajte naše MicroPython module ovdje .
Arduino projekt za evidenciju radnog vremena u uredu s RFID-om
Sada kada možemo lako čitati oznake, napravimo nešto još bolje! Umjesto pisanja podataka na SD karticu, na mikrokontroleru ćemo hostirati lokalni web poslužitelj koji prikazuje skeniranje oznaka u stvarnom vremenu.
Za ovaj primjer projekta trebat će vam:
1× Mikrokontroler (koristimo Soldered Dasduino CONNECTPLUS )
1× RFID čitač
1× OLED zaslon (za povratne informacije korisnika)
1× RFID kartica
2× Qwiic kabeli za plug-and-play ožičenje

Kada korisnik dodirne svoju RFID karticu ili tag, sustav će:
-
Pročitati ID s RFID ploče.
-
Prikazati ime korisnika (ili "Nepoznato") na OLED-u.
-
Poslužiti zapisnik događaja putem jednostavne web stranice na vašoj lokalnoj Wi-Fi mreži.
void loop() {
display.clearDisplay();
display.setCursor(0,0);
display.println("RFID logger");
display.println();
display.println("IP address:");
display.print(IP);
display.display();
// Monitors the presence of a client and delivers the requested HTML page
server.handleClient();
// See if the RFID scanner detects a card
if (rfid.available()) {
// If a card is detected, get its ID and store it for future use
int ID = rfid.getId();
String idStr = String(ID);
// Display the ID and when it was scanned on the display
display.setCursor(0,0);
display.clearDisplay();
display.println("Scanned ID: ");
display.println(idStr);
display.println();
display.println("At:");
display.print(getTimeString());
display.display();
// Add a scan entry so that it can be displayed on the server
addScan(idStr);
// A way to debounce the scanner so we dont get duplicate scans
while(rfid.available())
{
rfid.clear();
delay(100);
}
// Monitors the presence of a client and delivers the requested HTML page
server.handleClient();
delay(2000);
}
delay(50);
}
Sada, kada skenirate tag, ID se pojavljuje na OLED-u i u vašem pregledniku na IP adresi ESP32.
Cijeli projekt s detaljnim kodom i uputama za postavljanje dostupan je ovdje .
Spremni ste za početak vlastitog RFID projekta? Pogledajte našu ploču za čitanje RFID-a od 125 kHz i unesite beskontaktnu tehnologiju u svoj Arduino ili MicroPython projekt!