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/bg/1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md

6.2 KiB

Контролирайте нощната си лампа през Интернет - Виртуален IoT хардуер и Raspberry Pi

IoT устройството трябва да бъде програмирано да комуникира с test.mosquitto.org чрез MQTT, за да изпраща телеметрични стойности с показанията на светлинния сензор и да получава команди за управление на LED.

В тази част от урока ще свържете вашия Raspberry Pi или виртуално IoT устройство към MQTT брокер.

Инсталирайте MQTT клиентския пакет

За да комуникирате с MQTT брокера, трябва да инсталирате библиотека за MQTT чрез pip пакет, или на вашия Pi, или във виртуалната среда, ако използвате виртуално устройство.

Задача

Инсталирайте pip пакета

  1. Отворете проекта за нощната лампа в VS Code.

  2. Ако използвате виртуално IoT устройство, уверете се, че терминалът работи във виртуалната среда. Ако използвате Raspberry Pi, няма да използвате виртуална среда.

  3. Изпълнете следната команда, за да инсталирате MQTT pip пакета:

    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. Изпълнете кода по същия начин, както изпълнихте кода от предишната част на заданието. Ако използвате виртуално IoT устройство, уверете се, че приложението CounterFit работи и че светлинният сензор и LED са създадени на правилните пинове.

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

💁 Можете да намерите този код в папката code-mqtt/virtual-device или в папката code-mqtt/pi.

😀 Успешно свързахте вашето устройство към MQTT брокер.


Отказ от отговорност:
Този документ е преведен с помощта на AI услуга за превод Co-op Translator. Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за недоразумения или погрешни интерпретации, произтичащи от използването на този превод.