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/sr/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md

154 lines
11 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "70e5a428b607cd5a9a4f422c2a4df03d",
"translation_date": "2025-08-28T15:14:42+00:00",
"source_file": "2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md",
"language_code": "sr"
}
-->
# Мерење температуре - Виртуелни IoT хардвер
У овом делу лекције, додаћете сензор за температуру вашем виртуелном IoT уређају.
## Виртуелни хардвер
Виртуелни IoT уређај ће користити симулирани Grove дигитални сензор за влажност и температуру. Ово омогућава да ова лабораторија остане иста као када се користи Raspberry Pi са физичким Grove DHT11 сензором.
Сензор комбинује **сензор за температуру** са **сензором за влажност**, али у овој лабораторији вас занима само компонента сензора за температуру. У физичком IoT уређају, сензор за температуру би био [термистор](https://wikipedia.org/wiki/Thermistor) који мери температуру детектујући промену отпора у зависности од промене температуре. Сензори за температуру су обично дигитални сензори који интерно конвертују измерени отпор у температуру у степенима Целзијуса (или Келвина, или Фаренхајта).
### Додавање сензора у CounterFit
Да бисте користили виртуелни сензор за влажност и температуру, потребно је да додате ова два сензора у CounterFit апликацију.
#### Задатак - додавање сензора у CounterFit
Додајте сензоре за влажност и температуру у CounterFit апликацију.
1. Направите нову Python апликацију на вашем рачунару у фасцикли под називом `temperature-sensor` са једним фајлом под називом `app.py` и Python виртуелним окружењем, и додајте CounterFit pip пакете.
> ⚠️ Можете се позвати на [упутства за креирање и подешавање CounterFit Python пројекта у лекцији 1 ако је потребно](../../../1-getting-started/lessons/1-introduction-to-iot/virtual-device.md).
1. Инсталирајте додатни Pip пакет за инсталацију CounterFit shim-а за DHT11 сензор. Уверите се да ово радите из терминала са активираним виртуелним окружењем.
```sh
pip install counterfit-shims-seeed-python-dht
```
1. Уверите се да је CounterFit веб апликација покренута.
1. Направите сензор за влажност:
1. У оквиру *Create sensor* у панелу *Sensors*, из падајућег менија *Sensor type* изаберите *Humidity*.
1. Оставите *Units* подешено на *Percentage*.
1. Уверите се да је *Pin* подешен на *5*.
1. Изаберите дугме **Add** да бисте креирали сензор за влажност на пину 5.
![Подешавања сензора за влажност](../../../../../translated_images/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.sr.png)
Сензор за влажност ће бити креиран и појавиће се на листи сензора.
![Креирани сензор за влажност](../../../../../translated_images/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.sr.png)
1. Направите сензор за температуру:
1. У оквиру *Create sensor* у панелу *Sensors*, из падајућег менија *Sensor type* изаберите *Temperature*.
1. Оставите *Units* подешено на *Celsius*.
1. Уверите се да је *Pin* подешен на *6*.
1. Изаберите дугме **Add** да бисте креирали сензор за температуру на пину 6.
![Подешавања сензора за температуру](../../../../../translated_images/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.sr.png)
Сензор за температуру ће бити креиран и појавиће се на листи сензора.
![Креирани сензор за температуру](../../../../../translated_images/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.sr.png)
## Програмирање апликације за сензор температуре
Сада можете програмирати апликацију за сензор температуре користећи CounterFit сензоре.
### Задатак - програмирање апликације за сензор температуре
Програмирајте апликацију за сензор температуре.
1. Уверите се да је апликација `temperature-sensor` отворена у VS Code-у.
1. Отворите фајл `app.py`.
1. Додајте следећи код на врх `app.py` да бисте повезали апликацију са CounterFit-ом:
```python
from counterfit_connection import CounterFitConnection
CounterFitConnection.init('127.0.0.1', 5000)
```
1. Додајте следећи код у фајл `app.py` да бисте увезли потребне библиотеке:
```python
import time
from counterfit_shims_seeed_python_dht import DHT
```
Изјава `from seeed_dht import DHT` увози класу `DHT` за интеракцију са виртуелним Grove сензором температуре користећи shim из модула `counterfit_shims_seeed_python_dht`.
1. Додајте следећи код након претходног да бисте креирали инстанцу класе која управља виртуелним сензором за влажност и температуру:
```python
sensor = DHT("11", 5)
```
Овим се декларише инстанца класе `DHT` која управља виртуелним **D**igital **H**umidity и **T**emperature сензором. Први параметар говори коду да се користи виртуелни *DHT11* сензор. Други параметар говори коду да је сензор повезан на порт `5`.
> 💁 CounterFit симулира овај комбиновани сензор за влажност и температуру повезивањем на 2 сензора: сензор за влажност на пину који је дат приликом креирања класе `DHT`, и сензор за температуру који ради на следећем пину. Ако је сензор за влажност на пину 5, shim очекује да је сензор за температуру на пину 6.
1. Додајте бесконачну петљу након претходног кода да бисте очитавали вредност сензора температуре и исписивали је у конзолу:
```python
while True:
_, temp = sensor.read()
print(f'Temperature {temp}°C')
```
Позив `sensor.read()` враћа тјупл са вредностима влажности и температуре. Потребна вам је само вредност температуре, па се вредност влажности игнорише. Вредност температуре се затим исписује у конзолу.
1. Додајте мало кашњење од десет секунди на крају `loop`-а, јер није потребно континуирано проверавати нивое температуре. Кашњење смањује потрошњу енергије уређаја.
```python
time.sleep(10)
```
1. Из терминала у VS Code-у са активираним виртуелним окружењем, покрените следеће да бисте покренули вашу Python апликацију:
```sh
python app.py
```
1. У CounterFit апликацији, промените вредност сензора температуре коју ће апликација очитавати. Ово можете урадити на два начина:
* Унесите број у поље *Value* за сензор температуре, а затим изаберите дугме **Set**. Број који унесете биће вредност коју сензор враћа.
* Означите поље *Random*, унесите *Min* и *Max* вредности, а затим изаберите дугме **Set**. Сваки пут када сензор очита вредност, она ће бити насумичан број између *Min* и *Max*.
Требало би да видите вредности које сте подесили како се појављују у конзоли. Промените *Value* или подешавања *Random* да бисте видели промену вредности.
```output
(.venv) ➜ temperature-sensor python app.py
Temperature 28.25°C
Temperature 30.71°C
Temperature 25.17°C
```
> 💁 Овај код можете пронаћи у фасцикли [code-temperature/virtual-device](../../../../../2-farm/lessons/1-predict-plant-growth/code-temperature/virtual-device).
😀 Ваша апликација за сензор температуре је успешно завршена!
---
**Одрицање од одговорности**:
Овај документ је преведен коришћењем услуге за превођење помоћу вештачке интелигенције [Co-op Translator](https://github.com/Azure/co-op-translator). Иако се трудимо да обезбедимо тачност, молимо вас да имате у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати меродавним извором. За критичне информације, препоручује се професионални превод од стране људи. Не преузимамо одговорност за било каква погрешна тумачења или неспоразуме који могу настати услед коришћења овог превода.