کسی بھی موسمی اسٹیشن کی تعمیر اور ماحولیاتی حالات کی پیمائش کے ل and نمی ، درجہ حرارت اور پریشر تین بنیادی پیرامیٹرز ہیں۔ اس سے قبل ہم نے ارڈینو کا استعمال کرتے ہوئے ایک منی ویدر اسٹیشن بنایا ہے اور اس بار ہم راسبیری پائی کے ساتھ موسمی اسٹیشن کو بڑھا رہے ہیں ۔ آئی او ٹی پر مبنی اس پروجیکٹ کا مقصد ایل سی ڈی پر موجودہ نمی ، درجہ حرارت اور پریشر پیرامیٹرز کو نیز راسبیری پائی کا استعمال کرتے ہوئے انٹرنیٹ سرور پر دکھانا ہے ، جو اس کو راسبیری پیئ ویدر اسٹیشن بناتا ہے ۔ آپ یہ سیٹ اپ کہیں بھی انسٹال کر سکتے ہیں اور انٹرنیٹ کے ذریعہ دنیا میں کہیں سے بھی اس جگہ کے موسمی حالات کی نگرانی کر سکتے ہیں ، اس سے نہ صرف موجودہ اعداد و شمار دکھائے جائیں گے بلکہ گراف کی صورت میں ماضی کی قدروں کو بھی دکھایا جاسکتا ہے۔
ہم نے DHT11 نمی اور درجہ حرارت سینسر کرنے کے ل temperature درجہ حرارت سینسر اور بیومیٹرک دباؤ کی پیمائش کے ل BM BM180 پریشر سینسر ماڈیول استعمال کیا ہے۔ یہ سیلسیس اسکیل تھرمامیٹر اور فی صد پیمانہ نمی میٹر ایک LCD ڈسپلے کے ذریعے محیطی درجہ حرارت اور نمی کو ظاہر کرتا ہے اور بیومیومیٹرک دباؤ ملیبار یا ایچ پی اے (ہیکوپاسکل) میں ظاہر ہوتا ہے۔ یہ سارا ڈیٹا انٹرنیٹ سے دنیا میں کہیں سے بھی براہ راست مانیٹرنگ کے لئے تھنگ اسپیک سرور کو بھیجا گیا ہے ۔ چیک کریں مظاہرے ویڈیو اور ازگر پروگرام ، اس ٹیوٹوریل کے آخر میں دیا.
ورکنگ اینڈ تھینگ اسپیک سیٹ اپ:
اس IOT پر مبنی پروجیکٹ کے چار حصے ہیں۔ سب سے پہلے DHT11 سینسر نمی اور درجہ حرارت کا ڈیٹا اور BM180 سینسر ماحولیاتی دباؤ کی پیمائش کرتا ہے۔ دوم ، راسبیری پائی I2C پروٹوکول کا استعمال کرکے سنگل تار پروٹوکول اور BM180 پریشر سینسر کی آؤٹ پٹ کا استعمال کرکے DHT11 سینسر ماڈیول کی آؤٹ پٹ کو پڑھتا ہے اور دونوں سینسر اقدار کو مناسب تعداد میں فیصد (نمی) ، سیلسیئس اسکیل (درجہ حرارت) ، ہیکو پاسکال یا ملیبار (دباؤ) میں نکالتا ہے۔. تیسرا ، یہ اقدار راسبیری پی 3 کا ان بلٹ وائی فائی استعمال کرکے تھنگ اسپیک سرور کو بھیجی جاتی ہیں ۔ اور آخر میں ThingSpeak ڈیٹا کا تجزیہ کرتا ہے اور اسے گراف کی شکل میں دکھاتا ہے۔ مقامی سطح پر ان اقدار کو ظاہر کرنے کے لئے ایک LCD بھی استعمال کیا جاتا ہے۔
تھنگ اسپیک IOT پر مبنی پروجیکٹس کے لئے بہت اچھا ٹول مہیا کرتا ہے۔ ThingSpeak ویب سائٹ کا استعمال کرکے ، ہم ThingSpeak کے ذریعہ فراہم کردہ چینلز اور ویب صفحات کا استعمال کرکے ، اپنے ڈیٹا کی نگرانی اور انٹرنیٹ پر اپنے سسٹم کو کنٹرول کرسکتے ہیں۔ تھنگ اسپیک سینسروں سے حاصل کردہ ڈیٹا کو ' اکٹھا ' کرتے ہیں ، رد reaction عمل کو متحرک کرکے ڈیٹا اور 'اعمال' کا تجزیہ کرتے ہیں۔ ہم نے اس سے پہلے تھنگ اسپیک کو ڈیٹا بھیجنے کے بارے میں تفصیل سے بتایا ہے ، آپ وہاں پر جانچ پڑتال کرسکتے ہیں۔ یہاں ہم مختصر طور پر اس راسبیری پے ویدر اسٹیشن کے لئے ThingSpeak استعمال کرنے کی وضاحت کر رہے ہیں۔
پہلے آپ کو تھنگ اسپیک ویب سائٹ پر اکاؤنٹ بنانے اور اس میں ایک 'نیا چینل' بنانے کی ضرورت ہے۔ نئے چینل میں آپ کو ان اعداد و شمار کے لئے کچھ شعبوں کی وضاحت کرنی ہوگی جن کی آپ نگرانی کرنا چاہتے ہیں ، جیسے اس پروجیکٹ میں ہم نمی ، درجہ حرارت اور پریشر کے اعداد و شمار کے لئے تین فیلڈ تشکیل دیں گے۔
اب 'API چابیاں' کے ٹیب پر کلک کریں اور لکھیں اور پڑھیں API کی چابیاں محفوظ کریں ، یہاں ہم صرف لکھیں کا استعمال کر رہے ہیں۔ آپ کو اس کلید کو کوڈ میں 'کلید' متغیر میں کاپی کرنے کی ضرورت ہے۔
اس کے بعد ، 'ڈیٹا امپورٹ / ایکسپورٹ' پر کلک کریں اور اپ ڈیٹ چینل فیڈ جی ای ٹی درخواست URL کو کاپی کریں ، جو یہ ہے:
api.thingspeak.com/update؟api_key=30BCDSRQ52AOI3UA&field1=0
اب ہمیں "api.thingspeak.com.com" کھولنے کے لئے اپنے ازگر کوڈ میں اس 'فیڈ گیٹ ریکوسٹ یو آر ایل' کی ضرورت ہے اور پھر اس فیڈ کی درخواست کو استفسار کے سلسلے کے بطور ڈیٹا بھیجیں۔ اور ڈیٹا بھیجنے سے پہلے صارف کو اس سوال میں درجہ حرارت ، نمی اور دباؤ کا ڈیٹا داخل کرنے کی ضرورت ہوتی ہے اسٹرنگ پروگرام میں متغیرات کا استعمال کرتے ہوئے ، اس مضمون کے آخر میں کوڈ میں دیکھیں۔
یو آر ایل = 'https://api.thingspeak.com/update؟api_key=٪s'٪ key فائنل URL = URL + "& فیلڈ 1 =٪ s & فیلڈ 2 =٪ s"٪ (humi، temp) + "& فیلڈ 3 =٪ s"٪ (دباؤ)
ڈی ایچ ٹی 11 کا کام ڈی ایچ ٹی 11 سے ڈیٹا لانے کے ل single سنگل تار سیریل مواصلات پر مبنی ہے۔ یہاں ہم نے راسبیری پائی کے ساتھ ڈی ایچ ٹی 11 کو انٹرفیس کرنے کے لئے اڈی فروٹ ڈی ایچ ٹی 11 لائبریری کا استعمال کیا ہے ۔ راسبیری پائی یہاں DHT11 سے نمی اور درجہ حرارت کا ڈیٹا اور BMP180 سینسر سے ماحولیاتی دباؤ جمع کرتا ہے اور پھر اسے 16x2 LCD اور ThingSpeak سرور پر بھیجتا ہے۔ ThingSpeak ذیل میں گراف کی شکل میں ڈیٹا کو دکھاتا ہے:
آپ DHT11 سینسر اور اردوینو کے ساتھ اس کے انٹرفیسنگ کے بارے میں مزید جان سکتے ہیں۔
سرکٹ ڈایاگرام:
راسبیری پائی کنفیگریشن اور ازگر پروگرام:
ہم یہاں پروگرام کے لئے ازگر زبان استعمال کر رہے ہیں ۔ کوڈنگ سے پہلے ، صارف کو راسبیری پائ کو ترتیب دینے کی ضرورت ہے۔ آپ راسبیری پائی کے ساتھ شروعات کرنے اور پائی میں راسبیئن جسی OS کو انسٹال اور تشکیل کرنے کے لئے ہمارے پچھلے سبق آزما سکتے ہیں۔
اس پراجیکٹ کو راسبیری پائی پر چلانے کے لئے سب سے پہلے ہمیں اڈفریٹ ازگر ڈی ایچ ٹی سینسر لائبریری فائلیں نصب کرنے کی ضرورت ہے۔ ایسا کرنے کے لئے ہمیں دیئے گئے احکامات پر عمل کرنے کی ضرورت ہے۔
sudo apt-get get git-कोर سوڈو اپٹ-گیٹ اپ ڈیٹ گٹ کلون https://github.com/adaf فرو/Adafruit_Python_DHT.git سی ڈی اڈفریٹ_پھتھن_ڈی ایچ ٹی sudo apt-get install-build-ضروری python-dev sudo python setup.py انسٹال کریں۔
اس کے بعد ، صارف کو RPI سافٹ ویئر کی تشکیل میں بھی جاکر راسبیری پی آئی 2 سی کو فعال کرنے کی ضرورت ہے۔
sudo raspi-config
پھر 'ایڈوانس آپشن' پر جائیں ، 'I2C' منتخب کریں اور اسے 'قابل کریں'۔
اس منصوبے کا پروگرامنگ حصہ تمام کاموں کو انجام دینے کے لئے ایک بہت اہم کردار ادا کرتا ہے۔ سب سے پہلے ہم سب مطلوبہ لائبریریوں کو شامل کریں ، متغیرات کا آغاز کریں اور LCD اور DHT11 کے لئے پنوں کی وضاحت کریں۔
درآمد sys درآمد RPi.GPIO بطور GPIO درآمد OS درآمد Adaf فرو_DHT درآمد urllib2 درآمد smbus درآمد کا وقت ctypes درآمد c_short # رجسٹر ایڈریس regCall = 0xAA………………..
میں def کی اہم (): تقریب، کوڈ ذیل میں مسلسل میں، سرور سے ڈیٹا بھیجنے اور LCD کے دوران یہ ظاہر کے لئے استعمال کیا جاتا ہے جبکہ لوپ.
Def main (): پرنٹ 'سسٹم ریڈی…' URL = 'https://api.thingspeak.com/update؟api_key=٪s'٪ کلیدی پرنٹ "انتظار کرو…." جبکہ سچ ہے: (humi، temp) = readDHT () (دباؤ) = readBmp180 () lcdcmd (0x01) lcdstring ("Humi # Temp # P (hPa)") lcdstring (humi + '٪' + "٪ sC٪ s"٪ (عارضی ، دباؤ)) فائنل یو آر ایل = یو آر ایل + "& فیلڈ 1 =٪ s & فیلڈ 2 =٪ s"٪ (حمی ، وقت) + "اور فیلڈ 3 =٪ s"٪ (پریشر) پرنٹ فائنل یو آر ایل = urllib2.urlopen (فائنل یو آر ایل)؛ پرنٹ کریں humi + "" + + temp + "" + دباؤ s.close () time.sleep (10)
LCD کے لئے ، Def lcd_init () فنکشن LCD کو فورٹ بٹ موڈ میں شروع کرنے کے لئے استعمال کیا جاتا ہے ، LCD کو کمانڈ بھیجنے کے لئے Def lcdcmd (ch) فنکشن استعمال ہوتا ہے ، ڈیف lcddata (ch) فنکشن LCD اور Def Lcdstring کو بھیجنے کے لئے استعمال کیا جاتا ہے (Str ) فنکشن کا استعمال LCD پر ڈیٹا سٹرنگ بھیجنے کے لئے کیا جاتا ہے۔ آپ بعد میں دیئے گئے کوڈ میں ان تمام افعال کو چیک کرسکتے ہیں۔
دی گئی ڈیف ریڈ ڈی ایچ ٹی () فنکشن DHT11 سینسر کو پڑھنے کے لئے استعمال کیا جاتا ہے:
Def readDHT (): humi، temp = Adaf پھٹ_DHT.read_retry (اڈفریٹ_ڈی ایچ ٹی ۔ڈی ایچ ٹی 11، ڈی ایچ ٹیپن) واپسی (str (انٹ (ہیمی))، str (انٹ (ٹم)))
Def readBmp180 فنکشن BM180 سینسر سے پڑھنے والے دباؤ کے لئے استعمال ہوتا ہے۔ BM180 سینسر درجہ حرارت بھی دے سکتا ہے لیکن یہاں ہم نے اسے صرف دباؤ کا حساب لگانے کے لئے استعمال کیا ہے۔
Def readBmp180 (addr = deviceAdd): value = bus.read_i2c_ block_data (addr، regCall، 22) # انشانکن ڈیٹا پڑھیں # بائٹ ڈیٹا کو الفاظ کی اقدار میں تبدیل کریں AC1 = کنورٹ 1 (ویلیو، 0) AC2 = کنورٹ 1 (ویلیو، 2) AC3 = کنورٹ 1 (قیمت ، 4) AC4 = کنورٹ 2 (قیمت ، 6)……………………..
لہذا یہ بنیادی راسبیری پیئ ویدر اسٹیشن ہے ، آپ موسم سے متعلق مختلف پیرامیٹرز کی پیمائش کرنے کے لئے اس میں مزید توسیع کرسکتے ہیں جیسے ہوا کی رفتار ، مٹی کا درجہ حرارت ، روشنی (لکس) ، بارش ، ہوا کا معیار وغیرہ۔