5.0 KiB
انٹرنیٹ کے ذریعے اپنی نائٹ لائٹ کو کنٹرول کریں - ورچوئل IoT ہارڈویئر اور راسپبیری پائی
اس سبق کے اس حصے میں، آپ MQTT بروکر سے اپنے راسپبیری پائی یا ورچوئل IoT ڈیوائس کو بھیجے گئے کمانڈز کو سبسکرائب کریں گے۔
کمانڈز کو سبسکرائب کریں
اگلا مرحلہ یہ ہے کہ MQTT بروکر سے بھیجے گئے کمانڈز کو سبسکرائب کریں اور ان پر ردعمل دیں۔
کام
کمانڈز کو سبسکرائب کریں۔
-
نائٹ لائٹ پروجیکٹ کو VS Code میں کھولیں۔
-
اگر آپ ورچوئل IoT ڈیوائس استعمال کر رہے ہیں، تو یقینی بنائیں کہ ٹرمینل ورچوئل ماحول چلا رہا ہے۔ اگر آپ راسپبیری پائی استعمال کر رہے ہیں تو آپ ورچوئل ماحول استعمال نہیں کریں گے۔
-
client_telemetry_topic
کی تعریف کے بعد درج ذیل کوڈ شامل کریں:server_command_topic = id + '/commands'
server_command_topic
وہ MQTT ٹاپک ہے جسے ڈیوائس LED کمانڈز وصول کرنے کے لیے سبسکرائب کرے گا۔ -
مین لوپ کے بالکل اوپر،
mqtt_client.loop_start()
لائن کے بعد درج ذیل کوڈ شامل کریں:def handle_command(client, userdata, message): payload = json.loads(message.payload.decode()) print("Message received:", payload) if payload['led_on']: led.on() else: led.off() mqtt_client.subscribe(server_command_topic) mqtt_client.on_message = handle_command
یہ کوڈ ایک فنکشن،
handle_command
کو ڈیفائن کرتا ہے جو ایک پیغام کو JSON ڈاکیومنٹ کے طور پر پڑھتا ہے اورled_on
پراپرٹی کی ویلیو تلاش کرتا ہے۔ اگر یہTrue
پر سیٹ ہو تو LED آن ہو جائے گا، ورنہ یہ آف ہو جائے گا۔MQTT کلائنٹ اس ٹاپک کو سبسکرائب کرتا ہے جس پر سرور پیغامات بھیجے گا اور
handle_command
فنکشن کو سیٹ کرتا ہے تاکہ جب کوئی پیغام موصول ہو تو اسے کال کیا جائے۔💁
on_message
ہینڈلر ان تمام ٹاپکس کے لیے کال کیا جاتا ہے جنہیں سبسکرائب کیا گیا ہے۔ اگر آپ بعد میں ایسا کوڈ لکھیں جو متعدد ٹاپکس کو سننے کے لیے ہو، تو آپ اس ٹاپک کو حاصل کر سکتے ہیں جس پر پیغام بھیجا گیا تھا،message
آبجیکٹ سے جو ہینڈلر فنکشن کو پاس کیا جاتا ہے۔ -
کوڈ کو اسی طرح چلائیں جیسے آپ نے اسائنمنٹ کے پچھلے حصے سے کوڈ چلایا تھا۔ اگر آپ ورچوئل IoT ڈیوائس استعمال کر رہے ہیں، تو یقینی بنائیں کہ CounterFit ایپ چل رہی ہے اور لائٹ سینسر اور LED درست پنز پر بنائے گئے ہیں۔
-
اپنے فزیکل یا ورچوئل ڈیوائس کے ذریعے ڈیٹیکٹ کیے گئے لائٹ لیولز کو ایڈجسٹ کریں۔ موصول ہونے والے پیغامات اور بھیجے گئے کمانڈز ٹرمینل پر لکھے جائیں گے۔ لائٹ لیول کے مطابق LED بھی آن اور آف ہو جائے گا۔
💁 آپ یہ کوڈ code-commands/virtual-device فولڈر یا code-commands/pi فولڈر میں تلاش کر سکتے ہیں۔
😀 آپ نے کامیابی سے اپنے ڈیوائس کو MQTT بروکر سے کمانڈز پر ردعمل دینے کے لیے کوڈ کر لیا ہے۔
ڈسکلیمر:
یہ دستاویز AI ترجمہ سروس Co-op Translator کا استعمال کرتے ہوئے ترجمہ کی گئی ہے۔ ہم درستگی کے لیے کوشش کرتے ہیں، لیکن براہ کرم آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا غیر درستیاں ہو سکتی ہیں۔ اصل دستاویز کو اس کی اصل زبان میں مستند ذریعہ سمجھا جانا چاہیے۔ اہم معلومات کے لیے، پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ ہم اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کے ذمہ دار نہیں ہیں۔