Obsah:

Jednoduchá aplikácia pre supermarket využívajúca RFID RC-522 a Arduino Mega: 6 krokov
Jednoduchá aplikácia pre supermarket využívajúca RFID RC-522 a Arduino Mega: 6 krokov

Video: Jednoduchá aplikácia pre supermarket využívajúca RFID RC-522 a Arduino Mega: 6 krokov

Video: Jednoduchá aplikácia pre supermarket využívajúca RFID RC-522 a Arduino Mega: 6 krokov
Video: 🚀 AMAZON 2.0 - ИНТЕРНЕТ МАГАЗИН с нуля за 6 часов [Next / React / Nest / PostgreSQL / Prisma / TS] 2024, Júl
Anonim
Jednoduchá aplikácia pre supermarket využívajúca RFID RC-522 a Arduino Mega
Jednoduchá aplikácia pre supermarket využívajúca RFID RC-522 a Arduino Mega

Je dobré, že vás opäť vidím, chlapci, v mojom ďalšom návode, tu vám pomôžem vytvoriť jednoduchú aplikáciu pre supermarkety pomocou RFID RC-522 a Arduino so spracovaním na vytvorenie jednoduchého grafického rozhrania.

Poznámka: Nespúšťajte sériový monitor Arduino počas spracovania kódu, pretože dôjde ku konfliktu portov, pretože obaja musia používať rovnaký port

Potrebuješ:

  1. Arduino Mega alebo Arduino Uno (používal som Mega)
  2. RFID-RC522
  3. 7 prepojovacích káblov medzi mužom a ženou
  4. Niektoré občianske preukazy (voliteľné)
  5. Knižnica RFID (nutné, odkaz nižšie)
  6. Wamp server
  7. Spracovanie IDE 2.2.1 (nepoužívajte väčšie množstvo)
  8. Knižnica BezierSQLib-0.2.0 na spracovanie (odkaz na stiahnutie nižšie)

Potom si stiahnite nižšie uvedenú knižnicu RFID a pridajte ju do svojho Arduino IDE kliknutím na Skica-> Zahrnúť knižnicu-> Pridať. Zip knižnicu v ponuke súborov

Krok 1: Nastavenie Arduina a RFID RC-522 (fyzické pripojenie)

Nastavenie Arduina a RFID RC-522 (fyzické pripojenie)
Nastavenie Arduina a RFID RC-522 (fyzické pripojenie)

jednoducho pripojte arduino k RFID-RC522, ako je znázornené na obrázku vyššie. Upozornenie: napájajte iba 3,3 V, inak sa modul vyhorí

Pin Out pre Uno/Nano a Mega

MODUL RC522 Uno/Nano MEGASDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ N/A N/A GND GND GND RST D9 D8 3,3 V 3,3 V 3,3 V

Krok 2: Arduino kód.,

Skopírujte nižšie uvedený kód a potom ho nahrajte do svojho Arduina

/*PINOUT: RC522 MODUL Uno/Nano MEGA SDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ N/AN/A GND GND GND RST D9 D8 3.3V 3.3V 3.3V*//*Zahrnúť štandardnú knižnicu Arduino SPI */ #include/ *Zahrnúť knižnicu RFID */ #include

/* Definujte DIO používané pre piny SDA (SS) a RST (reset). */

#define SDA_DIO 9 #define RESET_DIO 8

/ * Vytvorte inštanciu knižnice RFID */

RFID RC522 (SDA_DIO, RESET_DIO); int reader = 0;

neplatné nastavenie ()

{Serial.begin (9600); / * Povoliť rozhranie SPI */ SPI.begin (); / * Inicializujte čítačku RFID */ RC522.init (); }

prázdna slučka ()

{ / * Dočasné počítadlo slučky * / bajt i;

/* Bola zistená karta? */

if (RC522.isCard ()) { / * Ak áno, získajte jeho sériové číslo * / RC522.readCardSerial ();

/ * Zadajte sériové číslo do UART */ pre (i = 0; i <= 2; i ++) {Serial.print (RC522.serNum , DEC); //Serial.print(RC522.serNum, HEX); } Serial.print (","); Serial.print (čítačka ++); Serial.println (); } oneskorenie (1 000); }

Krok 3: Nastavenie MySQL

Nastavenie MySQL
Nastavenie MySQL
  1. Nainštalujte server Wamp pre MySQL a nakonfigurujte ho na ukladanie údajov (
  2. Spustite wamp serveropen konzolu MySQL
  3. vyberte databázu
  4. Potom vytvorte tabuľku pre svoje údaje

vytvorte tabuľku rfid (ID int (8), token int (1), názov varchar (20), množstvo int (4));

Teraz sa pozrite na tento odkaz a zistite, ako získať hodnotu značky RFID. Potom pomocou nižšie uvedeného kódu vložte údaje. Nezabudnite hodnotu ID nahradiť hodnotou značky RFID.

vložte do hodnôt rfid (3756178, 1, 'Pencil', 20);

použite hodnotu tokenu ako 1, takže po prvom prečítaní hodnoty tagu sa automaticky zmení na 2, nepoužívajte 0 pre hodnotu tokenu pri čítaní karty, ktorá nie je vložená v databáze DB, priradí 0 a potom ju zobrazí ako neznámu kartu..

Krok 4: Nastavenie spracovania IDE

Nastavenie spracovania IDE
Nastavenie spracovania IDE
  1. Stiahnite a nainštalujte si Processing IDE 2.2.1
  2. Rozbaľte vyššie uvedené ZIP do priečinka Moje dokumenty/Spracovanie/Knižnice
  3. Teraz otvorte spracovanie IDE a skontrolujte, či je knižnica nainštalovaná správne alebo nie, ako na obrázku vyššie
  4. Potom skopírujte nižšie uvedený kód na spracovanie a pomenujte ho podľa seba

import de.bezier.data.sql.*; spracovanie importu.sériové.*; // import java.math. BigInteger;

// vytvoril 2005-05-10 od fjenett

// aktualizovaný fjenett 20080605

Pripojenie MySQL db;

Reťazec s = ""; int Wheight = 700; int Šírka = 1200; dlhé ID; int token; int čiastka; int celkom = 0;

Reťazec a = {"NULL", "NULL"};

int koniec = 10; // číslo 10 je ASCII pre linefeed (koniec serial.println), neskôr to budeme hľadať, aby sme rozdelili jednotlivé správy String serial; // deklarujte nový reťazec s názvom 'serial'. Reťazec je postupnosť znakov (dátový typ známy ako „char“) Sériový port; Reťazcový prúd, predchádzajúci, Názov; PFont f;

neplatné nastavenie ()

{// veľkosť (šírka, šírka); veľkosť (700, 500); f = createFont ("Arial", 24, true); // tento príklad predpokladá, že // mysql server spustíte lokálne (na "localhost"). // // nahraďte --username--, --password-- svojim účtom mysql. // Reťazec user = "root"; Reťazcový pas = ""; // názov databázy, ktorá sa má použiť // Reťazcová databáza = "IOT_Database"; // názov tabuľky, ktorá sa vytvorí String table = ""; // pripojenie k databáze servera "localhost" dbconnection = nové MySQL (toto, "localhost", databáza, užívateľ, prístup); port = new Serial (this, Serial.list () [0], 9600); // inicializácia objektu priradením portu a prenosovej rýchlosti (musí sa zhodovať s rýchlosťou Arduina) port.clear (); // funkcia zo sériovej knižnice, ktorá vyhodí prvé čítanie, v prípade, že sme začali čítať v strede reťazca z Arduina serial = port.readStringUntil (end); // funkcia, ktorá číta reťazec zo sériového portu do println a potom priradí reťazec našej reťazcovej premennej (nazývanej 'sériový') serial = null; } void draw () {pozadie (255); textFont (f, 24); výplň (0); text („Celková čiastka Rs:“, 400, 400); text (Spolu, 585, 400); údaje (); while (port.available ()> 0) {// pokiaľ sú dáta prichádzajúce zo sériového portu, prečítajte si ich a uložte ich serial = port.readStringUntil (end); } if (serial! = null) {prev = prúd; prúd = a [1]; a = rozdelenie (sériové, ','); // nové pole (nazývané „a“), ktoré ukladá hodnoty do samostatných buniek (oddelených čiarkami uvedenými vo vašom programe Arduino), ak ((prúd). rovná sa (predchádzajúci)) {//} else {// println ("prúd ", prúd); // println ("Predchádzajúci", predchádzajúci); funkcia (); }}}

prázdna funkcia ()

{if (dbconnection.connect ()) {// teraz si to prečítajte späť // dbconnection.query ("SELECT * from rfid where ID ="+a [0]+""); while (dbconnection.next ()) {ID = dbconnection.getInt ("ID"); token = dbconnection.getInt ("token"); Suma = dbconnection.getInt ("Suma"); } if (token == 0) {println ("Ok"); textFont (f, 54); výplň (255, 0, 0, 160); text („Zistená neznáma položka“, 50, 300); oneskorenie (2000); } else if (token == 1) {Total = Total+Amount; dbconnection.query ("aktualizovať token množiny rfid = 2, kde ID ="+a [0]+""); println ("Ok"); textFont (f, 24); výplň (255, 0, 0, 160); // text ("Položka pridaná", 10, 30); oneskorenie (1000); } else if (token == 2) {Total = Total-Amount; dbconnection.query ("aktualizovať token množiny rfid = 1, kde ID ="+a [0]+""); println ("Ok"); textFont (f, 24); výplň (255, 0, 0, 160); // text ("Položka odstránená", 10, 30); oneskorenie (1000); } else {} dbconnection.close (); } else {// spojenie zlyhalo! }}

neplatné údaje ()

{int pozícia = 100; if (dbconnection.connect ()) {dbconnection.query ("SELECT * from rfid where token = 2"); while (dbconnection.next ()) {Name = dbconnection.getString ("Name"); Suma = dbconnection.getInt ("Suma"); textFont (f, 24); výplň (0, 0, 255, 160); text (meno, 10, pozícia); výplň (0, 0, 0, 160); text (Suma, 215, pozícia); poloha = poloha+30; }} dbconnection.close (); }

Krok 5: Spustenie programu

Vykonávanie programu
Vykonávanie programu
Vykonávanie programu
Vykonávanie programu
Vykonávanie programu
Vykonávanie programu
Vykonávanie programu
Vykonávanie programu

Spustite program kliknutím na tlačidlo Spustiť, nezatvorte vyskakovacie okno. Zatvorenie zastaví spustenie a pod dotazom zobrazíte uložené údaje v MySQL …

Krok 6: Záver

Chcel by som vám poďakovať za prečítanie môjho tutoriálu. Ocenil by som, keby ste to považovali za užitočné a zanechali ste like (obľúbené) alebo sa ma niečo opýtali, pretože ma to motivovalo vykonávať tieto pokyny. neváhajte sa opýtať na akékoľvek otázky, ktoré potrebujete vedieť …

Šťastné kódovanie Arduino…

Odporúča: