|
|
<!--
|
|
|
CO_OP_TRANSLATOR_METADATA:
|
|
|
{
|
|
|
"original_hash": "4efc74299e19f5d08f2f3f34451a11ba",
|
|
|
"translation_date": "2025-08-28T15:13:53+00:00",
|
|
|
"source_file": "2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-publish.md",
|
|
|
"language_code": "sr"
|
|
|
}
|
|
|
-->
|
|
|
# Објављивање температуре - Виртуелни IoT уређај и Raspberry Pi
|
|
|
|
|
|
У овом делу лекције, објавићете вредности температуре које детектује Raspberry Pi или Виртуелни IoT уређај преко MQTT-а, како би касније могле бити коришћене за израчунавање GDD.
|
|
|
|
|
|
## Објављивање температуре
|
|
|
|
|
|
Када се температура очита, може се објавити преко MQTT-а неком 'серверском' коду који ће читати вредности и чувати их, спремне за коришћење у израчунавању GDD.
|
|
|
|
|
|
### Задатак - објавите температуру
|
|
|
|
|
|
Програмирајте уређај да објављује податке о температури.
|
|
|
|
|
|
1. Отворите пројекат апликације `temperature-sensor` ако већ није отворен.
|
|
|
|
|
|
1. Поновите кораке које сте радили у лекцији 4 да се повежете на MQTT и пошаљете телеметрију. Користићете исти јавни Mosquitto брокер.
|
|
|
|
|
|
Кораци за ово су:
|
|
|
|
|
|
- Додајте MQTT pip пакет
|
|
|
- Додајте код за повезивање на MQTT брокер
|
|
|
- Додајте код за објављивање телеметрије
|
|
|
|
|
|
> ⚠️ Погледајте [упутства за повезивање на MQTT](../../../1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md) и [упутства за слање телеметрије](../../../1-getting-started/lessons/4-connect-internet/single-board-computer-telemetry.md) из лекције 4 ако је потребно.
|
|
|
|
|
|
1. Уверите се да `client_name` одражава име овог пројекта:
|
|
|
|
|
|
```python
|
|
|
client_name = id + 'temperature_sensor_client'
|
|
|
```
|
|
|
|
|
|
1. За телеметрију, уместо да шаљете вредност светлости, пошаљите вредност температуре очитану са DHT сензора у својству JSON документа названом `temperature`:
|
|
|
|
|
|
```python
|
|
|
_, temp = sensor.read()
|
|
|
telemetry = json.dumps({'temperature' : temp})
|
|
|
```
|
|
|
|
|
|
1. Вредност температуре не треба да се очитава често - неће се много мењати у кратком временском периоду, па подесите `time.sleep` на 10 минута:
|
|
|
|
|
|
```cpp
|
|
|
time.sleep(10 * 60);
|
|
|
```
|
|
|
|
|
|
> 💁 Функција `sleep` узима време у секундама, па је ради лакшег читања вредност прослеђена као резултат израчунавања. 60 секунди у минуту, тако да 10 x (60 секунди у минуту) даје кашњење од 10 минута.
|
|
|
|
|
|
1. Покрените код на исти начин као што сте покренули код из претходног дела задатка. Ако користите виртуелни IoT уређај, уверите се да је CounterFit апликација покренута и да су сензори за влажност и температуру креирани на одговарајућим пиновима.
|
|
|
|
|
|
```output
|
|
|
pi@raspberrypi:~/temperature-sensor $ python3 app.py
|
|
|
MQTT connected!
|
|
|
Sending telemetry {"temperature": 25}
|
|
|
Sending telemetry {"temperature": 25}
|
|
|
```
|
|
|
|
|
|
> 💁 Овај код можете пронаћи у фолдеру [code-publish-temperature/virtual-device](../../../../../2-farm/lessons/1-predict-plant-growth/code-publish-temperature/virtual-device) или у фолдеру [code-publish-temperature/pi](../../../../../2-farm/lessons/1-predict-plant-growth/code-publish-temperature/pi).
|
|
|
|
|
|
😀 Успешно сте објавили температуру као телеметрију са вашег уређаја.
|
|
|
|
|
|
---
|
|
|
|
|
|
**Одрицање од одговорности**:
|
|
|
Овај документ је преведен коришћењем услуге за превођење помоћу вештачке интелигенције [Co-op Translator](https://github.com/Azure/co-op-translator). Иако се трудимо да обезбедимо тачност, молимо вас да имате у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати меродавним извором. За критичне информације препоручује се професионални превод од стране људи. Не преузимамо одговорност за било каква погрешна тумачења или неспоразуме који могу настати услед коришћења овог превода. |