- భాగాలు అవసరం
- సర్క్యూట్ రేఖాచిత్రం
- స్మార్ట్ పార్కింగ్ పరిష్కారం కోసం ప్రోగ్రామింగ్ ESP8266 నోడ్ఎంసియు
స్మార్ట్ సిటీల యొక్క ప్రజాదరణ పెరుగుతున్నందున, ప్రతి డొమైన్కు స్మార్ట్ సొల్యూషన్స్ కోసం ఎల్లప్పుడూ డిమాండ్ ఉంటుంది. IoT స్మార్ట్ సిటీస్ యొక్క అవకాశాన్ని ఇంటర్నెట్ కంట్రోల్ ఫీచర్ ద్వారా ఎనేబుల్ చేసింది. ఒక వ్యక్తి తన ఇల్లు లేదా కార్యాలయంలో వ్యవస్థాపించిన పరికరాలను ప్రపంచంలో ఎక్కడి నుండైనా స్మార్ట్ఫోన్ లేదా ఇంటర్నెట్ కనెక్ట్ చేసిన పరికరాలను ఉపయోగించడం ద్వారా నియంత్రించవచ్చు. స్మార్ట్ సిటీలో బహుళ డొమైన్లు ఉన్నాయి మరియు స్మార్ట్ సిటీలో ప్రసిద్ధ డొమైన్లలో స్మార్ట్ పార్కింగ్ ఒకటి.
స్మార్ట్ పార్కింగ్ పరిశ్రమ స్మార్ట్ పార్కింగ్ మేనేజ్మెంట్ సిస్టమ్, స్మార్ట్ గేట్ కంట్రోల్, వాహన రకాలను గుర్తించగల స్మార్ట్ కెమెరాలు, ఎఎన్పిఆర్ (ఆటోమేటిక్ నంబర్ ప్లేట్ రికగ్నిషన్), స్మార్ట్ పేమెంట్ సిస్టమ్, స్మార్ట్ ఎంట్రీ సిస్టమ్ మరియు మరెన్నో ఆవిష్కరణలను చూసింది. ఈ రోజు ఇలాంటి విధానాన్ని అనుసరిస్తారు మరియు స్మార్ట్ పార్కింగ్ పరిష్కారం నిర్మించబడుతుంది, ఇది వాహన ఉనికిని గుర్తించడానికి మరియు స్వయంచాలకంగా తెరవడానికి లేదా మూసివేయడానికి గేట్ను ప్రేరేపించడానికి అల్ట్రాసోనిక్ సెన్సార్ను ఉపయోగిస్తుంది. ESP8266 NodeMCU దానికి అనుసంధానించబడిన అన్ని పెరిఫెరల్స్ ను నియంత్రించడానికి ఇక్కడ ప్రధాన నియంత్రికగా ఉపయోగించబడుతుంది.
IoT ఆధారిత అనువర్తనాలను రూపొందించడానికి ESP8266 అత్యంత ప్రాచుర్యం పొందిన నియంత్రిక, ఎందుకంటే ఇంటర్నెట్కు కనెక్ట్ అవ్వడానికి Wi-Fi కి అంతర్నిర్మిత మద్దతు ఉంది. మేము ఇంతకుముందు అనేక IoT ప్రాజెక్టులను నిర్మించటానికి ఉపయోగించాము:
- IOT ఆధారిత భద్రతా వ్యవస్థ
- హోమ్ ఆటోమేషన్ కోసం స్మార్ట్ జంక్షన్ బాక్స్
- IOT ఆధారిత వాయు కాలుష్య పర్యవేక్షణ వ్యవస్థ
- థింగ్స్పీక్కు డేటాను పంపండి
అన్ని ESP8266 ఆధారిత ప్రాజెక్టును ఇక్కడ తనిఖీ చేయండి.
ఈ IoT స్మార్ట్ పార్కింగ్ వ్యవస్థలో, వాహనాల పార్కింగ్ కోసం స్థలం లభ్యత కోసం వెబ్ సర్వర్కు డేటాను పంపుతాము. పార్కింగ్ లభ్యత డేటాను పొందడానికి ఇక్కడ మేము ఫైర్బేస్ను అయోట్ డేటాబేస్గా ఉపయోగిస్తున్నాము. దీని కోసం మేము ఫైర్బేస్ హోస్ట్ చిరునామా మరియు అధికారం కోసం రహస్య కీని కనుగొనాలి. నోడ్ఎంసియుతో ఫైర్బేస్ను ఉపయోగించడం మీకు ఇప్పటికే తెలిస్తే, మీరు ముందుకు సాగవచ్చు, మీరు మొదట హోస్ట్ అడ్రస్ మరియు సీక్రెట్ కీని పొందడానికి ESP8266 నోడ్ఎంసియుతో గూగుల్ ఫైర్బేస్ కన్సోల్ను ఉపయోగించడం నేర్చుకోవాలి.
భాగాలు అవసరం
- ESP8266 నోడ్ఎంసియు
- అల్ట్రాసోనిక్ సెన్సార్
- DC సర్వో మోటార్
- IR సెన్సార్లు
- 16x2 i2c LCD డిస్ప్లే
- జంపర్స్
సర్క్యూట్ రేఖాచిత్రం
ఈ IoT ఆధారిత వాహన పార్కింగ్ వ్యవస్థ కోసం సర్క్యూట్ రేఖాచిత్రం క్రింద ఇవ్వబడింది. ఇందులో రెండు ఐఆర్ సెన్సార్, రెండు సర్వో మోటార్లు, ఒక అల్ట్రాసోనిక్ సెన్సార్ మరియు ఒక 16x2 ఎల్సిడి ఉన్నాయి.
ఇక్కడ ESP8266 పూర్తి ప్రక్రియను నియంత్రిస్తుంది మరియు పార్కింగ్ లభ్యత సమాచారాన్ని గూగుల్ ఫైర్బేస్కు పంపుతుంది, తద్వారా ఇది ఇంటర్నెట్ ద్వారా ప్రపంచంలో ఎక్కడి నుండైనా పర్యవేక్షించబడుతుంది. కారు ఉనికిని గుర్తించడానికి మరియు స్వయంచాలకంగా గేట్ తెరవడానికి లేదా మూసివేయడానికి రెండు ఐఆర్ సెన్సార్లను ఎంట్రీ మరియు ఎగ్జిట్ గేట్ వద్ద ఉపయోగిస్తారు. ఐఆర్ కిరణాలను పంపడం మరియు స్వీకరించడం ద్వారా ఏదైనా వస్తువును గుర్తించడానికి ఐఆర్ సెన్సార్ ఉపయోగించబడుతుంది, ఇక్కడ ఐఆర్ సెన్సార్ గురించి మరింత తెలుసుకోండి.
రెండు సర్వోలు ఎంట్రీ మరియు ఎగ్జిట్ గేట్గా పనిచేస్తాయి మరియు అవి గేట్ తెరవడానికి లేదా మూసివేయడానికి తిరుగుతాయి. చివరగా అల్ట్రాసోనిక్ సెన్సార్ పార్కింగ్ స్లాట్ అందుబాటులో ఉందా లేదా ఆక్రమించబడిందో గుర్తించడానికి మరియు డేటాను ESP8266 కు పంపించడానికి ఉపయోగించబడుతుంది. ప్రాజెక్ట్ యొక్క పూర్తి పనిని అర్థం చేసుకోవడానికి ఈ ట్యుటోరియల్ చివరిలో ఇచ్చిన వీడియోను తనిఖీ చేయండి.
ఈ పూర్తి స్మార్ట్ పార్కింగ్ సిస్టమ్ ప్రోటోటైప్ ఈ విధంగా కనిపిస్తుంది:
స్మార్ట్ పార్కింగ్ పరిష్కారం కోసం ప్రోగ్రామింగ్ ESP8266 నోడ్ఎంసియు
ఈ ట్యుటోరియల్ చివరలో వర్కింగ్ వీడియోతో పూర్తి కోడ్ ఇవ్వబడింది, ఇక్కడ మేము ప్రాజెక్ట్ యొక్క పనిని అర్థం చేసుకోవడానికి పూర్తి ప్రోగ్రామ్ను వివరిస్తున్నాము.
NodeMCU ప్రోగ్రామింగ్ కోసం, మైక్రో USB కేబుల్తో కంప్యూటర్కు NodeMCU ని ప్లగ్ చేసి Arduino IDE ని తెరవండి. I2C డిస్ప్లే మరియు సర్వో మోటార్ కోసం లైబ్రరీలు అవసరం. పార్కింగ్ స్థలాల లభ్యతను ఎల్సిడి ప్రదర్శిస్తుంది మరియు ఎంట్రీ మరియు ఎగ్జిట్ గేట్లను తెరవడానికి మరియు మూసివేయడానికి సర్వో మోటార్లు ఉపయోగించబడతాయి. Wire.h లైబ్రరీ i2c ప్రోటోకాల్లో LCD ఇంటర్ఫేస్ ఉపయోగించబడుతుంది. ESP8266 NodeMCU లోని I2C కొరకు పిన్స్ D1 (SCL) మరియు D2 (SDA). ఇక్కడ ఉపయోగించిన డేటాబేస్ ఫైర్బేస్ అవుతుంది కాబట్టి ఇక్కడ మేము కూడా లైబ్రరీ (ఫైర్బేస్ ఆర్డునో.హెచ్) తో సహా ఉన్నాము.
# చేర్చండి
గూగుల్ ఫైర్బేస్ నుండి పొందిన ఫైర్బేస్ ఆధారాలను చేర్చండి. వీటిలో మీ ప్రాజెక్ట్ పేరు మరియు రహస్య కీని కలిగి ఉన్న హోస్ట్ పేరు ఉంటుంది. ఈ విలువలను కనుగొనడానికి ఫైర్బేస్లోని మునుపటి ట్యుటోరియల్ను అనుసరించండి.
# FIREBASE_HOST "smart-parking-7f5b6.firebaseio.com" ని నిర్వచించండి # FIREBASE_AUTH "suAkUQ4wXRPW7nA0zJQVsx3H2LmeBDPGmfTMBHCT"
వైఫై ఎస్ఎస్ఐడి మరియు పాస్వర్డ్ వంటి వై-ఫై ఆధారాలను చేర్చండి.
# WIFI_SSID "సర్క్యూట్ డైజెస్ట్" ను నిర్వచించండి # WIFI_PASSWORD "సర్క్యూట్ డైజెస్ట్ 101" ని నిర్వచించండి
పరికర చిరునామాతో I2C LCD ని ప్రారంభించండి (ఇక్కడ ఇది 0x27) మరియు LCD రకం. ఎంట్రీ మరియు ఎగ్జిట్ గేట్ కోసం సర్వో మోటార్స్ కూడా ఉన్నాయి.
లిక్విడ్ క్రిస్టల్_ఐ 2 సి ఎల్సిడి (0x27, 16, 2); సర్వో మైసర్వో; సర్వో మైసర్వో 1;
I2C LCD కోసం I2C కమ్యూనికేషన్ ప్రారంభించండి.
వైర్.బెగిన్ (డి 2, డి 1);
ఎంట్రీని కనెక్ట్ చేయండి మరియు సర్వో మోటర్ను నోడ్ఎంసియు యొక్క డి 5, డి 6 పిన్లకు కనెక్ట్ చేయండి.
myservo.attach (D6); myservos.attach (D5);
అల్ట్రాసోనిక్ సెన్సార్ యొక్క ట్రిగ్గర్ పిన్ను అవుట్పుట్గా మరియు ఎకో పిన్ని ఇన్పుట్గా ఎంచుకోండి. పార్కింగ్ స్పాట్ లభ్యతను గుర్తించడానికి అల్ట్రాసోనిక్ సెన్సార్ ఉపయోగించబడుతుంది. కారు స్థలాన్ని ఆక్రమించినట్లయితే అది మెరుస్తుంది, లేకపోతే అది మెరుస్తుంది.
పిన్మోడ్ (TRIG, OUTPUT); పిన్మోడ్ (ECHO, INPUT);
నోడ్ఎంసియు యొక్క రెండు పిన్స్ డి 0 మరియు డి 4 ఐఆర్ సెన్సార్ రీడింగ్ తీసుకోవడానికి ఉపయోగిస్తారు. ఐఆర్ సెన్సార్ ఎంట్రీ మరియు ఎగ్జిట్ గేట్ సెన్సార్గా పనిచేస్తుంది. ఇది కారు ఉనికిని కనుగొంటుంది.
పిన్మోడ్ (కార్ఎక్సిటెడ్, ఇన్పుట్); పిన్మోడ్ (కార్ఎంటర్, ఇన్పుట్);
వైఫైకి కనెక్ట్ అవ్వండి మరియు కనెక్ట్ అయ్యే వరకు కొంత సమయం వేచి ఉండండి.
WiFi.begin (WIFI_SSID, WIFI_PASSWORD); సీరియల్.ప్రింట్ ("దీనికి కనెక్ట్ అవుతోంది"); సీరియల్.ప్రింట్ (WIFI_SSID); అయితే (WiFi.status ()! = WL_CONNECTED) { Serial.print ("."); ఆలస్యం (500); }
ఆధారాలతో హోస్ట్ మరియు సీక్రెట్ కీతో ఫైర్బేస్తో కనెక్షన్ని ప్రారంభించండి.
ఫైర్బేస్.బిగిన్ (FIREBASE_HOST, FIREBASE_AUTH);
I2c 16x2 LCD ను ప్రారంభించి, 0 వ వరుస 0 వ కాలమ్ వద్ద కర్సర్ స్థానాన్ని సెట్ చేయండి.
lcd.begin (); lcd.setCursor (0, 0);
అల్ట్రాసోనిక్ సెన్సార్ నుండి దూరం తీసుకోండి. నిర్దిష్ట ప్రదేశంలో వాహనం ఉనికిని గుర్తించడానికి ఇది ఉపయోగించబడుతుంది. మొదట 2 మైక్రోసెకండ్ పల్స్ పంపించి, అందుకున్న పల్స్ చదవండి. అప్పుడు దానిని 'సెం.మీ' గా మార్చండి. అల్ట్రాసోనిక్ సెన్సార్ ఉపయోగించి దూరాన్ని కొలవడం గురించి ఇక్కడ మరింత తెలుసుకోండి.
డిజిటల్ రైట్ (TRIG, LOW); delayMicroseconds (2); డిజిటల్ రైట్ (TRIG, HIGH); delayMicroseconds (10); డిజిటల్ రైట్ (TRIG, LOW); వ్యవధి = పల్స్ఇన్ (ECHO, HIGH); దూరం = (వ్యవధి / 2) / 29.1;
ఐఆర్ సెన్సార్ పిన్ను ఎంట్రీ సెన్సార్గా డిజిటల్గా చదివి, అది ఎక్కువగా ఉందో లేదో తనిఖీ చేయండి. ఇది ఎక్కువగా ఉంటే ఎంట్రీ కౌంట్ పెంచండి మరియు దానిని 16x2 LCD డిస్ప్లేకి మరియు సీరియల్ మానిటర్కు ప్రింట్ చేయండి.
int carEntry = DigitalRead (carEnter); if (carEntry == HIGH) { countYes ++; సీరియల్.ప్రింట్ ("కారు ప్రవేశించింది ="); సీరియల్.ప్రింట్ల్న్ (కౌంట్ యెస్); lcd.setCursor (0, 1); lcd.print ("కారు ప్రవేశించింది");
ఎంట్రీ గేట్ తెరవడానికి సర్వో మోటార్ యాంగిల్ను కూడా తరలించండి. మీ వినియోగ సందర్భం ప్రకారం కోణాన్ని మార్చండి.
for (pos = 140; pos> = 45; pos - = 1) { myservos.write (pos); ఆలస్యం (5); } ఆలస్యం (2000); 1 డిగ్రీ myservos.write (pos) దశల్లో (pos = 45; pos <= 140; pos + = 1) { // ; ఆలస్యం (5); }
ఫైర్బేస్ లైబ్రరీ యొక్క పుష్ స్ట్రింగ్ ఫంక్షన్ను ఉపయోగించి పఠనాన్ని ఫైర్బేస్కు పంపండి.
ఫైర్బేస్.పుష్ స్ట్రింగ్ ("/ పార్కింగ్ స్థితి /", ఫైర్ అందుబాటులో ఉంది);
ఎగ్జిట్ ఐఆర్ సెన్సార్ మరియు ఎగ్జిట్ సర్వో మోటర్ కోసం పైన చెప్పిన దశలను చేయండి .
int carExit = DigitalRead (carExited); if (carExit == HIGH) { countYes--; సీరియల్.ప్రింట్ ("కారు నిష్క్రమించింది ="); సీరియల్.ప్రింట్ల్న్ (కౌంట్ యెస్); lcd.setCursor (0, 1); lcd.print ("కారు నిష్క్రమించింది"); for (pos1 = 140; pos1> = 45; pos1 - = 1) { myservo.write (pos1); ఆలస్యం (5); } ఆలస్యం (2000); 1 డిగ్రీ myservo.write (pos1) యొక్క దశల్లో (pos1 = 45; pos1 <= 140; pos1 + = 1) { // ; ఆలస్యం (5); } ఫైర్బేస్.పుష్ స్ట్రింగ్ ("/ పార్కింగ్ స్థితి /", ఫైర్ అందుబాటులో ఉంది); lcd.clear (); }
కారు పార్కింగ్ స్థలానికి వచ్చిందా అని తనిఖీ చేయండి మరియు అది వచ్చి ఉంటే గ్లో స్పాట్ నిండినట్లు సిగ్నల్ ఇస్తుంది.
if (దూరం <6) { Serial.println ("ఆక్రమిత"); డిజిటల్ రైట్ (దారితీసింది, అధికం); }
స్పాట్ అందుబాటులో ఉందని వేరే చూపించు.
if (దూరం> 6) { Serial.println ("అందుబాటులో"); డిజిటల్ రైట్ (దారితీసింది, తక్కువ); }
పార్కింగ్ స్థలం లోపల ఉన్న మొత్తం ఖాళీ స్థలాన్ని లెక్కించండి మరియు డేటాను ఫైర్బేస్కు పంపడానికి స్ట్రింగ్లో సేవ్ చేయండి.
ఖాళీ = ఆల్ స్పేస్ - కౌంట్ యెస్; అందుబాటులో ఉంది = స్ట్రింగ్ ("అందుబాటులో =") + స్ట్రింగ్ (ఖాళీ) + స్ట్రింగ్ ("/") + స్ట్రింగ్ (ఆల్ స్పేస్); fireAvailable = స్ట్రింగ్ ("అందుబాటులో =") + స్ట్రింగ్ (ఖాళీ) + స్ట్రింగ్ ("/") + స్ట్రింగ్ (ఆల్ స్పేస్); డేటాను i2C LCD కి ప్రింట్ చేయండి. lcd.setCursor (0, 0); lcd.print (అందుబాటులో ఉంది);
ఈ ఎలా ఉంది పార్కింగ్ లభ్యత Firebase ఆన్లైన్ ట్రాక్ చేయవచ్చు క్రింద స్నాప్షాట్ చూపిన:
ఇది ESP8266 నోడ్ఎంసియు మాడ్యూల్ మరియు విభిన్న పెరిఫెరల్స్ ఉపయోగించి పూర్తి స్మార్ట్ పార్కింగ్ వ్యవస్థను పూర్తి చేస్తుంది. అల్ట్రాసోనిక్ మరియు ఐఆర్ సెన్సార్ స్థానంలో కూడా మీరు ఇతర సెన్సార్లను ఉపయోగించవచ్చు. స్మార్ట్ పార్కింగ్ సిస్టమ్ యొక్క విస్తారమైన అప్లికేషన్ ఉంది మరియు ఇది మరింత స్మార్ట్ గా ఉండటానికి వివిధ ఉత్పత్తులను జోడించవచ్చు. మీకు ఏమైనా సందేహం ఉంటే క్రింద వ్యాఖ్యానించండి లేదా మరింత మద్దతు కోసం మా ఫోరమ్కు చేరుకోండి.