- ضروری اجزاء
- سرکٹ ڈایاگرام
- راسبیری پائی پر ایم کیوٹی ٹی کلاؤڈ لائبریریوں کا انسٹال کرنا
- ایم کیوٹی ٹی کے ساتھ راسبیری پی پی پی آئی او کو کنٹرول کرنے کے لئے کوڈنگ کی وضاحت
پچھلے سبق میں ہم نے ایم پی ٹی ٹی پروٹوکول کے بارے میں تبادلہ خیال کیا ہے اور مقامی طور پر جی پی آئی او کو کنٹرول کرنے کے ل our اپنے راسبیری پائی پر مقامی ایم کیو ٹی ٹی سرور انسٹال کیا ہے۔ لیکن مقامی ایم کیوٹی ٹی سرور کی خرابی یہ ہے کہ ہم جی پی آئی اوز کو دنیا کے کہیں سے بھی کنٹرول نہیں کرسکتے ہیں ، یہ صرف مقامی طور پر خدمات فراہم کرتا ہے۔ لیکن اگر یہ ایم کیوٹی ٹی سرور کچھ بادل پر ہوسٹ کیا گیا ہے تو پھر راسبیری پائی سے جڑے ہوئے کسی بھی آلات کو عالمی سطح پر کنٹرول کیا جاسکتا ہے۔
یہاں ، اس ٹیوٹوریل میں ، ہم راسبیری پِی جی پی آئی او سے وابستہ ایک AC آلے کو کنٹرول کرنے کے لئے ایڈوفٹ آئی او کو ایم کیو ٹی ٹی بروکر کے طور پر استعمال کریں گے ۔ IOT کے زیر کنٹرول دیگر آٹومیشن سبق بھی دیکھیں۔
- ISP پر مبنی وائس کنٹرول شدہ ہوم آٹومیشن ESP8266 اور Android App کا استعمال کرتے ہوئے
- اریڈینو کا استعمال کرتے ہوئے اسمارٹ فون کنٹرول ہوم آٹومیشن
- آئی او ٹی پر مبنی ویب کنٹرولڈ ہوم آٹومیشن جس کا استعمال پی آئی سی مائکروکینٹرلر اور اڈفریٹ آئی او نے کیا ہے
- آئی او ٹی پر مبنی ویب کنٹرول شدہ ہوم آٹومیشن جس میں راسبیری پائی کا استعمال کیا گیا ہے
- گوگل اسسٹنٹ بیسڈ وائس کنٹرولڈ ہوم آٹومیشن ڈی آئی وائی ارڈینو وائی فائی شیلڈ کا استعمال کرتے ہوئے
ضروری اجزاء
- راسبیری پائی جس میں راسبیئن اسٹریچ ہے اس میں نصب ہے۔
- ریلے ماڈیول
- بلب
- جمپر تاروں
یہاں ، ہم لیپ ٹاپ پر راسبیری پائی تک رسائی کے لئے ایس ایس ایچ کا استعمال کریں گے۔ آپ لیپ ٹاپ پر VNC یا ریموٹ ڈیسک ٹاپ کنکشن استعمال کرسکتے ہیں ، یا اپنے راسبیری پائی کو مانیٹر کے ساتھ مربوط کرسکتے ہیں۔ بغیر کسی مانیٹر کے راسبیری پائ کو بغیر سر کے ترتیب دینے کے بارے میں مزید معلومات حاصل کریں۔
سرکٹ ڈایاگرام
اس IOT کنٹرولڈ گھریلو ایپلائینسز برائے ایم کیوٹی ٹی کلاؤڈ اور راسبیری پائی کے لئے سرکٹ ڈایاگرام آسان ہے ، صرف رسبری پائی کے جی پی آئی او پن 35 پر ریلے ماڈیول کے ساتھ ایک بلب کو جوڑیں۔
راسبیری پائی پر ایم کیوٹی ٹی کلاؤڈ لائبریریوں کا انسٹال کرنا
یہاں ایڈفریٹ IO پلیٹ فارم راسبیری پائی کے ساتھ ایم کیوٹی ٹی بروکر کے طور پر استعمال ہوتا ہے ۔ جیسا کہ ہم نے اپنے پچھلے سبق میں بہت بار اڈفریٹ IO پلیٹ فارم استعمال کیا ہے اسی طرح ہم اسے راسبیری پائی میں بھی استعمال کرسکتے ہیں۔
صرف اڈفریٹ IO پلیٹ فارم پر ایک اکاؤنٹ بنائیں اور فیڈ بنائیں ، اگر آپ فیڈ بنانا اور اڈفروٹ ڈیش بورڈ کو کسٹمائز کرنا نہیں جانتے ہیں تو لنک کو فالو کریں۔
ڈیش بورڈ بنانے کے بعد ، راس بیری پِی میں کچھ لائبریریاں انسٹال کریں تاکہ ایم کیوٹی ٹی سے آغاز کریں۔
1. پہلے ، مندرجہ ذیل احکامات جاری کرکے اپنے پائی اور ازگر کو اپ ڈیٹ کریں
sudo apt-get update sudo apt- get up sudo pip3 install - اپ گریڈ سیٹ اپ ٹولز
2. اب ، ذیل کے احکامات کا استعمال کرتے ہوئے Rpi.gpio اور اڈفریٹ پلک پلک لائبریریاں انسٹال کریں
sudo pip3 انسٹال RPI.GPIO sudo pip3 انسٹال adafruit-blinka
3. ذیل میں کمانڈ کا استعمال کرتے ہوئے ایڈفریٹ IO لائبریری انسٹال کریں
sudo pip3 انسٹال adaf فروٹ- Io
below. نیچے کمانڈ کا استعمال کرکے گیتھب کی ایڈفروٹ مثالوں کو کلون کریں
گٹ کلون https://github.com/adafruit/Adaf فرو_IO_Python.git
Then. پھر ، ٹرمینل میں درج ذیل کمانڈ درج کرکے مثالوں کے فولڈر میں جائیں:
سی ڈی اڈفریٹ_ آئو_پیہن / مثالوں / بنیادی باتیں
اگر آپ کو یقین نہیں ہے کہ آپ کس ڈائرکٹری میں ہیں تو ، آپ پی ڈبلیو ڈی چلا کر اس کی جانچ کرسکتے ہیں ۔
6. اس فولڈر میں موجود تمام مثالوں کے ل you'll ، آپ کو ADAFRUIT_IO_KEY اور ADAFRUIT_IO_USERNAME کو ترتیب دینے کی ضرورت ہوگی ، جو اڈفروٹ ڈیش بورڈ سے مل سکتی ہے۔ جیسا کہ نیچے دکھایا گیا ہے
ایڈافٹ IO ڈیش بورڈ پر بٹن ٹوگل کریں ، اور آپ کو اپنے پائ کے ٹرمینل میں مندرجہ ذیل چیزوں کو دیکھنا چاہئے۔
7. اب ، نانو ایڈیٹر کا استعمال کرکے سبسکرایب.پی فائل کھولیں ۔ اسے کھولنے کے لئے درج ذیل کمانڈ کو ٹائپ کریں
sudo نانو سبسکرائب.پی
ہمیں کسی بھی GPIO کو ڈیش بورڈ سے قابو کرنے کے لئے اس پروگرام میں ترمیم کرنا ہوگی۔
ایم کیوٹی ٹی کے ساتھ راسبیری پی پی پی آئی او کو کنٹرول کرنے کے لئے کوڈنگ کی وضاحت
سب سے پہلے ، GPIO پنوں اور اڈفریٹ ایم کیوٹی ٹی کلائنٹ کو استعمال کرنے کے لئے تمام مطلوبہ لائبریریوں کو درآمد کریں۔
GPIO طور درآمدی RPi.GPIO درآمد SYS Adafruit_IO درآمد MQTTClient سے
اب ، جی پی آئی او وضع وضع کریں اور ایل ای ڈی پن نمبر کی وضاحت کریں اور آؤٹ پٹ کے طور پر سیٹ کریں۔
GPIO.setmode (GPIO.BOARD) GPIO.setwarnings (False) ledPin = 12 GPIO.setup (ledPin، GPIO.OUT)
اگلا ، ہمیں اے آئی او کی کلید اور صارف نام سیٹ کرنا ہے جو ڈیش بورڈ بنانے کے دوران ہمیں مل گیا ہے۔
ADAFRUIT_IO_KEY = 'YOUR_AIO_KEY' ADAFRUIT_IO_USERNAME = 'YOUR_AIO_USERNAME'
فیڈ کا نام درج کریں جو آپ نے لائٹ آن اور آف کرنے کے لئے دیا ہے۔ یہاں ، یہ "روشنی" ہے۔
FEED_ID = 'روشنی'
اب ، کسی فنکشن کی وضاحت کریں جس کو بلایا جائے گا جب کوئی واقعہ پیش آئے گا۔ لہذا ، ہم کلائنٹ کا استعمال کرتے ہوئے فیڈ کو سبسکرائب کریں گے ۔
Def سے جڑا ہوا (موکل): کلائنٹ۔ سبسکرائب کریں (FEED_ID) پرنٹ ('فیڈ ڈیٹا کا انتظار ہے…')
فیڈ کو سبسکرائب کرنے کے بعد ، ہمیں نئی قیمت کی جانچ کرنی ہوگی اور اسے پے لوڈ متغیر میں اسٹور کرنا ہوگا ۔ اس میسج کے لئے فنکشن کہا جاتا ہے۔ لہذا ، جب بھی پے لوڈ متغیر میں "1" موجود ہے تو ، لیڈ پن کو HIGH بنائیں اور "0" کیلئے اسے کم بنائیں۔
ڈیف میسیج (موکل ، فیڈ_ ایڈ ، پے لوڈ): پرنٹ ('فیڈ {0} نے نئی قیمت وصول کی: {1}'. فارمیٹ (فیڈ_ ایڈ ، پے لوڈ)) اگر پے لوڈ == 1: جی پی آئی او آؤٹ پٹ (لیڈپین ، جی پی آئی او ہائیٹ) اور: جی پی آئی او آؤٹ پٹ (لیڈ پن ، جی پی آئی او ایل او)
اب ، ایڈفروٹ IO پلیٹ فارم سے رابطہ قائم کرنے کے لئے ایک ایم کیوٹی ٹی کلائنٹ بنائیں اور پیغامات کو آگے بھیجیں۔
کلائنٹ = MQTTClient (ADAFRUIT_IO_USERNAME، ADAFRUIT_IO_KEY) گاہک.on_connect = منسلک ਗਾਹਕ
نیز کوڈ میں مناسب انڈینٹیشن کے بارے میں بھی خیال رکھیں ورنہ اس میں کوئی غلطی دکھائی دے گی۔ ٹیوٹوریل کے آخر میں مکمل ازگر کا کوڈ دیا گیا ہے۔
آخر میں ، پروگرام کو سی ٹی آر ایل + ایکس کا استعمال کرکے محفوظ کریں اور انٹر کو دبائیں۔ اب ، ہمیں پیغامات کو سبسکرائب کرنے کے لئے اسکرپٹ کو چلانا ہے۔ لہذا ٹرمینل میں ازگر کی قسم سبسکرایب کریں۔ اور داخل کو دبائیں۔
ازگر سبسکرائب ڈاٹ پی
آپ کو فیڈ ڈیٹا کے منتظر ایک پیغام نظر آئے گا … جیسے سنیپ شاٹ میں دکھایا گیا ہے۔
اب ، یقینی بنائیں کہ ریلے ماڈیول راسبیری پائی کے جی پی آئ او پن سے منسلک ہے اور پھر اڈفریٹ آئ او ڈیش بورڈ پر جائیں اور لائٹ فیڈ کو تبدیل کریں۔ بلب جب "1" موصول ہوئی ہے اور جیسا کہ ذیل میں دکھایا گیا ہے جب "0" موصول ہونے کے بند کر دیا گیا ہے پر باری چاہئے.
اس طرح سے ہم راسبیری پائ اور ایم کیوٹی ٹی کلاؤڈ کا استعمال کرکے دنیا میں کہیں سے بھی کسی بھی آلے کو کنٹرول کرسکتے ہیں