زیادہ تر کسان کاشتکاری کے بڑے حص.ے استعمال کرتے ہیں اور بڑی زمینوں کے ہر کونے تک پہنچنا اور اس کا پتہ لگانا بہت مشکل ہوجاتا ہے۔ کبھی کبھی پانی کے ناہموار چھڑکنے کا امکان رہتا ہے۔ اس کا نتیجہ خراب معیاری فصلوں کا ہے جو مزید مالی نقصان کا باعث ہے۔ اس منظر نامے میں جدید آئی او ٹی ٹکنالوجی کا استعمال کرتے ہوئے اسمارٹ ایریگیشن سسٹم مددگار ہے اور کاشتکاری میں آسانی کا باعث ہے۔
اسمارٹ آبپاشی کے نظام کو مکمل آب پاشی کے نظام کو خود کار کرنے کے لئے وسیع گنجائش ہے. ہم یہاں ESP8266 نوڈیم سی یو ماڈیول اور DHT11 سینسر کا استعمال کرتے ہوئے IOT پر مبنی آبپاشی کا نظام بنا رہے ہیں ۔ یہ نہ صرف مٹی میں نمی کی سطح کی بنیاد پر پانی کی سیراب کرے گا بلکہ زمین کی حالت کا پتہ لگانے کے لئے ڈیٹا کو تھنگ اسپیک سرور کو بھیجا جائے گا۔ یہ نظام ایک واٹر پمپ پر مشتمل ہوگا جو زمین کی ماحولیاتی حالت جیسے نمی ، درجہ حرارت اور نمی کے لحاظ سے زمین پر پانی چھڑکنے کے لئے استعمال ہوگا۔
ہم پہلے بھی ایسا ہی آٹومیٹک پلانٹ ایریگیشن سسٹم بناتے ہیں جو موبائل پر الرٹس بھیجتا ہے لیکن آئی او ٹی کلاؤڈ پر نہیں۔ اس کے علاوہ بارش کا الارم اور مٹی میں نمی کا پتہ لگانے والا سرکٹ اسمارٹ آبپاشی نظام کی تعمیر میں بھی مددگار ثابت ہوسکتا ہے۔
شروع کرنے سے پہلے ، یہ نوٹ کرنا ضروری ہے کہ مختلف فصلوں میں مختلف مٹی نمی ، درجہ حرارت اور نمی کی حالت کی ضرورت ہوتی ہے۔ لہذا اس ٹیوٹوریل میں ہم ایسی فصل کا استعمال کر رہے ہیں جس میں مٹی کی نمی کی ضرورت ہوگی جس میں تقریبا 50 50-55٪ ہوتا ہے۔ لہذا جب مٹی اپنی نمی کو 50٪ سے بھی کم کھو دے گی تب موٹر پمپ پانی چھڑکنے کے لئے خود بخود آن ہوجائے گا اور جب تک نمی 55٪ تک نہ جائے تب تک یہ پانی چھڑکتا رہے گا اور اس کے بعد پمپ آف ہوجائے گا۔ سینسر کا ڈیٹا وقت کے متعین وقفے میں تھنگ اسپیک سرور کو بھیجا جائے گا تاکہ اس کی نگرانی دنیا کے کہیں بھی سے کی جاسکے۔
ضروری اجزاء
- نوڈیم سی یو ای ایس پی 8266
- مٹی نمی سینسر ماڈیول
- واٹر پمپ ماڈیول
- ریلے ماڈیول
- ڈی ایچ ٹی 11
- مربوط تاروں
آپ اس منصوبے کے لئے درکار تمام اجزاء خرید سکتے ہیں۔
سرکٹ ڈایاگرام
اس IOT اسمارٹ ایریگیشن سسٹم کے لئے سرکٹ ڈایاگرام ذیل میں دیا گیا ہے:
پروگرامنگ ESP8266 نوڈیم سی یو برائے خودکار آبپاشی کے نظام کے لئے
ESP8266 نوڈیم سی یو ماڈیول پروگرام کرنے کے لئے ، صرف DHT11 سینسر لائبریری بیرونی لائبریری کے بطور استعمال ہوتی ہے۔ نمی کا سینسر ینالاگ پیداوار دیتا ہے جسے ESP8266 نوڈیم سی یو اینالاگ پن A0 کے ذریعے پڑھا جاسکتا ہے۔ چونکہ نوڈیمکیو اپنے GPIO سے 3.3V سے زیادہ آؤٹ پٹ وولٹیج نہیں دے سکتا ہے لہذا ہم 5V موٹر پمپ کو چلانے کے لئے ریلے ماڈیول کا استعمال کررہے ہیں۔ نیز نمی سینسر اور DHT11 سینسر بیرونی 5V بجلی کی فراہمی سے چلنے والا ہے۔
ایک ورکنگ ویڈیو کے ساتھ مکمل کوڈ اس ٹیوٹوریل کے آخر میں دیا گیا ہے ، یہاں ہم پروجیکٹ کے کام کے بہاؤ کو سمجھنے کے لئے پروگرام کی وضاحت کر رہے ہیں۔
ضروری لائبریری شامل کرنے کے ساتھ شروع کریں۔
# شامل کریں
چونکہ ہم تھنگ اسپیک سرور استعمال کررہے ہیں ، لہذا سرور کے ساتھ بات چیت کرنے کے لئے API کلید ضروری ہے۔ یہ جاننے کے ل we کہ ہم ThingSpeak سے API کیسی کیسے حاصل کرسکتے ہیں آپ ThingSpeak پر رواں درجہ حرارت اور نمی کی مانیٹرنگ سے متعلق گذشتہ مضمون ملاحظہ کرسکتے ہیں۔
سٹرنگ apiKey = "X5AQ445IKMBYW31H کانس چار" سرور = "api.thingspeak.com"؛
اگلا مرحلہ یہ ہے کہ Wi-Fi اسناد جیسے SSID اور پاس ورڈ لکھیں۔
const char * ssid = "سرکیٹ ڈائیجسٹ"؛ کونٹ چار * پاس = "xxxxxxxxxxxxx"؛
ڈی ایچ ٹی سینسر پن کی وضاحت کریں جہاں ڈی ایچ ٹی منسلک ہے اور ڈی ایچ ٹی کی قسم منتخب کریں۔
# وضاحت DHTPIN D3 DHT dht (DHTPIN، DHT11)؛
نمی سینسر آؤٹ پٹ ESP8266 نوڈیم سی یو کے پن A0 سے منسلک ہے۔ اور موٹر پن نوڈیم سی یو کے D0 سے منسلک ہے۔
const int saltPin = A0؛ const int MotorPin = D0؛
ہم ملیس () فنکشن کا استعمال وقت کے ہر متعین وقفے کے بعد ڈیٹا بھیجنے کے ل it کریں گے یہ 10 سیکنڈ ہے۔ تاخیر () سے بچا جو microcontroller کی دیگر کاموں کو نہیں کر سکتے ہیں جہاں ایک وضاحت کی تاخیر کے لئے پروگرام رک جاتا ہے کے بعد سے کر رہا ہے. یہاں تاخیر () اور ملیس () میں فرق کے بارے میں مزید جانیں۔
دستخط شدہ طویل وقفہ = 10000؛ دستخط شدہ لمبا پچھلا میلیس = 0؛
آؤٹ پٹ کے بطور موٹر پن کو سیٹ کریں ، اور موٹر کو شروع میں بند کردیں۔ DHT11 سینسر پڑھنا شروع کریں۔
پن موڈ (موٹر پین ، آؤٹ پٹ)؛ ڈیجیٹل رائٹ (موٹر پین ، کم)؛ // موٹر رکھنا dht.begin ()؛
دیئے گئے ایس ایس آئی ڈی اور پاس ورڈ کے ساتھ وائی فائی کو مربوط کرنے کی کوشش کریں اور وائی فائی کے منسلک ہونے کا انتظار کریں اور اگر منسلک ہیں تو اگلے مراحل پر جائیں۔
WiFi.begin (ssid، pass)؛ جبکہ (WiFi.status ()! = WL_CONNECTED) { تاخیر (500)؛ سیریل.پرنٹ (".")؛ } Serial.println ("")؛ سیریل.پرنٹلن ("وائی فائی منسلک")؛ }
پروگرام کو شروع کرنے کے موجودہ وقت کی وضاحت کریں اور گزرتے وقت کے ساتھ موازنہ کرنے کے لئے اسے متغیر میں محفوظ کریں۔
دستخط شدہ لمبی کرنٹمیلیس = ملیس ()؛
درجہ حرارت اور نمی کا ڈیٹا پڑھیں اور انھیں متغیر میں محفوظ کریں۔
فلوٹ h = dht.readHumidity ()؛ فلوٹ ٹی = dht.readTemperature ()؛
اگر ڈی ایچ ٹی منسلک ہے اور ESP8266 نوڈیم سی یو پڑھنے کو پڑھنے کے قابل ہے تو اگلے مرحلے میں آگے بڑھیں یا دوبارہ جانچنے کے لئے یہاں سے واپس آجائیں۔
اگر (isnan (H) - isnan (T)) { Serial.println ("DHT سینسر سے پڑھنے میں ناکام ہوگیا!")؛ واپسی }
سینسر سے نمی پڑھنا پڑھیں اور پڑھنے کو پرنٹ کریں۔
نمی پرسنٹیج = (100.00 - ((ینالاگ پڑھیں (نمی پن) / 1023.00) * 100.00))؛ سیریل ڈاٹ پرنٹ ("مٹی نمی ہے =")؛ سیریل.پرنٹ (نمی پرسنٹیج)؛ سیریل.پرنٹلن ("٪")؛
اگر نمی کی ریڈنگ مطلوبہ مٹی نمی کی حد کے درمیان ہو تو پمپ کو بند رکھیں یا اگر یہ مطلوبہ نمی سے آگے بڑھ جائے تو پمپ کو آن کریں۔
اگر (نمی پرسنٹیج <50) { ڈیجیٹل رائٹ (موٹر پن ، ہائی)؛ } if (نمی پرسنٹیج > 50 && نمی پرسنٹیج <55) { ڈیجیٹل رائٹ (موٹر پن ، ہائی)؛ } if (نمی پرسنٹیج > 56) { ڈیجیٹل رائٹ (موٹر پن ، LOW)؛ }
اب ہر 10 سیکنڈ کے بعد ThingSpeak سرور پر نمی ، درجہ حرارت اور نمی کا ڈیٹا بھیجنے کے لئے بھیجےتنگسپیک () فنکشن پر کال کریں۔
اگر ((بغیر دستخط شدہ لمبا)) (موجودہ میلیس - پچھلا میلیس)> = وقفہ) { بھیجیںپھینک ()؛ گزشتہملس = ملیس ()؛ گاہک. اسٹاپ ()؛ }
میں sendThingspeak () تقریب ہم نظام سرور سے منسلک کیا جاتا ہے اور اگر ہاں تو پھر ہم اور ایک تار نمی، درجہ حرارت، نمی پڑھنے لکھا ہے جہاں تیاری کے اس جملے API کلید اور سرور ایڈریس کے ساتھ ساتھ ThingSpeak سرور پر بھیجا جائے گا تو چیک کریں.
if (client.connect (سرور، 80)) { سٹرنگ postStr = apiKey؛ postStr + = "& فیلڈ 1 ="؛ postStr + = سٹرنگ (نمی پرسنٹیج)؛ postStr + = "& فیلڈ 2 ="؛ postStr + = سٹرنگ (ٹی)؛ postStr + = "& فیلڈ 3 ="؛ postStr + = سٹرنگ (h)؛ postStr + = "\ r \ n \ r \ n"؛
آخر میں اعداد و شمار کلائنٹ پرنٹ () فنکشن کا استعمال کرتے ہوئے ThingSpeak سرور کو بھیجا جاتا ہے جس میں API کی ، سرور پتہ اور اسٹرنگ پر مشتمل ہوتا ہے جو پچھلے مرحلے میں تیار ہوتا ہے۔
مؤکل.پرنٹ ("پوسٹ کریں / اپ ڈیٹ کریں HTTP / 1.1 \ n")؛ مؤکل.پرنٹ ("میزبان: api.thingspeak.com \ n")؛ مؤکل.پرنٹ ("کنکشن: بند \ n")؛ مؤکل.پرنٹ ("X-THINGSPEAKAPIKEY:" + apiKey + "\ n")؛ مؤکل.پرنٹ ("مواد کی قسم: درخواست / x-www-form-urlencoded \ n")؛ کلائنٹ ڈاٹ پرنٹ ("مواد کی لمبائی:")؛ کلائنٹ.پرنٹ (پوسٹ اسٹار لینتھ ())؛ مؤکل.پرنٹ ("\ n \ n")؛ مؤکل.پرنٹ (پوسٹ ایس ٹی آر)؛
آخر میں ThingSpeak ڈیش بورڈ پر ڈیٹا کیسا لگتا ہے
یہ آخری مرحلہ IOT پر مبنی اسمارٹ آبپاشی سسٹم پر مکمل ٹیوٹوریل ختم کرتا ہے ۔ نوٹ کریں کہ جب پانی کے چھڑکنے کے بعد مٹی کی نمی مطلوبہ سطح پر آجائے تو موٹر کو بند کرنا ضروری ہے۔ آپ ایک زیادہ سمارٹ سسٹم بنا سکتے ہیں جس میں مختلف فصلوں کے ل different مختلف کنٹرول ہوسکتا ہے۔
اگر آپ کو اس پروجیکٹ کو کرتے وقت کسی بھی قسم کی پریشانی کا سامنا کرنا پڑتا ہے تو ذیل میں تبصرہ کریں یا مزید متعلقہ سوالات اور ان کے جوابات کے ل our ہمارے فورم پر پہنچیں۔
ذیل میں اس پروجیکٹ کے لئے مکمل پروگرام اور مظاہرے کی ویڈیو تلاش کریں ۔