- ایم کیوٹی ٹی پروٹوکول کیا ہے؟
- ایم کیوٹی ٹی کس طرح کام کرتی ہے؟
- چاند گرہن مچھر کا دلال
- ضروری اجزاء
- چاند گرہن ایم کیوٹیٹی ٹیسٹ سرکٹ۔ منصوبہ بندی
- پروگرامنگ ESP8266 بروکر کے ساتھ مواصلت قائم کرنے کے لئے
- ارڈوینو کا استعمال کرتے ہوئے ESP8266 کے ساتھ ایم کیوٹی ٹی کی جانچ کرنا
پچھلے کچھ سالوں کے دوران ، IOT (انٹرنیٹ آف تھنگ) ڈیوائسز ہماری روزمرہ کی زندگی کا ایک الگ نہیں کیا گیا ہے۔ سمارٹ ہومز ، اسمارٹ بلب سے لے کر اسمارٹ آلات تک؛ تخلیق کار اور ڈویلپر اس مربوط آلات کا ایسا نیٹ ورک بنانے کے ل this اس ٹکنالوجی کو شامل کررہے ہیں جو ہماری روزمرہ کی زندگی کو کچھ زیادہ ہی دلچسپ بنا دیتا ہے۔ یہ سب مواصلات میں آسانی کی وجہ سے ممکن ہوا ہے۔ آلات کے درمیان بات چیت کرنے کے بہت سے ممکنہ طریقے ہیں ، لیکن تجارتی اور شوق سے متعلق مصنوعات میں ، ایک واحد پروٹوکول جو عام طور پر استعمال کیا جاتا ہے وہ ہے میسج کائوئنگ ٹیلی میٹری ٹرانسپورٹ (ایم کیو ٹی ٹی) ۔ اس سے قبل ہم نے ارڈینو اور گوگل اسسٹنٹ کا استعمال کرتے ہوئے ایک صوتی کنٹرول والی ایف ایم ریڈیو بنایا تھا جو نوڈیم سی یو بورڈ کے ساتھ بات چیت کے لئے ایم کیو ٹی ٹی کا استعمال کرتا ہے۔ اگر آپ کو یہ دلچسپ لگتی ہے تو اس کی جانچ پڑتال کریں۔
اس پروجیکٹ میں ، ہم ایک مفت اور مشہور چاند گرہن ایم کیو ٹی ٹی بروکر کا استعمال کریں گے اور یہ سیکھیں گے کہ آئی او ٹی ڈیوائس (ہمارے معاملے میں ، یہ نوڈیم سی یو ماڈیول) کو ایم کیوٹی ٹی بروکر سے مربوط کرنا ہے اور ایم کیوٹی ٹی بروکر اور نوڈیم سی یو کے درمیان ڈیٹا منتقل کرنا ہے ۔
ایم کیوٹی ٹی پروٹوکول کیا ہے؟
اس سے پہلے کہ ہم آگے بڑھیں ، ایم کیوٹی ٹی (میسج کوئیوینگ ٹیلی میٹری ٹرانسپورٹ) پروٹوکول کے بارے میں واضح خیال رکھنا بہتر ہے ۔ یہ ایک ہلکا پھلکا میسجنگ پروٹوکول ہے جو شائع / سبسکرائب کرنے کا طریقہ استعمال کرتا ہے اور متعدد آلات کے مابین پیغامات کا ترجمہ کرتا ہے۔ ایم کیوٹی ٹی پروٹوکول کا استعمال کرتے ہوئے ، ہم ڈیٹا بھیج سکتے / وصول کرسکتے ہیں اور مختلف آؤٹ پٹ ڈیوائسز کو کنٹرول کرسکتے ہیں ، جیسے پڑھنے والے سینسر کا ڈیٹا وغیرہ۔ یہ ٹی سی پی کے سب سے اوپر تیار ہوا ہے ، اسی وجہ سے یہ ایچ ٹی ٹی پی جیسے پروٹوکول سے تیز ہے۔ اس کے علاوہ ، اس کے بہت ہی ہلکے وزن جیسے دوسرے پروٹوکولز کے مقابلے میں اس کے بہت سے دوسرے فوائد ہیں ، لہذا اس سے زیادہ میموری استعمال نہیں ہوتا ہے ، یہ بہت کم نیٹ ورک بینڈوتھ کے ساتھ کام کرسکتا ہے ، اس کے علاوہ ، اس میں مضبوط حفاظتی پروٹوکول شامل ہے۔ یہ خصوصیات اسے بہت سے ایپلی کیشنز کے ل suitable موزوں بنا دیتی ہیں۔
ایم کیوٹی ٹی کس طرح کام کرتی ہے؟
ایم کیوٹی ٹی پروٹوکول کے کام کو سمجھنے کے ل we ، ہمیں صرف تین بنیادی چیزوں کو سمجھنے کی ضرورت ہے۔ مندرجہ بالا آریھ سے پتہ چلتا ہے کہ نیز ، ہم نے مضمون میں ذیل میں اس کی وضاحت کی ہے۔
ایم کیوٹی ٹی کلائنٹ:
ایک MQTT کلائنٹ کسی بھی آلہ ہے جس کے طور پر جانا جاتا ہے ایک مرکزی سرور کے ساتھ MQTT افعال اور بات چیت چلتا ہے (یہ ایک microcontroller یا ایک سرور ہو سکتا ہے) ہے " بروکر ". بروکر منسلک کلائنٹ کے مابین ڈیٹا مواصلات کو سنبھالتا ہے۔
ایم کیو ٹی ٹی ناشر:
جب کوئی مؤکل کوئی معلومات بھیجنا چاہتا ہے تو ، مؤکل کو "پبلشر" کہا جاتا ہے۔ ناشر کسی خاص عنوان پر معلومات شائع کرے گا۔ " عنوان " ایک ایسا راستہ ہے جہاں ہم پیغامات کو شائع / سبسکرائب کرسکتے ہیں۔ اس کے بعد بروکر صارف کے ذریعہ شائع کردہ معلومات کلائنٹس کو بھیجتا ہے (جسے سبسکرائبر بھی کہا جاتا ہے) جنہوں نے اس مخصوص موضوع کو سبسکرائب کیا ہے۔
ایم کیو ٹی ٹی سبسکرائبر:
MQTT سبسکرائبر ایک پر موضوعات کو سبسکرائب کرتا MQTT بروکر کی طرف سے بھیجے جانے والے پیغامات کو پڑھنے کے لئے بروکر.
چاند گرہن مچھر کا دلال
چاند گرہن ایک اوپن سورس ایم کیوٹی ٹی بروکر ہے ، جو ہلکا پھلکا ہے اور مواصلات کے لئے آئی او ٹی آلات پر استعمال کرنے کے لئے موزوں ہے۔ ایم کیوٹی ٹی پروٹوکول اشاعت / سبسکرائب ماڈل کو استعمال کرتے ہوئے معلومات کی منتقلی کا ایک ہلکا پھلکا طریقہ فراہم کرتا ہے۔ اگر آپ اس موضوع کے بارے میں مزید معلومات حاصل کرنا چاہتے ہیں تو آپ مچھر کی آفیشل ویب سائٹ ملاحظہ کرسکتے ہیں۔
چاند گرہن مچھر بروکر کا قیام:
بروکر کے ساتھ مواصلت قائم کرنے کے ل we ، ہمیں پہلے اسے ترتیب دینے کی ضرورت ہے۔ اس پروجیکٹ میں ، ایک اینڈرائڈ ایپلی کیشن بروکر کے ساتھ موجود معلومات کو شائع کرنے اور اس کی سبسکرائب کرنے کے لئے استعمال کیا جاتا ہے ۔ مندرجہ ذیل اقدامات آپ کو سیٹ اپ کے عمل کا بہتر اندازہ لگائیں گے۔
مرحلہ نمبر 1:
پہلے ، گوگل پلے اسٹور / ایپ اسٹور میں دستیاب کوئی بھی "ایم کیوٹی ٹی کلائنٹ" ایپلی کیشن ڈاؤن لوڈ کریں اور اسے انسٹال کریں۔ اس پروجیکٹ میں ، "ایم کیوٹی ٹی کلائنٹ" نامی ایک ایپلی کیشن استعمال کی گئی ہے ، جو نیچے کی طرح دکھائی دینے والی تصویر کی طرح دکھائی دیتی ہے۔
مرحلہ 2:
درخواست میں اضافی اختیارات کی فہرست کے ل ““ + ”نشان پر کلک کریں ، جہاں ہم ایک نیا بروکر شامل کرنے جارہے ہیں۔ جب بٹن پر کلک کیا جاتا ہے تو ، نیچے دکھائے جانے کے مطابق ایک نئی اسکرین ظاہر ہوتی ہے۔
مرحلہ 3:
اس کے بعد ، بروکر کی تفصیلات مطلوبہ فیلڈ میں بھرنے کی ضرورت ہے۔ پہلے ، درخواست میں دکھائے جانے والے آپشن "قابل بنائے گئے" پر کلک کریں۔ اس پروجیکٹ میں ، چاند گرہن ایم کیوٹی ٹی بروکر کا استعمال کیا گیا ہے ، جو تفصیلات بھرنی ہیں وہ ذیل میں دی گئی ہیں۔
نک نام: اپنی پسند کا ایک نام دیں
میزبان: mqtt.eclipse.org
پورٹ: 1883
مؤکل کی شناخت: اپنی پسند کی شناخت دیں
مذکورہ بالا تفصیلات اپنے متعلقہ شعبوں میں پُر کرنے کی ضرورت ہیں۔ دیگر تمام فیلڈز ضروری نہیں ہیں اور انہیں خالی چھوڑ دیا جاسکتا ہے۔ کامیاب تکمیل کے بعد ، بروکر کی تفصیلات کو بچانے کیلئے سیف بٹن پر کلک کریں۔
ایک بار کام کرنے کے بعد ، اینڈرائڈ ایپلیکیشن سیٹ اپ کا عمل ختم ہوچکا ہے اور اب ہم چیزوں کے ہارڈ ویئر کی طرف بڑھ سکتے ہیں۔
ضروری اجزاء
مطلوبہ حصوں کی مکمل فہرست نیچے بیان کی گئی ہے۔ چونکہ یہ سرکٹ آسان ہے ، آپ اپنے مقامی شوق کی دکان پر تمام ضروری حصے تلاش کرسکتے ہیں۔
- نوڈیم سی یو
- ایل. ای. ڈی
- بریڈ بورڈ
- مربوط تاروں
- پروگرامنگ کیبل
چاند گرہن ایم کیوٹیٹی ٹیسٹ سرکٹ۔ منصوبہ بندی
بنیادی ایم کیوٹی ٹی منصوبے کا سرکٹ ڈایاگرام ذیل میں دیا گیا ہے۔
پروگرامنگ ESP8266 بروکر کے ساتھ مواصلت قائم کرنے کے لئے
ایک سادہ Arduino کے کوڈ MQTT بروکر اور NodeMCU درمیان تمام ضروری کمیونیکیشنز کا خیال رکھتا ہے. اس سیکشن میں ، ہم سیکھیں گے کہ یہ فعالیت کس طرح تفصیل سے کام کرتی ہے۔
آرڈینوو IDE سیٹ اپ کریں اور کوڈ اپلوڈ کریں:
اگر آپ کوڈ کو پہلی بار نوڈیم سی یو میں اپ لوڈ کررہے ہیں تو ، آپ کو پہلے ارڈینو آئ ڈی ای ترتیب دینے کی ضرورت ہے ۔ ایسا کرنے کے لئے ، ذیل میں دی گئی آسان ہدایات پر عمل کریں۔
پہلے ، آرڈینوو IDE کھولیں ، پھر فائل–> ترجیحات>> ترتیبات پر جائیں ۔
اگلا ، نیچے یو آر ایل کی کاپی کریں اور اسے 'ایڈیشنل بورڈ منیجر یو آر ایل ' فیلڈ میں چسپاں کریں ، اور 'ٹھیک ہے' پر کلک کریں۔ ہم نے یہ جاننے کے لئے نیچے دی گئی تصویر کو چیک کرسکتے ہیں کہ ہم نے یہ کیا کیا ہے۔
لنک:
اگلا ، ٹولز> بورڈ> بورڈ منیجر پر جائیں ۔ بورڈ کے منیجر ونڈو میں ، سرچ باکس میں ESP 8266 ٹائپ کریں اور انٹر دبائیں۔ پھر ڈراپ ڈاؤن سے تازہ ترین ورژن منتخب کریں اور انسٹال پر کلک کریں۔ ذیل کی شبیہہ آپ کو واضح نظریہ دے گی۔
آخر میں ، ایک بار جب انسٹالیشن مکمل ہوجائے تو ، ٹولز -> بورڈ -> پر جائیں اور نوڈیم سی یو 1.0 (ESP-12E Module) کو منتخب کریں۔ اب ، آپ آرڈوینو IDE کے ساتھ نوڈیم سی یو پروگرام کر سکتے ہیں۔ جیسا کہ ہم نے ارڈینوو IDE ترتیب دیئے ہیں ، اب ہم مکمل کوڈ اپ لوڈ کرسکتے ہیں۔ لیکن پہلے ، پورے کوڈ کی فوری وضاحت پر پڑھیں۔
اوlyل ، ہم نے ESP8266 استعمال کرنے کے لئے "ESP8266WiFi.h" اور ایم کیوٹی ٹی کے لئے "PubSubClient.h" شامل کیا ہے۔
آپ ایردوینو لائبریری کے اندر ای ایس پی 8266 لائبریری کو پہلے ہی سے تلاش کرسکتے ہیں ، لیکن آپ کو اس سے وابستہ گٹ ہب مخزن سے پبسبلیوٹ لائبریری ڈاؤن لوڈ کرنے کی ضرورت ہے۔
# شامل کریں
اس کے بعد ، اپنے Wi-Fi صارف نام اور پاس ورڈ جیسے نیٹ ورک کی اسناد کی وضاحت کریں۔ بالترتیب "ایڈمن" اور "12345678" کی جگہ اپنے اسناد کی جگہ لیں۔
const char * ssid = "ایڈمن"؛ کونٹ چار * پاس ورڈ = "12345678"؛
اگلا ، ہمیں ایم کیوٹی ٹی سرور کو تشکیل دینے کی ضرورت ہے ۔ ہم نے اس پروجیکٹ کے لئے ایکلیپس ایم کیو ٹی ٹی سرور کا استعمال کیا ہے ، اسی وجہ سے سرور کا پتہ "mqtt.eclipse.org" کے بطور دیا جاتا ہے ۔ لیکن اگر آپ کسی دوسرے سرور جیسے موسکوٹو ، اڈفریٹ کو استعمال کرنے کا ارادہ رکھتے ہیں تو آپ اسے اپنے مخصوص سرور پتے اور پورٹ نمبر سے تبدیل کرسکتے ہیں۔
کونٹ چار * mqtt_server = "mqtt.eclipse.org"؛ const int mqtt_port = 1883؛
اگلا ، مثال کے طور پر کلاس WiFiClient اور PubSubClient کے لئے تشکیل دیا گیا ہے ، جو پورے پروگرام میں استعمال ہوگا۔
WiFiClient espClient؛ PubSubClient مؤکل (espClient)؛
میں سیٹ اپ () سیکشن، ہم پر کال کریں WiFi.begin () سب سے پہلے، یہ طریقہ بلا اپنی پسند ہاٹ سپاٹ کو ESP منسلک کرے گا.
WiFi.begin (ssid، پاس ورڈ)؛
اگلا ، ہم WiFi.status () طریقہ استعمال کرتے ہوئے ایک کامیاب نیٹ ورک کنکشن کی جانچ کرتے ہیں ۔ کامیاب کنکشن کے بعد ، منسلک نیٹ ورک کے ایس ایس آئی ڈی کے ساتھ سیریل مانیٹر پر ایک پیغام چھپا جاتا ہے۔
جبکہ (WiFi.status ()! = WL_CONNECTED) {تاخیر (500)؛ سیریل.پرنٹلن ("وائی فائی سے منسلک..")؛ } سیریل.پرنٹ ("وائی فائی سے منسلک:")؛ سیریل.پرنٹ لین (وائی فائی ایس ایس آئی ڈی ())؛
اب ، ہمیں ایک دلال بنانے کی ضرورت ہے۔ اس کے لئے ، ہم نے سیٹ سرور کا طریقہ استعمال کیا ہے ۔ یہ طریقہ دو دلائل لیتا ہے جو ہم پہلے بیان کر چکے ہیں۔ اب ، اگر ہم سرور سے پیغامات وصول کرنا چاہتے ہیں تو ہمیں کال بیک فنکشن بنانے کی ضرورت ہے۔ اس کے لئے ، ہم سیٹ کال بیک (کال بیک) طریقہ استعمال کر رہے ہیں ۔
مؤکل.سیٹسرور (mqtt_server، mqtt_port)؛ کلائنٹ.سیٹ کال بیک (ایم کیو ٹی ٹیل بیک)؛
اب ، ہم نے ESP8266 کلائنٹ سے رابطہ قائم کرنے کے لئے کنیکٹ (کلائنٹ آئی ڈی) فنکشن کا استعمال کیا ہے۔ یہاں کلائنٹ ID مؤکل کا نام ہے ، اور یہ منفرد ہونا چاہئے۔ اگر یہ منسلک ہے ، تو سیریل مانیٹر کے اندر کامیابی کا پیغام دکھایا جاسکتا ہے۔
اگر (گاہک سے رابطہ کریں ("ESP8266")) ial Serial.println ("منسلک")؛ } دوسری {سیریل.پرنٹ ("ریاست کے ساتھ ناکام") سیریل.پرنٹ لین (مؤکل.اسٹیٹ ())؛ تاخیر (2000)؛ }
اگلا ، ہم کلائنٹ کو سبسکرائب () کہتے ہیں ، جو ایک بلٹ ان ایم کیوٹی ٹی فنکشن ہے ، جو کسی خاص عنوان کو سبسکرائب کرنے کے لئے استعمال ہوتا ہے۔ اس پروجیکٹ کے ل we ، ہم نے اپنے صارف نام کے طور پر " esp / test " استعمال کیا ہے ۔
مؤکل۔ سبسکرائب ("esp / test")؛
اب ، ایم کیوٹیٹ کال بیک فنکشن کو طلب کیا گیا ہے تاکہ یہ چیک کیا جاسکے کہ کوئی تازہ ترین معلومات دستیاب ہے یا نہیں۔ اگر نیا ڈیٹا دستیاب ہے تو ، یہ فنکشن موصولہ ڈیٹا کو سنبھالتا ہے اور سیریل مانیٹر میں میسج کو اصل پیغام اور ٹاپک نام کے ساتھ پرنٹس کرتا ہے جہاں پیغام موصول ہوتا ہے۔
اگلا ، ہم پیغامات کو اسٹرنگ میں تبدیل کرتے ہیں ، تاکہ اس کا موازنہ کیا جاسکے اور کسی بھی متحرک عمل کی جانچ پڑتال کی جاسکے۔ اس پروجیکٹ میں ، ایک ایل ای ڈی کو ایم کیوٹی ٹی کمانڈوں کا استعمال کرتے ہوئے / بند کر دیا گیا ہے ، جیسا کہ نیچے کوڈ میں دکھایا گیا ہے۔
(INT i = 0؛ i <کی لمبائی؛ i ++) {پیغام = پیغام + (چار) پے لوڈ؛ ial سیریل.پرنٹ (پیغام)؛ اگر (پیغام == "آن") {ڈیجیٹل رائٹ (ایل ای ڈی ، ہائی)؛ }
آخر میں ، عنوان سے متعلق معلومات کو شائع کرنا۔ client.publish () تقریب کا استعمال کیا جاتا ہے. اس پروجیکٹ میں ، پش بٹن کی حیثیت کی جانچ پڑتال کی گئی ہے ، اگر بٹن دبایا جاتا ہے ، تو پھر ذیل میں جیسا کہ ایک مضمون " esp / test1 " کو شائع کیا جاتا ہے ۔
اگر (ڈیجیٹل ریڈ (D1) == 0)) {client.publish ("esp / test1" ، "ESP8266 سے ہیلو")؛ } اور؛ گاہک.لوپ ()؛
ارڈوینو کا استعمال کرتے ہوئے ESP8266 کے ساتھ ایم کیوٹی ٹی کی جانچ کرنا
ہماری آخری جانچ کے ل we ، ہم اینڈرائیڈ ایپلی کیشن استعمال کرنے جارہے ہیں ، جو ہم نے پہلے ترتیب دیا ہے۔
ایم کیوٹی ٹی کلائنٹ کی ایپلی کیشن کھولیں ، اور یقینی بنائیں کہ آپ کے موبائل میں ایک فعال انٹرنیٹ کنیکشن ہے۔ اس کے علاوہ ، جس ہاٹ سپاٹ سے نوڈیم سی یو منسلک ہے اس میں ایک فعال انٹرنیٹ کنکشن ہونا چاہئے۔ ایک بار جب سب کچھ انٹرنیٹ سے منسلک ہوجاتا ہے ، تو ہم ای ایس پی ماڈیول سے "ہیلو منجانب ESP8266" بھیج رہے ہیں ، جس کی جھلک اینڈرائڈ ایپ کے اندر ظاہر ہوگی ، اور ہمیں ایک اطلاع ملے گی۔ اگلا ، ہم اینڈروئیڈ ایپ سے ایک تار بھیجیں گے ، جو ایک ایل ای ڈی کو تبدیل کرے گا جو ای ایس پی 8266 نوڈ ایم سی یو بورڈ سے منسلک ہے۔
مرحلہ 1: (عنوان کو سبسکرائب کریں):
ایپ پر محفوظ شدہ ایم کیوٹی ٹی آپشن پر کلک کریں ، جسے ہم نے پہلے تشکیل دیا ہے۔ یہ ایک اسکرین کو پاپ اپ کرے گا ، جہاں اسے "کسی عنوان کو سبسکرائب کریں" کا اشارہ کیا جائے گا ۔ اس سے پہلے ہم عنوان کو " esp / test1 " کے بطور تشکیل دے چکے ہیں ۔ لہذا ، Android ایپ میں ، ہم " esp / test1 " لکھیں گے ۔ سبسکرائب پر کلک کریں ، ایسا کرنے سے آپ نیچے کی طرح کی سکرین پیش کریں گے ، جہاں اسے مخصوص ٹاپک کی طرف سے "کوئی پیغام نہیں ملا" کی طرح لکھا جائے گا۔
اب ، 'منسلک' بٹن پر کلک کریں جو نوڈیم سی یو سے منسلک ہے۔ اب ہمارے کوڈ کے مطابق ، عنوان کو " ESP8266 سے ہیلو " پیغام شائع کیا جائے گا اور سکرین پر ایک نوٹیفکیشن آئے گا جس کے تحت میسج موصول ہوا ہے۔
مرحلہ 2: عنوان پر شائع کریں:
اب ٹاپک میں اشاعت کے ل Application ، ایپلی کیشن کے یوپی تیر بٹن پر کلک کریں ، اور یہ ذیل میں دکھائے جانے والے اسکرین کو کھولے گا۔
اب ، ٹاپک فیلڈ میں ، " esp / test " اور میسج فیلڈ میں ، ایل ای ڈی کو آن اور آف کرنے کے لئے بالترتیب " آن " یا “ آف ” لکھیں ۔ مثال کے طور پر ، اگر ٹاپک پر "آن" شائع ہوتا ہے ، تو ایل ای ڈی آن ہو جائے گا اور اگر ٹاپک پر "آف" شائع ہوتا ہے تو ایل ای ڈی بند ہوجائے گا۔
مجھے امید ہے کہ آپ کو مضمون پسند آیا ہو اور آپ نے کچھ نیا سیکھا ہو۔ اگر آپ کو اس مضمون کے بارے میں کوئی سوالات ہیں تو ، براہ کرم نیچے تبصرہ کریں یا آپ اس کے بجائے ہمارا فورم استعمال کرسکتے ہیں۔