You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/ar/1-getting-started/lessons/4-connect-internet/single-board-computer-comma...

4.7 KiB

التحكم في ضوء الليل عبر الإنترنت - الأجهزة الافتراضية لإنترنت الأشياء و Raspberry Pi

في هذا الجزء من الدرس، ستقوم بالاشتراك في الأوامر المرسلة من وسيط MQTT إلى جهاز Raspberry Pi الخاص بك أو جهاز إنترنت الأشياء الافتراضي.

الاشتراك في الأوامر

الخطوة التالية هي الاشتراك في الأوامر المرسلة من وسيط MQTT والاستجابة لها.

المهمة

اشترك في الأوامر.

  1. افتح مشروع ضوء الليل في VS Code.

  2. إذا كنت تستخدم جهاز إنترنت أشياء افتراضي، تأكد من أن الطرفية تعمل في البيئة الافتراضية. إذا كنت تستخدم Raspberry Pi، فلن تحتاج إلى استخدام بيئة افتراضية.

  3. أضف الكود التالي بعد تعريفات client_telemetry_topic:

    server_command_topic = id + '/commands'
    

    server_command_topic هو موضوع MQTT الذي سيشترك فيه الجهاز لتلقي أوامر تشغيل وإطفاء الـ LED.

  4. أضف الكود التالي مباشرة فوق الحلقة الرئيسية، بعد سطر 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 الذي يتم تمريره إلى وظيفة المعالجة.

  5. قم بتشغيل الكود بنفس الطريقة التي شغّلت بها الكود في الجزء السابق من المهمة. إذا كنت تستخدم جهاز إنترنت أشياء افتراضي، فتأكد من أن تطبيق CounterFit يعمل وأن مستشعر الضوء والـ LED قد تم إنشاؤهما على المنافذ الصحيحة.

  6. قم بتعديل مستويات الضوء التي يكتشفها جهازك الفعلي أو الافتراضي. سيتم كتابة الرسائل المستلمة والأوامر المرسلة إلى الطرفية. سيتم أيضًا تشغيل وإطفاء الـ LED بناءً على مستوى الضوء.

💁 يمكنك العثور على هذا الكود في مجلد code-commands/virtual-device أو مجلد code-commands/pi.

😀 لقد قمت ببرمجة جهازك بنجاح للاستجابة للأوامر من وسيط MQTT.


إخلاء المسؤولية:
تم ترجمة هذا المستند باستخدام خدمة الترجمة بالذكاء الاصطناعي Co-op Translator. بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو معلومات غير دقيقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الرسمي. للحصول على معلومات حاسمة، يُوصى بالاستعانة بترجمة بشرية احترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة تنشأ عن استخدام هذه الترجمة.