- భాగాలు అవసరం
- సర్క్యూట్ రేఖాచిత్రం
- DHT11 ఉష్ణోగ్రత మరియు తేమ సెన్సార్
- ప్రోగ్రామింగ్ NodeMCU ESP8266 ప్రత్యక్ష ఉష్ణోగ్రత మరియు తేమ పర్యవేక్షణ
మైక్రోకంట్రోలర్లకు చిన్న అంతర్గత మెమరీ ఉంది, ఇది సెన్సార్లు సృష్టించిన డేటాను ఎక్కువ కాలం సేవ్ చేయడానికి సరిపోదు, మీరు కొంత బాహ్య మెమరీ పరికరాన్ని ఉపయోగించాల్సి ఉంటుంది లేదా ఇంటర్నెట్ను ఉపయోగించి కొన్ని క్లౌడ్లో డేటాను సేవ్ చేయవచ్చు. అలాగే, మానవుడు చేరుకోలేని కొన్ని విపరీత స్థితిలో ఉన్న ప్రదేశంలో సెన్సార్ నియోగించినప్పుడు నిర్వహించడం కష్టం అవుతుంది లేదా అక్కడ తరచుగా సందర్శించడం కష్టం. ఈ రకమైన సమస్యలను సరిదిద్దడానికి, సెన్సార్ డేటాను ఆ సమయంలో భౌతిక ఉనికి లేకుండా ఎక్కడి నుండైనా నిజ సమయంలో పర్యవేక్షించాలనుకునే మార్గాలను మేము ఎల్లప్పుడూ పరిశీలిస్తాము.
నిజ సమయంలో డేటాబేస్ మేము కేవలం ఇంటర్నెట్కు కనెక్ట్ చెయ్యవచ్చు కొన్ని కంట్రోలర్ అంతర్ముఖం ఉంటుంది మరియు క్లౌడ్ సర్వర్ తో డేటా మార్పిడి చేయగలుగుతారు ఇక్కడ ఈ సందర్భంలో ఉపయోగించవచ్చు. రియల్ టైమ్ సిస్టమ్ ప్రవర్తన, డేటాబేస్ అనలిటిక్స్, స్టాటిస్టికల్ అనాలిసిస్ మరియు ప్రాసెసింగ్ మరియు భవిష్యత్ వినియోగ కేసు కోసం వ్యాఖ్యానాన్ని పర్యవేక్షించడంలో సర్వర్ డేటా ఉపయోగపడుతుంది. ఈ ప్రయోజనం కోసం చాలా IoT హార్డ్వేర్ ప్లాట్ఫారమ్లు మరియు క్లౌడ్ ప్లాట్ఫారమ్లు అందుబాటులో ఉన్నాయి. మీ IoT అనువర్తనం కోసం సరైన ప్లాట్ఫారమ్ను కనుగొనడంలో మీకు ఇబ్బందులు ఉంటే, ఆ లింక్ను అనుసరించండి.
ఇంతకుముందు మేము ఇప్పటికే థింగ్స్పీక్, అడాఫ్రూట్ IO మరియు అనేక ఇతర IoT సాఫ్ట్వేర్లను కవర్ చేసాము. ఈ రోజు మనం ఇలాంటి ప్రాజెక్ట్ను నిర్మిస్తాము, అక్కడ ఉష్ణోగ్రత మరియు తేమ సెన్సార్ DHT11 మరియు నోడ్ఎంసియు ESP8266 మాడ్యూల్ ను గూగుల్ యొక్క ఫైర్బేస్ డేటాబేస్ సర్వర్లో నిజ సమయంలో ఉష్ణోగ్రత మరియు తేమను లాగిన్ చేయడానికి ఉపయోగిస్తాము.
మేము ప్రాజెక్టును రెండు విభాగాలుగా విభజిస్తాము. మొదట, మేము హార్డ్వేర్ భాగాలను సమీకరించడం మరియు దానిలో ఫర్మ్వేర్ను అప్లోడ్ చేయడం ద్వారా ప్రారంభిస్తాము. రెండవది, రియల్ టైమ్ డేటాను మార్పిడి చేయడానికి నోడ్ఎంసియుతో సెటప్ చేయడానికి ఫైర్బేస్ను ఉపయోగిస్తాము. మీరు ESP8266 కు కొత్తగా ఉంటే లేదా ఫైర్బేస్ ఫైర్బేస్ ఉపయోగించి LED ని నియంత్రించడంలో మా మునుపటి ట్యుటోరియల్ని అనుసరించండి.
భాగాలు అవసరం
- NodeMCU ESP8266 మాడ్యూల్
- DHT11 ఉష్ణోగ్రత మరియు తేమ సెన్సార్
సర్క్యూట్ రేఖాచిత్రం
DHT11 ఉష్ణోగ్రత మరియు తేమ సెన్సార్
DHT11 మాడ్యూల్ క్రమాంకనం చేసిన డిజిటల్ సిగ్నల్ అవుట్పుట్తో తేమ మరియు ఉష్ణోగ్రత కాంప్లెక్స్ను కలిగి ఉంటుంది అంటే DHT11 సెన్సార్ మాడ్యూల్ తేమ మరియు ఉష్ణోగ్రతను సెన్సింగ్ చేయడానికి కలిపి మాడ్యూల్, ఇది క్రమాంకనం చేసిన డిజిటల్ అవుట్పుట్ సిగ్నల్ను ఇస్తుంది. DHT11 మాకు తేమ మరియు ఉష్ణోగ్రత యొక్క చాలా ఖచ్చితమైన విలువను ఇస్తుంది మరియు అధిక విశ్వసనీయత మరియు దీర్ఘకాలిక స్థిరత్వాన్ని నిర్ధారిస్తుంది. ఈ సెన్సార్లో నిరోధక రకం తేమ కొలత భాగం మరియు 8-బిట్ మైక్రోకంట్రోలర్ ఇన్బిల్ట్తో ఎన్టిసి రకం ఉష్ణోగ్రత కొలత భాగం ఉంది, ఇది వేగవంతమైన ప్రతిస్పందన మరియు ఖర్చుతో కూడుకున్నది మరియు 4-పిన్ సింగిల్ రో ప్యాకేజీలో లభిస్తుంది.
వెబ్సర్వర్లో DHT11 రీడింగులను అప్డేట్ చేయడానికి మేము ఇంతకుముందు ESP12E ను ఉపయోగించాము, అలా కాకుండా, మేము DHT11 ను ఉపయోగించిన అన్ని DHT11 ఆధారిత ప్రాజెక్ట్లను తనిఖీ చేయవచ్చు, ఇక్కడ Arduino, PIC, రాస్ప్బెర్రీ వంటి అనేక ఇతర మైక్రోకంట్రోలర్లతో ఇంటర్ఫేస్ చేయడానికి మరియు వాటిని ఉపయోగించి వాతావరణ స్టేషన్ను నిర్మించాము.
ప్రోగ్రామింగ్ NodeMCU ESP8266 ప్రత్యక్ష ఉష్ణోగ్రత మరియు తేమ పర్యవేక్షణ
వర్కింగ్ వీడియోతో పూర్తి ప్రోగ్రామ్ చివరిలో ఇవ్వబడుతుంది. ఇక్కడ మేము కోడ్ యొక్క కొన్ని ముఖ్యమైన భాగాలను వివరిస్తున్నాము.
మొదట ESP8266 మరియు ఫైర్బేస్ ఉపయోగించడానికి లైబ్రరీలను చేర్చండి.
# చేర్చండి
కింది లింక్లను అనుసరించి లైబ్రరీలను డౌన్లోడ్ చేసి, ఇన్స్టాల్ చేయండి:
github.com/FirebaseExtended/firebase-arduino/blob/master/src/Firebase.h
github.com/bblanchon/ArduinoJson
కంపైల్ చేస్తున్నప్పుడు , ArduinoJson.h లైబ్రరీ వ్యవస్థాపించబడలేదని మీకు లోపం వస్తే, దయచేసి పైన ఇచ్చిన లింక్ను ఉపయోగించి దాన్ని ఇన్స్టాల్ చేయండి.
మేము DHT11 సెన్సార్ నుండి రీడింగులను తీసుకోవడానికి మరియు ప్రతి 5 సెకన్ల విరామానికి ఫైర్బేస్కు నెట్టడానికి నోడ్ఎంసియుని ప్రోగ్రామ్ చేస్తాము. డేటాను నెట్టడానికి మేము ఒక మార్గాన్ని సెట్ చేస్తాము. ప్రస్తుతం రెండు పారామితులు. తేమ మరియు ఉష్ణోగ్రత ఒకే మాతృ మార్గంలో మరియు విభిన్న పిల్లల మార్గంలో పంపబడతాయి.
ఫైర్బేస్తో కమ్యూనికేట్ చేయడానికి ఈ రెండు పారామితులు చాలా ముఖ్యమైనవి. ఈ పారామితులను సెట్ చేయడం మరియు ESP8266 మరియు ఫైర్బేస్ మధ్య డేటా మార్పిడిని అనుమతిస్తుంది. మీ ప్రాజెక్ట్ కోసం ఈ పారామితులను కనుగొనడానికి, ఫైర్బేస్ సెటప్లో మా మునుపటి ట్యుటోరియల్ను అనుసరించండి.
# define FIREBASE_HOST "your-project.firebaseio.com" Firebase ID నుండి // ప్రాజెక్ట్ పేరు చిరునామా # define FIREBASE_AUTH "Uejx9ROxxxxxxxxxxxxxxxxxxxxxxxxfQDDkhN" // రహస్య కీ Firebase నుండి ఉత్పత్తి
ఆధారాలను విజయవంతంగా కనుగొన్న తర్వాత, పై కోడ్లో భర్తీ చేయండి.
మీ నెట్వర్క్తో కనెక్ట్ అవ్వడానికి మీ Wi-Fi SSID మరియు పాస్వర్డ్ను నమోదు చేయండి.
# WIFI_SSID "network_name" ని నిర్వచించండి // మీ ఇల్లు లేదా పబ్లిక్ వైఫై పేరును ఇన్పుట్ చేయండి # WIFI_PASSWORD "పాస్వర్డ్" // వైఫై ssid యొక్క పాస్వర్డ్ను నిర్వచించండి
NodeMCU లో DHT డేటా పిన్ను నిర్వచించండి. మీరు నోడ్ఎంసియులో ఏదైనా డిజిటల్ జిపిఐఓ పిన్ను ఉపయోగించవచ్చు.
# DHTPIN D4 ని నిర్వచించండి
DHT లైబ్రరీ అన్ని DHT వేరియంట్ల కోసం తయారు చేయబడింది మరియు మీరు DHT సెన్సార్ ఉదా. DHT11 లేదా DHT22 కోసం ఉపయోగించాలనుకునే ఎంపికతో వస్తుంది. సరైన DHT సెన్సార్ని ఎంచుకుని కొనసాగండి.
# DHTTYPE DHT11 // dht రకాన్ని DHT 11 లేదా DHT22 DHT dht (DHTPIN, DHTTYPE) గా ఎంచుకోండి;
ఎంచుకున్న Wi-Fi నెట్వర్క్కు కనెక్ట్ అవ్వండి మరియు ఫైర్బేస్ డేటాబేస్ సర్వర్కు కూడా కనెక్ట్ చేయండి.
WiFi.begin (WIFI_SSID, WIFI_PASSWORD); ఫైర్బేస్.బిగిన్ (FIREBASE_HOST, FIREBASE_AUTH);
NodeMCU యొక్క పిన్ D4 వద్ద చదవడం ప్రారంభించండి.
dht.begin ();
DHT సెన్సార్ నుండి తేమ మరియు ఉష్ణోగ్రత రీడింగులను తీసుకొని ఫ్లోట్ విలువగా సేవ్ చేయండి.
ఫ్లోట్ h = dht.readHumidity (); // పఠనం ఉష్ణోగ్రత లేదా తేమ 250 మిల్లీసెకన్లు పడుతుంది! ఫ్లోట్ t = dht.readTemperature (); // ఉష్ణోగ్రత సెల్సియస్ (డిఫాల్ట్) గా చదవండి
జస్ట్ DHT సెన్సార్ సరిగా వైర్డు ఉంటే తనిఖీ లేదా చెడిపోదు మరియు నియంత్రిక దాని నుండి రీడింగులను చదవడానికి చేయగలరు. రీడింగులను చూపించకపోతే బహుశా సెన్సార్ దెబ్బతింది, దోష సందేశాన్ని చూపించి, ముందుకు సాగకుండా మళ్ళీ తనిఖీ చేయడానికి తిరిగి వెళ్ళు.
if (isnan (h) - isnan (t)) {// ఏదైనా రీడ్లు విఫలమయ్యాయో లేదో తనిఖీ చేసి, ముందుగానే నిష్క్రమించండి (మళ్లీ ప్రయత్నించడానికి). Serial.println (F ("DHT సెన్సార్ నుండి చదవడం విఫలమైంది!")); తిరిగి; }
డీబగ్గింగ్ కోసం సెన్సార్ డేటాను సీరియల్ మానిటర్లో ప్రింట్ చేయండి మరియు ఫైర్బేస్కు పంపించడానికి ఉష్ణోగ్రత మరియు తేమ విలువలను స్ట్రింగ్ రూపంలో సేవ్ చేయండి. DHT11 సెన్సార్ నుండి రెండు రీడింగుల మధ్య కనీస ఆలస్యం 2 సెకన్లు అని కూడా గమనించండి, కాబట్టి ఎల్లప్పుడూ 2 సెకన్ల కంటే ఎక్కువ ఆలస్యాన్ని ఉపయోగించండి. DHT11 గురించి మరింత తెలుసుకోవడానికి మీరు అధికారిక డేటాషీట్ను చూడవచ్చు.
సీరియల్.ప్రింట్ ("తేమ:"); సీరియల్.ప్రింట్ (h); స్ట్రింగ్ ఫైర్హ్యూమిడ్ = స్ట్రింగ్ (హ) + స్ట్రింగ్ ("%"); // పూర్ణాంక తేమను స్ట్రింగ్ తేమగా మార్చండి సీరియల్.ప్రింట్ ("% ఉష్ణోగ్రత:"); సీరియల్.ప్రింట్ (టి); సీరియల్.ప్రింట్ల్న్ ("° C"); స్ట్రింగ్ ఫైర్టెంప్ = స్ట్రింగ్ (టి) + స్ట్రింగ్ ("° C"); ఆలస్యం (4000);
చివరికి, “your-project.firebaseio.com/DHT11/Humidity/” మార్గంలో ఫైర్బేస్కు ఉష్ణోగ్రత మరియు తేమ డేటాను పంపండి.
ఫైర్బేస్.పుష్ స్ట్రింగ్ ("/ DHT11 / తేమ", ఫైర్హ్యూమిడ్); // సెటప్ మార్గం మరియు రీడింగులను పంపండి Firebase.pushString ("/ DHT11 / Temperature", fireTemp); // సెటప్ మార్గం మరియు రీడింగులను పంపండి
మీరు మీ ఫైర్బేస్ ఖాతాలోని మొత్తం డేటాను చూడవచ్చు. ఫైర్బేస్లోని “ మై కన్సోల్ ” వద్ద “ మీ ప్రాజెక్ట్ ” లోని “ డేటాబేస్ ” విభాగానికి వెళ్లండి.
డేటాను పంపడం మరియు పర్యవేక్షించడం కోసం ఫైర్బేస్ను సెటప్ చేయడానికి మీరు మా మునుపటి ట్యుటోరియల్ను చూడవచ్చు.
ఈ IoT ఆధారిత ఉష్ణోగ్రత మరియు తేమ పర్యవేక్షణ కోసం పూర్తి కోడ్ మరియు వీడియో క్రింద ఇవ్వబడింది.