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-mqtt.md

5.2 KiB

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

يحتاج جهاز إنترنت الأشياء إلى برمجة للتواصل مع test.mosquitto.org باستخدام MQTT لإرسال قيم القياس عن بعد مع قراءة مستشعر الضوء، وتلقي الأوامر للتحكم في LED.

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

تثبيت حزمة عميل MQTT

للتواصل مع وسيط MQTT، تحتاج إلى تثبيت مكتبة MQTT باستخدام حزمة pip، سواء على Raspberry Pi الخاص بك أو في البيئة الافتراضية إذا كنت تستخدم جهازًا افتراضيًا.

المهمة

تثبيت حزمة pip

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

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

  3. قم بتشغيل الأمر التالي لتثبيت حزمة pip الخاصة بـ MQTT:

    pip3 install paho-mqtt
    

برمجة الجهاز

الجهاز جاهز للبرمجة.

المهمة

اكتب كود الجهاز.

  1. أضف الاستيراد التالي إلى أعلى ملف app.py:

    import paho.mqtt.client as mqtt
    

    مكتبة paho.mqtt.client تسمح لتطبيقك بالتواصل عبر MQTT.

  2. أضف الكود التالي بعد تعريفات مستشعر الضوء و LED:

    id = '<ID>'
    
    client_name = id + 'nightlight_client'
    

    استبدل <ID> بمعرف فريد سيتم استخدامه كاسم لهذا العميل الخاص بالجهاز، ولاحقًا للمواضيع التي ينشرها هذا الجهاز ويشترك فيها. وسيط test.mosquitto.org عام ويستخدمه العديد من الأشخاص، بما في ذلك طلاب آخرين يعملون على هذا التمرين. وجود اسم عميل MQTT فريد وأسماء مواضيع فريدة يضمن أن الكود الخاص بك لن يتعارض مع أي شخص آخر. ستحتاج أيضًا إلى هذا المعرف عند إنشاء كود الخادم لاحقًا في هذا التمرين.

    💁 يمكنك استخدام موقع مثل GUIDGen لإنشاء معرف فريد.

    client_name هو اسم فريد لهذا العميل الخاص بـ MQTT على الوسيط.

  3. أضف الكود التالي أسفل هذا الكود الجديد لإنشاء كائن عميل MQTT والاتصال بوسيط MQTT:

    mqtt_client = mqtt.Client(client_name)
    mqtt_client.connect('test.mosquitto.org')
    
    mqtt_client.loop_start()
    
    print("MQTT connected!")
    

    هذا الكود ينشئ كائن العميل، ويتصل بوسيط MQTT العام، ويبدأ حلقة معالجة تعمل في خيط خلفي تستمع للرسائل على أي مواضيع مشترك فيها.

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

    (.venv) ➜  nightlight python app.py 
    MQTT connected!
    Light level: 0
    Light level: 0
    

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

😀 لقد نجحت في توصيل جهازك بوسيط MQTT.


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