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/2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-...

5.6 KiB

Публикуване на температура - Виртуален IoT хардуер и Raspberry Pi

В тази част от урока ще публикувате стойностите на температурата, засечени от Raspberry Pi или Виртуалното IoT устройство чрез MQTT, за да могат по-късно да се използват за изчисляване на GDD.

Публикуване на температурата

След като температурата бъде прочетена, тя може да бъде публикувана чрез MQTT към някакъв 'сървърен' код, който ще прочете стойностите и ще ги съхрани, готови за използване при изчисляване на GDD.

Задача - публикуване на температурата

Програмирайте устройството да публикува данните за температурата.

  1. Отворете проекта на приложението temperature-sensor, ако вече не е отворен.

  2. Повторете стъпките, които направихте в урок 4, за да се свържете с MQTT и да изпратите телеметрия. Ще използвате същия публичен Mosquitto брокер.

    Стъпките за това са:

    • Добавете pip пакета за MQTT
    • Добавете кода за свързване към MQTT брокера
    • Добавете кода за публикуване на телеметрия

    ⚠️ Вижте инструкциите за свързване към MQTT и инструкциите за изпращане на телеметрия от урок 4, ако е необходимо.

  3. Уверете се, че client_name отразява името на този проект:

    client_name = id + 'temperature_sensor_client'
    
  4. За телеметрията, вместо да изпращате стойност за светлина, изпратете стойността на температурата, прочетена от DHT сензора, като свойство в JSON документа, наречено temperature:

    _, temp = sensor.read()
    telemetry = json.dumps({'temperature' : temp})
    
  5. Стойността на температурата не е необходимо да се чете много често - тя няма да се промени значително за кратко време, затова задайте time.sleep на 10 минути:

    time.sleep(10 * 60);
    

    💁 Функцията sleep приема времето в секунди, така че за по-лесно четене стойността се предава като резултат от изчисление. 60 секунди в минута, така че 10 x (60 секунди в минута) дава 10-минутно забавяне.

  6. Стартирайте кода по същия начин, както стартирахте кода от предишната част на задачата. Ако използвате виртуално IoT устройство, уверете се, че приложението CounterFit работи и че сензорите за влажност и температура са създадени на правилните пинове.

    pi@raspberrypi:~/temperature-sensor $ python3 app.py
    MQTT connected!
    Sending telemetry  {"temperature": 25}
    Sending telemetry  {"temperature": 25}
    

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

😀 Успешно публикувахте температурата като телеметрия от вашето устройство.


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