- ఉపయోగించిన భాగాలు:
- పని వివరణ:
- సర్క్యూట్ వివరణ:
- రాస్ప్బెర్రీ పైలో వైరింగ్ పి లైబ్రరీని వ్యవస్థాపించడం:
- ప్రోగ్రామింగ్ వివరణ:
మేము ఇంతకుముందు మా అనేక RFID ప్రాజెక్టులలో RFID ని ఉపయోగించాము మరియు ఇప్పటికే 8051 ను ఉపయోగించి RFID ఆధారిత అటెండెన్స్ సిస్టమ్ను నిర్మించాము, ఇక్కడ మేము రాస్ప్బెర్రీ పై ఉపయోగించి RFID బేస్డ్ అటెండెన్స్ సిస్టమ్ను నిర్మించబోతున్నాము .
ఈ RFID ఆధారిత అటెండెన్స్ సిస్టమ్ ప్రాజెక్ట్లో, RFID కార్డులను ఉపయోగించడం ద్వారా హాజరును స్వయంచాలకంగా ఎలా అధికారం ఇవ్వగలము మరియు లెక్కించగలమో మేము మీకు వివరిస్తాము. RFID టెక్నాలజీ (రేడియో ఫ్రీక్వెన్సీ ఐడెంటిఫికేషన్ అండ్ డిటెక్షన్) సాధారణంగా పాఠశాలలు, కళాశాలలు, కార్యాలయాలు మరియు స్టేషన్లలో ప్రజలను స్వయంచాలకంగా ట్రాక్ చేయడానికి వివిధ ప్రయోజనాల కోసం ఉపయోగిస్తారు. ఇక్కడ మేము RFID ని ఉపయోగించి అధీకృత వ్యక్తి హాజరును లెక్కిస్తాము.
మీకు రాస్ప్బెర్రీ పై తెలియకపోతే, మేము అన్ని ట్యుటోరియల్స్ మరియు కోరిందకాయ పై ప్రాజెక్టుల శ్రేణిని సృష్టించాము, అన్ని ప్రాథమిక భాగాలతో మరియు కొన్ని సాధారణ ప్రాజెక్టులతో ఇంటర్ఫేసింగ్తో తనిఖీ చేయండి.
ఉపయోగించిన భాగాలు:
- రాస్ప్బెర్రీ పై (బూట్ చేసిన SD కార్డుతో)
- నొక్కుడు మీట
- బజర్
- 16x2 LCD
- 10 కే కుండ
- 10 కె రెసిస్టర్
- LED
- 1 కె రెసిస్టర్
- బ్రెడ్ బోర్డు
- RFID రీడర్
- పవర్ 5 వోల్ట్
- RFID ట్యాగ్లు లేదా కార్డులు
- ఈథర్నెట్ కేబుల్
- వైర్లను కనెక్ట్ చేస్తోంది
RFID రీడర్ మరియు టాగ్లు:
RFID అనేది ఎలక్ట్రానిక్స్ పరికరం, ఇది రెండు భాగాలను కలిగి ఉంది - ఒకటి RFID రీడర్ మరియు మరొకటి RFID ట్యాగ్ లేదా కార్డ్. మేము RFID ట్యాగ్ను RFID రీడర్కు దగ్గరగా ఉంచినప్పుడు, అది ట్యాగ్ డేటాను సీరియల్గా చదువుతుంది. RFID ట్యాగ్లో కాయిల్లో 12 అంకెల అక్షర కోడ్ ఉంది. ఈ RFID 9600 bps బాడ్ రేటుతో పనిచేస్తోంది. డేటాను రీడర్ నుండి ట్యాగ్కు లేదా ట్యాగ్ను రీడర్కు బదిలీ చేయడానికి RFID విద్యుదయస్కాంతాన్ని ఉపయోగిస్తుంది.
పని వివరణ:
ఇక్కడ రాస్ప్బెర్రీ పై 3 ఈ ప్రాజెక్ట్ యొక్క మొత్తం ప్రక్రియను నియంత్రిస్తుంది (వినియోగదారు ఏదైనా రాస్ప్బెర్రీ పై బోర్డును ఉపయోగించవచ్చు). RFID రీడర్ RFID కార్డ్ ID ని చదువుతుంది , ఈ డేటాను UART ద్వారా రాస్ప్బెర్రీ పై అందుకుంటుంది, తరువాత RPi కార్డును ధృవీకరిస్తుంది మరియు ఫలితాలను LCD తెరపై చూపిస్తుంది.
ఒక వ్యక్తి స్కాన్ చేయడానికి వారి RFID ట్యాగ్ను RFID రీడర్ పైన ఉంచినప్పుడు, RFID ట్యాగ్ యొక్క డేటాను చదివి రాస్ప్బెర్రీ పైకి పంపుతుంది. అప్పుడు రాస్ప్బెర్రీ పై ఆ RFID ట్యాగ్ యొక్క ప్రత్యేక గుర్తింపు సంఖ్యను చదివి, ఆపై ఈ డేటాను ముందే నిర్వచించిన డేటా లేదా సమాచారంతో పోలుస్తుంది. డేటా ముందే నిర్వచించిన డేటాతో సరిపోలితే, రాస్ప్బెర్రీ పై ట్యాగ్ యొక్క వ్యక్తి యొక్క హాజరును ఒక్కొక్కటిగా పెంచుతుంది మరియు సరిపోలకపోతే సరిపోలకపోతే మైక్రోకంట్రోలర్ ఎల్సిడిలో 'చెల్లని కార్డ్' సందేశాన్ని చూపిస్తుంది మరియు బజర్ కొంతకాలం నిరంతరం బీప్ అవుతోంది. మరియు ఇక్కడ మేము మొత్తం సంఖ్యను చూడటానికి పుష్ బటన్ను కూడా జోడించాము. అన్ని విద్యార్థుల హాజరు. ఇక్కడ మేము 4 RFID ట్యాగ్లను తీసుకున్నాము, ఇందులో ముగ్గురు విద్యార్థుల హాజరును రికార్డ్ చేయడానికి మూడు ఉపయోగించబడతాయి మరియు ఒకటి చెల్లని కార్డుగా ఉపయోగించబడుతుంది.
సర్క్యూట్ వివరణ:
ఈ రాస్ప్బెర్రీ పై అటెండెన్స్ సిస్టమ్ ప్రాజెక్ట్ కోసం సర్క్యూట్ రేఖాచిత్రం చాలా సులభం, దీనిలో రాస్ప్బెర్రీ పై 3, RFID రీడర్, RFID టాగ్లు, బజర్, LED మరియు LCD ఉన్నాయి. ఇక్కడ రాస్ప్బెర్రీ పై రీడర్ నుండి వచ్చే డేటాను చదవడం, డేటాను ముందే నిర్వచించిన డేటాతో పోల్చడం, బజర్ డ్రైవింగ్, స్టేటస్ ఎల్ఇడి డ్రైవింగ్ మరియు ఎల్సిడి డిస్ప్లేకి స్థితిని పంపడం వంటి పూర్తి ప్రక్రియను నియంత్రిస్తుంది. RFID టాగ్లను చదవడానికి RFID రీడర్ ఉపయోగించబడుతుంది. సూచనలు కోసం బజర్ ఉపయోగించబడుతుంది మరియు ఇన్బిల్ట్ NPN ట్రాన్సిస్టర్ చేత నడపబడుతుంది. దానిపై స్థితి లేదా సందేశాలను ప్రదర్శించడానికి LCD ఉపయోగించబడుతుంది.
కనెక్షన్లు సులభం. ఎల్సిడి 4-బిట్ మోడ్లో రాస్ప్బెర్రీ పైతో అనుసంధానించబడి ఉంది. LCD యొక్క RS, RW మరియు EN పిన్ నేరుగా వైరింగ్పి GPIO 11, gnd మరియు 10 వద్ద అనుసంధానించబడి ఉన్నాయి. మరియు డేటా పిన్ వైరింగ్పి GPIO 6, 5, 4 మరియు 1 వద్ద అనుసంధానించబడి ఉంది. LCD యొక్క విరుద్ధంగా లేదా ప్రకాశాన్ని సెట్ చేయడానికి 10K పాట్ ఉపయోగించబడుతుంది. భూమికి సంబంధించి వైరింగ్పి GPIO పిన్ 7 వద్ద బజర్ కనెక్ట్ చేయబడింది. సంబంధిత RFID కార్డుతో విద్యార్థుల సూచిక కోసం మూడు LED లు అనుసంధానించబడి ఉన్నాయి. RFID కార్డును స్కాన్ చేయడానికి సిస్టమ్ సిద్ధంగా ఉందని చూపించడానికి ఒక LED ఉపయోగించబడుతుంది. అటెండెన్స్ కౌంట్ను ప్రదర్శించడానికి వైరింగ్పి GPIO పిన్ 12 వద్ద పుష్ బటన్ కనెక్ట్ చేయబడింది. RFID రీడర్ UART పిన్ వద్ద కనెక్ట్ చేయబడింది (వైరింగ్ GPIO పిన్ 16).
రాస్ప్బెర్రీ పైలో వైరింగ్ పి లైబ్రరీని వ్యవస్థాపించడం:
పైథాన్లో మాదిరిగానే మేము రాస్ప్బెర్రీ పై యొక్క GPIO పిన్లను ఉపయోగించడానికి దిగుమతి RPi.GPIO ని IO హెడర్ ఫైల్గా దిగుమతి చేస్తాము , ఇక్కడ సి భాషలో మన సి ప్రోగ్రామ్లో GPIO పిన్లను ఉపయోగించడానికి వైరింగ్పి లైబ్రరీని ఉపయోగించాలి. దిగువ ఆదేశాలను ఒక్కొక్కటిగా ఉపయోగించడం ద్వారా మేము దీన్ని ఇన్స్టాల్ చేయవచ్చు, మీరు ఈ ఆదేశాన్ని టెర్మినల్ నుండి లేదా పుట్టీ వంటి కొన్ని SSH క్లయింట్ నుండి అమలు చేయవచ్చు (మీరు విండోస్ ఉపయోగిస్తుంటే). రాస్ప్బెర్రీ పై నిర్వహణ గురించి మరింత తెలుసుకోవడానికి మా రాస్ప్బెర్రీ పై ట్యుటోరియల్ ద్వారా ప్రారంభించండి.
sudo apt-get install git-core sudo apt-get update sudo apt-get update git clone git: //git.drogon.net/wiringPi cd వైరింగ్పి గిట్ పుల్ మూలం సిడి వైరింగ్పి.
వైరింగ్ పి లైబ్రరీ యొక్క సంస్థాపనను పరీక్షించండి, క్రింద ఆదేశాలను ఉపయోగించండి:
gpio -v gpio readall
ప్రోగ్రామింగ్ వివరణ:
ఇప్పుడు మొదట మేము కొన్ని లైబ్రరీలను చేర్చాము మరియు ఈ కోడ్లో మనం ఉపయోగించాల్సిన పిన్లను నిర్వచించాము.
# చేర్చండి
దాని తరువాత, లెక్కింపు మరియు స్టోర్ విలువలు & తీగలకు కొన్ని వేరియబుల్స్ మరియు శ్రేణిని నిర్వచించండి.
int sp; int count1 = 0, count2 = 0, count3 = 0; చార్ చ; చార్ rfid; int i = 0; చార్ టెంప్;
మొత్తం ప్రక్రియను అమలు చేయడానికి విధులు వ్రాయబడ్డాయి. వాటిలో కొన్ని క్రింద ఇవ్వబడ్డాయి:
ఇచ్చిన శూన్యమైన lcdcmd ఫంక్షన్ LCD కి ఆదేశాన్ని పంపడానికి ఉపయోగించబడుతుంది
void lcdcmd (సంతకం చేయని int ch) {int temp = 0x80; డిజిటల్ రైట్ (D4, టెంప్ & ch << 3); డిజిటల్ రైట్ (D5, టెంప్ & ch << 2); డిజిటల్ రైట్ (D6, టెంప్ & ch << 1); డిజిటల్ రైట్ (D7, టెంప్ & ch); డిజిటల్ రైట్ (RS, LOW); డిజిటల్ రైట్ (EN, HIGH);……………..
ఇచ్చిన శూన్య వ్రాత ఫంక్షన్ LCD కి డేటాను పంపడానికి ఉపయోగించబడుతుంది.
void write (సంతకం చేయని int ch) {int temp = 0x80; డిజిటల్ రైట్ (D4, టెంప్ & ch << 3); డిజిటల్ రైట్ (D5, టెంప్ & ch << 2); డిజిటల్ రైట్ (D6, టెంప్ & ch << 1); డిజిటల్ రైట్ (D7, టెంప్ & ch); డిజిటల్ రైట్ (RS, HIGH); డిజిటల్ రైట్ (EN, HIGH);……………..
ఇచ్చిన గర్జన స్పష్టంగా () ఫంక్షన్ LCD క్లియర్ ఉపయోగిస్తారు, గర్జన setCursor సెట్ కర్సరు ఉపయోగపడుతుంది గర్జన ముద్రణ LCD స్ట్రింగ్ పంపడం కోసం.
void clear () {lcdcmd (0x01); set శూన్యమైన సెట్సర్సర్ (int x, int y) {int set = 0; if (y == 0) సెట్ = 128 + x; if (y == 1) సెట్ = 192 + x; lcdcmd (సెట్); print శూన్య ముద్రణ (చార్ * str) {అయితే (* str) {వ్రాయండి (* str); str ++; }}
4-బిట్ మోడ్లో ఎల్సిడిని ప్రారంభించడానికి శూన్య ప్రారంభ ఫంక్షన్ ఉపయోగించబడుతుంది.
శూన్య ప్రారంభం (int x, int y) {lcdcmd (0x02); lcdcmd (0x28); lcdcmd (0x06); lcdcmd (0x0e); lcdcmd (0x01); }
శూన్య బజర్ () మరియు శూన్య నిరీక్షణ () ఫంక్షన్లు బజర్ను బీప్ చేయడానికి మరియు కార్డును మళ్లీ ఉంచడానికి వేచి ఉండటానికి ఉపయోగిస్తారు. సీరియల్ కమ్యూనికేషన్ను ప్రారంభించడానికి ఫంక్షన్ శూన్యమైన సీరియల్బిగిన్ ఉపయోగించబడుతుంది.
శూన్య బజర్ () {డిజిటల్ రైట్ (బజ్, హై); ఆలస్యం (1000); డిజిటల్ రైట్ (బజ్, తక్కువ); wait శూన్య నిరీక్షణ () {డిజిటల్ రైట్ (led5, LOW); ఆలస్యం (3000); ser void serialbegin (int baud) {if ((sp = serialOpen ("/ dev / ttyS0", baud)) <0) {clear (); ముద్రణ ("తెరవడం సాధ్యం కాలేదు"); setCursor (0,1); ముద్రణ ("సీరియల్ పోర్ట్"); }}
లో గర్జన సెటప్ () ఫంక్షన్ మేము అన్ని GPIOs, LCD మరియు సీరియల్ UART initiaze.
void setup () {if (wiringPiSetup () == -1) {clear (); ముద్రణ ("ప్రారంభించడం సాధ్యం కాలేదు"); setCursor (0,1); ముద్రణ ("వైరింగ్పి"); } పిన్మోడ్ (led1, OUTPUT); పిన్మోడ్ (led2, OUTPUT);……………………
ఇచ్చిన శూన్యమైన get_card () ఫంక్షన్ RFID రీడర్ నుండి డేటాను పొందడానికి ఉపయోగించబడుతుంది.
లో గర్జన ప్రధాన () ఫంక్షన్, మేము LCD కొన్ని సందేశాలను చూపించాడు మరియు కోడ్ క్రింద కార్డు ధ్రువీకరించడానికి ముందే డేటా ట్యాగ్ డేటా పోలుస్తున్నారు.
……………… if (strncmp (rfid, "0900711B6003", 12) == 0) {count1 ++; స్పష్టమైన (); ముద్రణ ("Attd. రిజిస్టర్డ్"); setCursor (0,1); ముద్రణ ("స్టడ్నెట్ 1"); డిజిటల్ రైట్ (led1, HIGH); బజర్ (); డిజిటల్ రైట్ (led1, LOW); వేచి (); } else if (strncmp (rfid, "090070FE6EE9", 12) == 0) {count2 ++; స్పష్టమైన (); ముద్రణ ("Attd. రిజిస్టర్డ్"); setCursor (0,1);………………
చివరగా శూన్యమైన చెక్_బటన్ () ఫంక్షన్ బటన్ ప్రెస్లో మొత్తం హాజరును చూపించడానికి ఉపయోగించబడుతుంది.
void check_button () {if (DigitalRead (in1) == 0) {DigitalWrite (led5, LOW); స్పష్టమైన (); setCursor (0,0); ముద్రణ ("std1 std2 std3");……………..
ఈ రాస్ప్బెర్రీ పై అటెండెన్స్ సిస్టమ్ కోసం పూర్తి కోడ్ను క్రింద తనిఖీ చేయండి.