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

6.3 KiB

Керуйте нічником через Інтернет - Віртуальне IoT обладнання та Raspberry Pi

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

У цій частині уроку ви підключите свій Raspberry Pi або віртуальний IoT-пристрій до брокера MQTT.

Встановіть пакет клієнта MQTT

Щоб взаємодіяти з брокером MQTT, потрібно встановити бібліотеку MQTT через pip, або на вашому Raspberry 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. Додайте наступний код після визначень датчика освітлення та світлодіода:

    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 працює, а датчик освітлення та світлодіод створені на правильних пінах.

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

💁 Ви можете знайти цей код у папці code-mqtt/virtual-device або code-mqtt/pi.

😀 Ви успішно підключили свій пристрій до брокера MQTT.


Відмова від відповідальності:
Цей документ був перекладений за допомогою сервісу автоматичного перекладу Co-op Translator. Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу.