- مطلوبہ اجزاء:
- سرکٹ ڈایاگرام اور وضاحت:
- ورکنگ وضاحت:
- کوڈ کی وضاحت:
- "؛ ویب پیج + =" ہوا کی کوالٹی ہے "؛ ویب پیج + = ہوا_کولٹی؛ ویب صفحہ + =" پی پی ایم "؛ ویب صفحہ + ="
"؛
مندرجہ ذیل کوڈ بھیجنے والے ڈیٹا نامی فنکشن کو کال کرے گا اور ڈیٹا اور میسج کے اسٹرنگز کو ویب پیج پر بھیجنے کے ل. بھیجے گا۔
بھیجنے والا ڈیٹا (cipSend، 1000، DEBUG)؛ بھیجنے والا ڈیٹا (ویب پیج ، 1000 ، ڈیبگ)؛ cipSend = "AT + CIPSEND ="؛ cipSend + = कनेक्शनId؛ cipSend + = "،"؛ cipSend + = webpage.leth ()؛ cipSend + = "\ r \ n"؛
مندرجہ ذیل کوڈ LCD پر ڈیٹا کو پرنٹ کرے گا۔ ہم نے ہوا کے معیار کی جانچ پڑتال کے ل various مختلف شرائط کا اطلاق کیا ہے ، اور LCD پیغامات کو شرائط کے مطابق چھاپے گا اور آلودگی اگر 1000 پی پی ایم سے آگے جائے گی تو بوزر بھی بپ جائے گا۔
lcd.setCursor (0 ، 0)؛ lcd.print ("ہوا کا معیار ہے")؛ lcd.print (air_quality)؛ lcd.print ("پی پی ایم")؛ lcd.setCursor (0،1)؛ اگر (ایر_قلیت <= 1000) {lcd.print ("تازہ ہوا")؛ ڈیجیٹل رائٹ (8 ، کم)؛
آخر میں ذیل میں فنکشن ویب پیج پر ڈیٹا بھیج کر دکھائے گا۔ ہم نے 'ویب پیج' نامی اسٹرنگ میں جو ڈیٹا محفوظ کیا ہے اس کو 'کمانڈ' نامی اسٹرنگ میں محفوظ کیا جائے گا ۔ ESP تب 'کمانڈ' سے ایک ایک کریکٹر پڑھے گا اور اسے ویب پیج پر پرنٹ کرے گا۔
سٹرنگ کو بھیجنے والا ڈیٹا (سٹرنگ کمانڈ ، کونٹ ٹائم آؤٹ ، بولین ڈیبگ) ring سٹرنگ کا جواب = ""؛ esp8266.پرنٹ (کمانڈ)؛ // پڑھنے والے کردار کو esp8266 لمبے وقت میں = میلیس () بھیجیں۔ جبکہ ((ٹائم + ٹائم آؤٹ)) ملیس ()) {جبکہ (esp8266. دستیاب ()) The // ایس ایس پی میں اعداد و شمار موجود ہیں لہذا اس کی آؤٹ پٹ کو سیریل ونڈو پر دکھائیں c = esp8266.read ()؛ // اگلا کردار پڑھیں جواب + = c؛ }} if (ڈیبگ) ial سیریل.پرنٹ (جواب)؛ جواب} }
- پروجیکٹ کی جانچ اور آؤٹ پٹ:
اس پروجیکٹ میں ہم ایک IOT پر مبنی ایئر آلودگی مانیٹرنگ سسٹم بنانے جا رہے ہیں جس میں ہم انٹرنیٹ استعمال کرنے والے ایک ویب سرور پر ایئر کوالٹی کی نگرانی کریں گے اور جب ہوا کی کوالٹی کسی خاص سطح سے بھی نیچے جائے گی تو خطرے کی گھنٹی کو متحرک کردیں گے ، مطلب جب کافی مقدار میں ہو۔ ہوا میں CO2 ، سگریٹ ، سگریٹ ، شراب ، بینزین اور NH3 جیسے نقصان دہ گیسیں موجود ہیں۔ یہ پی سی ایم میں ہوا کا معیار یلسیڈی اور اسی طرح ویب پیج پر دکھائے گا تاکہ ہم اس کی نگرانی بہت آسانی سے کرسکیں۔
اس سے قبل ہم نے ایم کیو 2 سینسر کا استعمال کرتے ہوئے ایل پی جی ڈیٹیکٹر اور ایم کیو 2 سینسر کا استعمال کرتے ہوئے دھواں لگانے والا بنایا ہے لیکن اس بار ہم ائیر کوالٹی سینسر کے طور پر ایم کیو 135 سینسر کا استعمال کیا ہے جو ایئر کوالٹی کی نگرانی کے لئے بہترین انتخاب ہے کیونکہ یہ زیادہ تر نقصان دہ گیسوں کا پتہ لگاسکتا ہے اور ان کی مقدار کی پیمائش کرسکتا ہے۔ درست طریقے سے اس IOT پروجیکٹ میں ، آپ اپنے کمپیوٹر یا موبائل کا استعمال کرتے ہوئے کہیں سے بھی آلودگی کی سطح کی نگرانی کرسکتے ہیں۔ ہم کہیں بھی اس سسٹم کو انسٹال کرسکتے ہیں اور جب آلودگی کچھ سطح سے آگے بڑھ جاتی ہے تو کچھ آلے کو بھی متحرک کرسکتے ہیں ، جیسے ہم راستہ پرستار کو تبدیل کرسکتے ہیں یا صارف کو الرٹ ایس ایم ایس / میل بھیج سکتے ہیں۔
مطلوبہ اجزاء:
- MQ135 گیس سینسر
- ارڈینو اونو
- Wi-Fi ماڈیول ESP8266
- 16 ایکس 2 ایل سی ڈی
- بریڈ بورڈ
- 10K پوٹینومیٹر
- 1K اوہم مزاحم
- 220 اوہم مزاحم
- بزر
آپ یہاں سے اوپر والے تمام اجزاء خرید سکتے ہیں۔
سرکٹ ڈایاگرام اور وضاحت:
سب سے پہلے ہم ESP8266 کو ارڈینو کے ساتھ مربوط کریں گے ۔ ESP8266 3.3V پر چلتا ہے اور اگر آپ اسے ارڈینو سے 5V دیں گے تو یہ ٹھیک سے کام نہیں کرے گا اور اسے نقصان ہوسکتا ہے۔ وی سی سی اور سی ایچ پی ڈی کو ارڈینو کے 3.3V پن سے مربوط کریں۔ ESP8266 کا RX پن 3.3V پر کام کرتا ہے اور جب یہ ہم اردوینو سے براہ راست جڑیں گے تو یہ آرڈوینو کے ساتھ بات چیت نہیں کرے گا۔ لہذا ، ہمیں اس کے ل a ولٹیج ڈیوائڈر بنانا ہوگا جو 5V کو 3.3V میں تبدیل کرے گا۔ یہ سلسلہ میں تین ریزسٹرس کو مربوط کرکے کیا جاسکتا ہے جیسا کہ ہم نے سرکٹ میں کیا تھا۔ ESP8266 کے TX پن کو Ardino کے پن 10 اور esp8266 کے RX پن کو ریسٹرز کے ذریعے Ardino کے پن 9 سے مربوط کریں۔
ESP8266 Wi-Fi ماڈیول آپ کے منصوبوں کو Wi-Fi یا انٹرنیٹ تک رسائی فراہم کرتا ہے ۔ یہ ایک بہت ہی سستا آلہ ہے اور اپنے پروجیکٹس کو بہت طاقت ور بنا دیتا ہے۔ یہ کسی بھی مائکرو قابو رکھنے والے کے ساتھ بات چیت کرسکتا ہے اور یہ IOT پلیٹ فارم میں سب سے نمایاں آلات ہیں۔ ارڈینو کے ساتھ ESP8266 استعمال کرنے کے بارے میں مزید معلومات حاصل کریں۔
اس کے بعد ہم MU135 سینسر کو ارڈینو کے ساتھ مربوط کریں گے ۔ ارڈوینو کے 5 V اور گراؤنڈ اور سینسر کے ینالاگ پن کو Arcino کے A0 سے VCC اور سینسر کے گراؤنڈ پن کو مربوط کریں۔
ایروڈینو کے پن 8 سے بزر کو مربوط کریں جو حالت درست ہونے پر بیپنگ شروع کردے گا۔
آخر میں ، ہم LCD کو آرڈینو کے ساتھ مربوط کریں گے۔ ایل سی ڈی کے رابطے مندرجہ ذیل ہیں
- پن 1 (VEE) کو زمین سے جوڑیں۔
- پن 2 (VDD یا VCC) کو 5V سے مربوط کریں۔
- 3K (V0) کو 10K پوٹینومیٹر کے درمیانی پن سے مربوط کریں اور پوٹینومیٹر کے دوسرے دو سرے کو VCC اور GND سے مربوط کریں۔ پوٹینومیٹر LCD کی سکرین کے برعکس کو کنٹرول کرنے کے لئے استعمال کیا جاتا ہے۔ 10K کے علاوہ قدروں کا ممکنہ میٹر بھی کام کرے گا۔
- ارڈینوو کے پن 12 سے پن 4 (آر ایس) کو مربوط کریں۔
- پن 5 (پڑھیں / لکھیں) کو ارڈینو کی زمین سے جوڑیں۔ یہ پن اکثر استعمال نہیں ہوتا ہے لہذا ہم اسے زمین سے جوڑیں گے۔
- پن 6 (E) کو ارڈینوو کے پن 11 سے مربوط کریں۔ RS اور E پن کنٹرول پن ہیں جو ڈیٹا اور حرف بھیجنے کے لئے استعمال ہوتے ہیں۔
- مندرجہ ذیل چار پنوں ڈیٹا پن ہیں جو اردوینو کے ساتھ بات چیت کے لئے استعمال ہوتے ہیں۔
ارڈینو کے 5 پن پر پن 11 (D4) سے مربوط ہوں۔
ارڈینو کے 4 پن پر پن 12 (D5) سے مربوط ہوں۔
ارڈینو کے 3 پن پر پن 13 (D6) سے مربوط ہوں۔
ارڈینو کے 2 پن میں پن 14 (D7) کو مربوط کریں۔
- پن 15 کو 220 اوہم ریزسٹر کے ذریعہ وی سی سی سے مربوط کریں۔ ریزسٹر پیچھے کی روشنی کو روشن کرنے کے لئے استعمال کیا جائے گا۔ بڑی قدریں پچھلی روشنی کو زیادہ گہرا کردیتی ہیں۔
- زمین سے پن 16 جوڑیں۔
ورکنگ وضاحت:
ایم کیو 1 35 سینسر این ایچ 3 ، نوکس ، الکحل ، بینزین ، دھواں ، سی او 2 اور کچھ دیگر گیسوں کو محسوس کرسکتا ہے ، لہذا یہ ہمارے ایئر کوالٹی مانیٹرنگ پروجیکٹ کے لئے بہترین گیس سینسر ہے ۔ جب ہم اسے اردوینو سے مربوط کریں گے تب اس سے گیسوں کا احساس ہوجائے گا ، اور ہم پی پی ایم میں آلودگی کی سطح حاصل کریں گے (حصے فی ملین) ایم کیو 135 گیس سینسر وولٹیج کی سطح کی شکل میں آؤٹ پٹ دیتا ہے اور ہمیں اسے پی پی ایم میں تبدیل کرنے کی ضرورت ہے۔ لہذا پی پی ایم میں آؤٹ پٹ کو تبدیل کرنے کے ل MQ ، یہاں ہم نے میک 1 1 سینسر کے لئے لائبریری کا استعمال کیا ہے ، اس کے نیچے "کوڈ وضاحت" سیکشن میں تفصیل سے بتایا گیا ہے۔
سینسر ہمیں 90 کی قیمت دے رہا تھا جب اس کے قریب گیس نہیں تھی اور ہوا کے معیار کی محفوظ سطح 350 پی پی ایم ہے اور یہ 1000 پی پی ایم سے تجاوز نہیں کرنا چاہئے۔ جب یہ 1000 پی پی ایم کی حد سے تجاوز کرجاتا ہے ، تو پھر اس سے سردرد ، نیند آنا اور جمود ، باسی ، بھرپور ہوا کا سبب بننا شروع ہوجاتا ہے اور اگر 2000 پی پی ایم سے زیادہ ہوجاتا ہے تو یہ دل کی شرح میں اضافہ اور بہت ساری بیماریوں کا سبب بن سکتا ہے۔
جب قیمت 1000 پی پی ایم سے کم ہوگی ، تب LCD اور ویب پیج "تازہ ہوا" دکھائے گا۔ جب بھی قیمت میں 1000 پی پی ایم میں اضافہ ہوگا ، تب ہی بزر بیپنگ شروع کردے گا اور ایل سی ڈی اور ویب پیج "ناقص ہوا ، اوپن ونڈوز" دکھائے گا۔ اگر اس میں 2000 کا اضافہ ہوگا تو بززر بپ لگائے گا اور ایل سی ڈی اور ویب پیج دکھائے گا “خطرہ! تازہ ہوا میں منتقل کریں۔
کوڈ کی وضاحت:
اس پروجیکٹ کیلئے کوڈنگ شروع کرنے سے پہلے ، ہمیں پہلے ایم یو 135 گیس سینسر کیلیبریٹ کرنے کی ضرورت ہے۔ سینسر کی آؤٹ پٹ کو پی پی ایم ویلیو میں تبدیل کرنے میں بہت سارے حساب کتاب شامل ہیں ، ہم نے اپنے سابقہ دھواں لگانے والے پروجیکٹ میں اس سے پہلے یہ حساب کتاب کیا ہے۔ لیکن یہاں ہم لائبریری ایم کیو 135 کے لئے استعمال کررہے ہیں ، آپ یہ ایم کیو 135 لائبریری یہاں سے ڈاؤن لوڈ اور انسٹال کرسکتے ہیں:
اس لائبریری کا استعمال کرکے آپ ذیل میں دو لائنوں کا استعمال کرکے براہ راست پی پی ایم کی اقدار حاصل کرسکتے ہیں۔
MQ135 گیس سینسر = MQ135 (A0)؛ فلوٹ ایر_کولٹی = گیس سینسر. گیٹ پی پی ایم ()؛
لیکن اس سے پہلے ہمیں ایم کیو 135 سینسر کیلیبریٹ کرنے کی ضرورت ہے ، سینسر کیلیبریٹنگ کے لئے مندرجہ ذیل کوڈ اپ لوڈ کریں اور اسے 12 سے 24 گھنٹوں تک چلنے دیں اور پھر آر زیرو قدر حاصل کریں ۔
# "MQ135.h" شامل کریں باطل سیٹ اپ () {سیریل.بیگین (9600)؛ oid باطل لوپ () {MQ135 گیس سینسر = MQ135 (A0)؛ // A0 فلوٹ rzero = گیس سینسر ڈاٹ کرنے کے لئے سینسر منسلک کریں۔ سیریل.پرنٹلن (ریزرو)؛ تاخیر (1000)؛ }
RZERO ویلیو حاصل کرنے کے بعد ۔ RZERO ویلیو کو لائبریری فائل میں رکھیں جو آپ نے "MQ135.h" ڈاؤن لوڈ کی ہے: # وضاحت RZERO 494.63
اب ہم اپنے فضائی معیار کی نگرانی کے منصوبے کا اصل کوڈ شروع کرسکتے ہیں۔
کوڈ میں ، سب سے پہلے ہم نے گیس سینسر اور LCD کے لائبریریوں اور متغیرات کی وضاحت کی ہے۔ سافٹ ویئر سیریل لائبریری کا استعمال کرکے ، ہم کسی بھی ڈیجیٹل پن کو بطور TX اور RX پن بنا سکتے ہیں۔ اس کوڈ میں ، ہم نے EX8266 کے لئے RX پن کی طرح پن 9 اور T 10 پن کے طور پر پن 10 بنایا ہے۔ پھر ہم نے LCD کیلئے لائبریری شامل کی ہے اور اسی کے لئے پنوں کی بھی وضاحت کی ہے۔ ہم نے دو اور متغیرات کی بھی وضاحت کی ہے: ایک سینسر ینالاگ پن کے لئے اور دوسرا ایر_قابلیت کی قیمت کو ذخیرہ کرنے کے لئے ۔
# شامل کریں
پھر ہم پن 8 کو آؤٹ پٹ پن کے طور پر اعلان کریں گے جہاں ہم نے بوزر کو مربوط کیا ہے۔ l cd.begin (16،2) کمانڈ LCD کو ڈیٹا موصول کرنے کے لئے شروع کرے گی اور پھر ہم کرسر کو پہلی لائن پر لگائیں گے اور 'سرکٹڈیجسٹ' پرنٹ کریں گے ۔ پھر ہم دوسری لائن پر کرسر لگائیں گے اور 'سینسر وارمنگ' پرنٹ کریں گے ۔
پن موڈ (8 ، آؤٹپٹ)؛ lcd.begin (16،2)؛ lcd.setCursor (0،0)؛ lcd.print ("سرکٹڈیجسٹ")؛ lcd.setCursor (0،1)؛ lcd.print ("سینسر وارمنگ")؛ تاخیر (1000)؛
پھر ہم سیریل مواصلات کے لئے باؤڈ ریٹ مقرر کریں گے۔ مختلف ای ایس پی کے مختلف بولڈ ریٹ ہوتے ہیں لہذا اپنے ESP کے بوڈ ریٹ کے مطابق اسے لکھیں۔ اس کے بعد ہم اردوینو کے ساتھ بات چیت کرنے اور سیریل مانیٹر پر IP ایڈریس ظاہر کرنے کے لئے ESP کو ترتیب دینے کے احکام بھیجیں گے۔
سیریل.بیگین (115200)؛ esp8266.begin (115200)؛ بھیجنے والا ڈیٹا ("AT + RST \ r \ n" ، 2000 ، DEBUG)؛ بھیجنے والا ڈیٹا ("AT + CWMODE = 2 \ r \ n" ، 1000 ، DEBUG)؛ بھیجنے والا ڈیٹا ("AT + CIFSR \ r \ n" ، 1000 ، DEBUG)؛ بھیجنے والا ڈیٹا ("AT + CIPMUair_quality = 1 \ r \ n"، 1000، DEBUG)؛ بھیجنے والا ڈیٹا ("AT + CIPERVER = 1،80 \ r \ n"، 1000، DEBUG)؛ پن موڈ (سینسرپن ، ان پٹ)؛ lcd.clear ()؛
ویب براؤزر میں آؤٹ پٹ کو ویب براؤزر میں چھاپنے کے ل we ، ہمیں HTML پروگرامنگ کا استعمال کرنا ہوگا ۔ تو ، ہم نے ویب سسٹم کے نام سے ایک تار تیار کیا ہے اور اس میں آؤٹ پٹ کو اسٹور کیا ہے۔ ہم آؤٹ پٹ سے 48 کو گھٹا رہے ہیں کیونکہ پڑھا ہوا فنکشن ASCII اعشاریہ کی قیمت اور پہلا اعشاریہ جو 0 سے 48 پر شروع ہوتا ہے واپس کرتا ہے۔
اگر (esp8266. دستیاب ()) {اگر (esp8266.find ("+ IPD،")) {تاخیر (1000)؛ int कनेक्शनId = esp8266.read () - 48؛ سٹرنگ ویب پیج = "
IOT ہوا آلودگی مانیٹرنگ سسٹم
"؛ ویب صفحہ + =""؛ ویب پیج + =" ہوا کی کوالٹی ہے "؛ ویب پیج + = ہوا_کولٹی؛ ویب صفحہ + =" پی پی ایم "؛ ویب صفحہ + ="
"؛
مندرجہ ذیل کوڈ بھیجنے والے ڈیٹا نامی فنکشن کو کال کرے گا اور ڈیٹا اور میسج کے اسٹرنگز کو ویب پیج پر بھیجنے کے ل. بھیجے گا۔
بھیجنے والا ڈیٹا (cipSend، 1000، DEBUG)؛ بھیجنے والا ڈیٹا (ویب پیج ، 1000 ، ڈیبگ)؛ cipSend = "AT + CIPSEND ="؛ cipSend + = कनेक्शनId؛ cipSend + = "،"؛ cipSend + = webpage.leth ()؛ cipSend + = "\ r \ n"؛
مندرجہ ذیل کوڈ LCD پر ڈیٹا کو پرنٹ کرے گا۔ ہم نے ہوا کے معیار کی جانچ پڑتال کے ل various مختلف شرائط کا اطلاق کیا ہے ، اور LCD پیغامات کو شرائط کے مطابق چھاپے گا اور آلودگی اگر 1000 پی پی ایم سے آگے جائے گی تو بوزر بھی بپ جائے گا۔
lcd.setCursor (0 ، 0)؛ lcd.print ("ہوا کا معیار ہے")؛ lcd.print (air_quality)؛ lcd.print ("پی پی ایم")؛ lcd.setCursor (0،1)؛ اگر (ایر_قلیت <= 1000) {lcd.print ("تازہ ہوا")؛ ڈیجیٹل رائٹ (8 ، کم)؛
آخر میں ذیل میں فنکشن ویب پیج پر ڈیٹا بھیج کر دکھائے گا۔ ہم نے 'ویب پیج' نامی اسٹرنگ میں جو ڈیٹا محفوظ کیا ہے اس کو 'کمانڈ' نامی اسٹرنگ میں محفوظ کیا جائے گا ۔ ESP تب 'کمانڈ' سے ایک ایک کریکٹر پڑھے گا اور اسے ویب پیج پر پرنٹ کرے گا۔
سٹرنگ کو بھیجنے والا ڈیٹا (سٹرنگ کمانڈ ، کونٹ ٹائم آؤٹ ، بولین ڈیبگ) ring سٹرنگ کا جواب = ""؛ esp8266.پرنٹ (کمانڈ)؛ // پڑھنے والے کردار کو esp8266 لمبے وقت میں = میلیس () بھیجیں۔ جبکہ ((ٹائم + ٹائم آؤٹ)) ملیس ()) {جبکہ (esp8266. دستیاب ()) The // ایس ایس پی میں اعداد و شمار موجود ہیں لہذا اس کی آؤٹ پٹ کو سیریل ونڈو پر دکھائیں c = esp8266.read ()؛ // اگلا کردار پڑھیں جواب + = c؛ }} if (ڈیبگ) ial سیریل.پرنٹ (جواب)؛ جواب} }
پروجیکٹ کی جانچ اور آؤٹ پٹ:
کوڈ اپ لوڈ کرنے سے پہلے یہ یقینی بنائیں کہ آپ اپنے ESP8266 ڈیوائس کے وائی فائی سے جڑے ہوئے ہیں۔ اپ لوڈ کرنے کے بعد ، سیریل مانیٹر کھولیں اور اس میں IP پتے جیسے دکھائے جائیں گے۔
یہ IP ایڈریس اپنے براؤزر میں ٹائپ کریں ، یہ نیچے دکھائے جانے کے مطابق آپ کو آؤٹ پٹ دکھائے گا۔ اگر آپ پی پی ایم میں موجودہ ایئر کوالٹی ویلیو دیکھنا چاہتے ہیں تو آپ کو پیج کو دوبارہ ریفریش کرنا پڑے گا۔
ہمارے پاس اس کے کام کو ظاہر کرنے کے لئے ایک مقامی سرور مرتب کیا گیا ہے ، آپ نیچے ویڈیو چیک کرسکتے ہیں ۔ لیکن دنیا کے کسی بھی جگہ سے ہوا کے معیار کی نگرانی کے ل you ، آپ کو پورٹ 80 (HTTP یا انٹرنیٹ کے لئے استعمال کیا جاتا ہے) کو اپنے آلے کے اپنے مقامی یا نجی IP پتے (192.168 *) پر بھیجنا ہوگا۔ پورٹ فارورڈ کرنے کے بعد آنے والے تمام رابطوں کو اس مقامی پتے پر بھیج دیا جائے گا اور آپ کہیں بھی سے اپنے انٹرنیٹ کا عوامی IP پتہ درج کرکے اوپر دکھایا ہوا ویب پیج کھول سکتے ہیں۔ آپ اپنے روٹر (192.168.1.1) میں لاگ ان کرکے پورٹ کو فارورڈ کرسکتے ہیں اور پورٹ فارورڈنگ سیٹ اپ کرنے کا آپشن تلاش کرسکتے ہیں۔