చాలా మంది రైతులు వ్యవసాయ భూమి యొక్క పెద్ద భాగాలను ఉపయోగిస్తున్నారు మరియు పెద్ద భూముల యొక్క ప్రతి మూలకు చేరుకోవడం మరియు ట్రాక్ చేయడం చాలా కష్టం అవుతుంది. కొంతకాలం అసమాన నీరు చిలకరించే అవకాశం ఉంది. దీనివల్ల చెడు నాణ్యమైన పంటలు ఆర్థిక నష్టాలకు దారితీస్తాయి. ఈ దృష్టాంతంలో సరికొత్త ఐయోటి సాంకేతిక పరిజ్ఞానాన్ని ఉపయోగించి స్మార్ట్ ఇరిగేషన్ సిస్టమ్ సహాయపడుతుంది మరియు వ్యవసాయం సులభతరం చేస్తుంది.
స్మార్ట్ నీటిపారుదల వ్యవస్థ పూర్తి నీటిపారుదల వ్యవస్థ యాంత్రీకరణలో విస్తృత పరిధిని కలిగి ఉంది. ఇక్కడ మేము ESP8266 NodeMCU మాడ్యూల్ మరియు DHT11 సెన్సార్ ఉపయోగించి IoT ఆధారిత నీటిపారుదల వ్యవస్థను నిర్మిస్తున్నాము. ఇది మట్టిలోని తేమ స్థాయి ఆధారంగా నీటిని స్వయంచాలకంగా సేద్యం చేయడమే కాకుండా, భూమి పరిస్థితిని తెలుసుకోవడానికి డేటాను థింగ్స్పీక్ సర్వర్కు పంపుతుంది. ఈ వ్యవస్థ నీటి పంపును కలిగి ఉంటుంది, ఇది భూమి పర్యావరణ పరిస్థితులైన తేమ, ఉష్ణోగ్రత మరియు తేమను బట్టి భూమిపై నీటిని చల్లుకోవటానికి ఉపయోగపడుతుంది.
మేము ఇంతకుముందు ఇలాంటి ఆటోమేటిక్ ప్లాంట్ ఇరిగేషన్ సిస్టమ్ను నిర్మించాము, ఇది మొబైల్లో హెచ్చరికలను పంపుతుంది కాని IoT క్లౌడ్లో కాదు. ఇవి కాకుండా, రెయిన్ అలారం మరియు నేల తేమ డిటెక్టర్ సర్క్యూట్ కూడా స్మార్ట్ ఇరిగేషన్ వ్యవస్థను నిర్మించడంలో సహాయపడతాయి.
ప్రారంభించడానికి ముందు, వేర్వేరు పంటలకు వేర్వేరు నేల తేమ, ఉష్ణోగ్రత మరియు తేమ పరిస్థితి అవసరమని గమనించాలి. కాబట్టి ఈ ట్యుటోరియల్లో మేము అటువంటి పంటను ఉపయోగిస్తున్నాము, దీనికి నేల తేమ 50-55% అవసరం. కాబట్టి నేల దాని తేమను 50% కన్నా తక్కువకు కోల్పోయినప్పుడు మోటారు పంప్ నీటిని చల్లుకోవటానికి స్వయంచాలకంగా ఆన్ అవుతుంది మరియు తేమ 55% వరకు వెళ్ళే వరకు నీటిని చల్లుకోవడం కొనసాగుతుంది మరియు ఆ తరువాత పంప్ ఆపివేయబడుతుంది. సెన్సార్ డేటా థింగ్స్పీక్ సర్వర్కు నిర్ణీత వ్యవధిలో పంపబడుతుంది, తద్వారా ఇది ప్రపంచంలో ఎక్కడి నుండైనా పర్యవేక్షించబడుతుంది.
భాగాలు అవసరం
- నోడ్ఎంసియు ఇఎస్పి 8266
- నేల తేమ సెన్సార్ మాడ్యూల్
- వాటర్ పంప్ మాడ్యూల్
- రిలే మాడ్యూల్
- DHT11
- వైర్లను కనెక్ట్ చేస్తోంది
మీరు ఈ ప్రాజెక్ట్ కోసం అవసరమైన అన్ని భాగాలను కొనుగోలు చేయవచ్చు.
సర్క్యూట్ రేఖాచిత్రం
ఈ IoT స్మార్ట్ ఇరిగేషన్ సిస్టమ్ కోసం సర్క్యూట్ రేఖాచిత్రం క్రింద ఇవ్వబడింది:
ఆటోమేటిక్ ఇరిగేషన్ సిస్టమ్ కోసం ప్రోగ్రామింగ్ ESP8266 నోడ్ఎంసియు
ESP8266 NodeMCU మాడ్యూల్ ప్రోగ్రామింగ్ కొరకు, DHT11 సెన్సార్ లైబ్రరీ మాత్రమే బాహ్య లైబ్రరీగా ఉపయోగించబడుతుంది. తేమ సెన్సార్ అనలాగ్ అవుట్పుట్ను ఇస్తుంది, దీనిని ESP8266 నోడ్ఎంసియు అనలాగ్ పిన్ A0 ద్వారా చదవవచ్చు. NodeMCU దాని GPIO నుండి 3.3V కన్నా ఎక్కువ అవుట్పుట్ వోల్టేజ్ ఇవ్వదు కాబట్టి మేము 5V మోటారు పంపును నడపడానికి రిలే మాడ్యూల్ను ఉపయోగిస్తున్నాము. అలాగే తేమ సెన్సార్ మరియు డిహెచ్టి 11 సెన్సార్ బాహ్య 5 వి విద్యుత్ సరఫరా నుండి శక్తిని పొందుతాయి.
ఈ ట్యుటోరియల్ చివరిలో వర్కింగ్ వీడియోతో పూర్తి కోడ్ ఇవ్వబడింది, ఇక్కడ మేము ప్రాజెక్ట్ యొక్క పని ప్రవాహాన్ని అర్థం చేసుకోవడానికి ప్రోగ్రామ్ను వివరిస్తున్నాము.
అవసరమైన లైబ్రరీతో సహా ప్రారంభించండి.
# చేర్చండి
మేము థింగ్స్పీక్ సర్వర్ను ఉపయోగిస్తున్నందున, సర్వర్తో కమ్యూనికేట్ చేయడానికి API కీ అవసరం. థింగ్స్పీక్ నుండి మేము API కీని ఎలా పొందవచ్చో తెలుసుకోవడానికి మీరు థింగ్స్పీక్లో లైవ్ టెంపరేచర్ మరియు తేమ పర్యవేక్షణపై మునుపటి కథనాన్ని సందర్శించవచ్చు.
స్ట్రింగ్ apiKey = "X5AQ445IKMBYW31H const char * server =" api.thingspeak.com ";
తదుపరి దశ SSID మరియు పాస్వర్డ్ వంటి Wi-Fi ఆధారాలను వ్రాయడం.
const char * ssid = "సర్క్యూట్ డైజెస్ట్"; const char * pass = "xxxxxxxxxx";
DHT కనెక్ట్ చేయబడిన DHT సెన్సార్ పిన్ను నిర్వచించండి మరియు DHT రకాన్ని ఎంచుకోండి.
# DHTPIN D3 DHT dht (DHTPIN, DHT11) ను నిర్వచించండి ;
తేమ సెన్సార్ అవుట్పుట్ ESP8266 NodeMCU యొక్క పిన్ A0 కి అనుసంధానించబడి ఉంది. మరియు మోటారు పిన్ నోడ్ఎంసియు యొక్క డి 0 కి అనుసంధానించబడి ఉంది.
const int తేమపిన్ = A0; const int motorPin = D0;
ప్రతి నిర్వచించిన విరామం తర్వాత 10 సెకన్ల తర్వాత డేటాను పంపడానికి మేము మిల్లీస్ () ఫంక్షన్ను ఉపయోగిస్తాము. ఆలస్యం () అది మైక్రోకంట్రోలర్ ఇతర పనులు చెయ్యలేరు పేరు ఒక నిర్వచించిన ఆలస్యం కోసం కార్యక్రమం ఆపి నుండి నిషేదించారు. ఆలస్యం () మరియు మిల్లీస్ () మధ్య వ్యత్యాసం గురించి ఇక్కడ మరింత తెలుసుకోండి.
సంతకం చేయని దీర్ఘ విరామం = 10000; సంతకం చేయని దీర్ఘ మునుపటిమిల్లిస్ = 0;
మోటారు పిన్ను అవుట్పుట్గా సెట్ చేయండి మరియు ప్రారంభంలో మోటారును ఆపివేయండి. DHT11 సెన్సార్ పఠనాన్ని ప్రారంభించండి.
పిన్మోడ్ (మోటర్పిన్, అవుట్పుట్); డిజిటల్ రైట్ (మోటర్పిన్, తక్కువ); // మోటారును ప్రారంభంలో నిలిపివేయండి dht.begin ();
ఇచ్చిన SSID మరియు పాస్వర్డ్తో Wi-Fi ని కనెక్ట్ చేయడానికి ప్రయత్నించండి మరియు Wi-Fi కనెక్ట్ అయ్యే వరకు వేచి ఉండండి మరియు కనెక్ట్ అయితే తదుపరి దశలకు వెళ్ళండి.
WiFi.begin (ssid, pass); అయితే (WiFi.status ()! = WL_CONNECTED) { ఆలస్యం (500); సీరియల్.ప్రింట్ ("."); } సీరియల్.ప్రింట్ల్న్ (""); సీరియల్.ప్రింట్ల్న్ ("వైఫై కనెక్ట్"); }
ప్రోగ్రామ్ను ప్రారంభించే ప్రస్తుత సమయాన్ని నిర్వచించండి మరియు గడిచిన సమయంతో పోల్చడానికి వేరియబుల్లో సేవ్ చేయండి.
సంతకం చేయని దీర్ఘ కరెంట్మిల్లిస్ = మిల్లిస్ ();
ఉష్ణోగ్రత మరియు తేమ డేటాను చదవండి మరియు వాటిని వేరియబుల్స్లో సేవ్ చేయండి.
ఫ్లోట్ h = dht.readHumidity (); ఫ్లోట్ t = dht.readTemperature ();
DHT అనుసంధానించబడి ఉంటే మరియు ESP8266 NodeMCU రీడింగులను చదవగలిగితే, తదుపరి దశకు వెళ్లండి లేదా మళ్ళీ తనిఖీ చేయడానికి ఇక్కడ నుండి తిరిగి వెళ్ళు.
if (isnan (h) - isnan (t)) { Serial.println ("DHT సెన్సార్ నుండి చదవడం విఫలమైంది!"); తిరిగి; }
సెన్సార్ నుండి తేమ పఠనం చదవండి మరియు పఠనాన్ని ముద్రించండి.
తేమపెర్సెంటేజ్ = (100.00 - ((అనలాగ్ రీడ్ (తేమ పిన్) / 1023.00) * 100.00 శాతం); సీరియల్.ప్రింట్ ("నేల తేమ ="); సీరియల్.ప్రింట్ (తేమ శాతం); సీరియల్.ప్రింట్ల్న్ ("%");
తేమ పఠనం అవసరమైన నేల తేమ పరిధి మధ్య ఉంటే, అప్పుడు పంపును ఆపివేయండి లేదా అవసరమైన తేమకు మించి ఉంటే పంపును ఆన్ చేయండి.
if (తేమ శాతం <50) { డిజిటల్ రైట్ (మోటర్పిన్, హై); } if (తేమ శాతం > 50 && తేమ శాతం <55) { డిజిటల్ రైట్ (మోటర్పిన్, హై); } if (తేమ శాతం > 56) { డిజిటల్ రైట్ (మోటర్పిన్, తక్కువ); }
ఇప్పుడు ప్రతి 10 సెకన్ల తరువాత తేమ, ఉష్ణోగ్రత మరియు తేమ డేటాను థింగ్స్పీక్ సర్వర్కు పంపడానికి సెండ్టింగ్స్పీక్ () ఫంక్షన్కు కాల్ చేయండి .
if ((సంతకం చేయని పొడవు) (currentMillis - previousMillis)> = విరామం) { sendThingspeak (); మునుపటి మిల్లిస్ = మిల్లిస్ (); client.stop (); }
లో sendThingspeak () ఫంక్షన్ మేము వ్యవస్థ సర్వర్కు కనెక్ట్ మరియు API కీ మరియు సర్వర్ చిరునామా పాటు ThingSpeak సర్వర్కు అవును అప్పుడు మేము తేమ, ఉష్ణోగ్రత, తేమ పఠనం వ్రాస్తారు, ఒక స్ట్రింగ్ సిద్ధం మరియు ఈ స్ట్రింగ్ పంపబడుతుంది ఉంటే తనిఖీ.
if (client.connect (సర్వర్, 80 %) { స్ట్రింగ్ postStr = apiKey; postStr + = "& field1 ="; postStr + = స్ట్రింగ్ (తేమ శాతం); postStr + = "& field2 ="; postStr + = స్ట్రింగ్ (టి); postStr + = "& field3 ="; postStr + = స్ట్రింగ్ (h); postStr + = "\ r \ n \ r \ n";
చివరగా డేటా ThingSpeak సర్వర్ పంపబడుతుంది ఉపయోగించి client.print () API కీ, సర్వర్ చిరునామా మరియు మునుపటి దశలో తయారు ఇది స్ట్రింగ్ కలిగి ఫంక్షన్.
client.print ("POST / update HTTP / 1.1 \ n"); client.print ("హోస్ట్: api.thingspeak.com \ n"); client.print ("కనెక్షన్: మూసివేయి \ n"); client.print ("X-THINGSPEAKAPIKEY:" + apiKey + "\ n"); client.print ("కంటెంట్-రకం: అప్లికేషన్ / x-www-form-urlencoded \ n"); client.print ("కంటెంట్-పొడవు:"); client.print (postStr.length ()); client.print ("\ n \ n"); client.print (postStr);
చివరగా థింగ్స్పీక్ డాష్బోర్డ్లో డేటా ఎలా కనిపిస్తుంది
ఈ చివరి దశ IoT ఆధారిత స్మార్ట్ ఇరిగేషన్ సిస్టమ్పై పూర్తి ట్యుటోరియల్ను పూర్తి చేస్తుంది. నీరు చల్లిన తరువాత నేల తేమ అవసరమైన స్థాయికి చేరుకున్నప్పుడు మోటారును ఆపివేయడం చాలా ముఖ్యం అని గమనించండి. మీరు వేర్వేరు పంటలకు వేర్వేరు నియంత్రణను కలిగి ఉండే మరింత స్మార్ట్ వ్యవస్థను తయారు చేయవచ్చు.
ఈ ప్రాజెక్ట్ చేస్తున్నప్పుడు మీకు ఏవైనా సమస్యలు ఎదురైతే, క్రింద వ్యాఖ్యానించండి లేదా మరింత సంబంధిత ప్రశ్నలు మరియు వాటి సమాధానాల కోసం మా ఫోరమ్లకు చేరుకోండి.
ఈ ప్రాజెక్ట్ కోసం పూర్తి ప్రోగ్రామ్ మరియు ప్రదర్శన వీడియోను క్రింద కనుగొనండి.