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

154 lines
13 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-27T22:07:45+00:00",
"source_file": "2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md",
"language_code": "el"
}
-->
# Μέτρηση θερμοκρασίας - Εικονικό IoT Υλικό
Σε αυτό το μέρος του μαθήματος, θα προσθέσετε έναν αισθητήρα θερμοκρασίας στη εικονική IoT συσκευή σας.
## Εικονικό Υλικό
Η εικονική IoT συσκευή θα χρησιμοποιήσει έναν προσομοιωμένο αισθητήρα Grove Digital Υγρασίας και Θερμοκρασίας. Αυτό διατηρεί το εργαστήριο ίδιο με τη χρήση ενός Raspberry Pi με έναν φυσικό αισθητήρα Grove DHT11.
Ο αισθητήρας συνδυάζει έναν **αισθητήρα θερμοκρασίας** με έναν **αισθητήρα υγρασίας**, αλλά σε αυτό το εργαστήριο ενδιαφέρεστε μόνο για το τμήμα του αισθητήρα θερμοκρασίας. Σε μια φυσική IoT συσκευή, ο αισθητήρας θερμοκρασίας θα ήταν ένας [θεμίστορας](https://wikipedia.org/wiki/Thermistor) που μετρά τη θερμοκρασία ανιχνεύοντας μια αλλαγή στην αντίσταση καθώς αλλάζει η θερμοκρασία. Οι αισθητήρες θερμοκρασίας είναι συνήθως ψηφιακοί αισθητήρες που εσωτερικά μετατρέπουν την μετρημένη αντίσταση σε θερμοκρασία σε βαθμούς Κελσίου (ή Κέλβιν, ή Φαρενάιτ).
### Προσθήκη αισθητήρων στο CounterFit
Για να χρησιμοποιήσετε έναν εικονικό αισθητήρα υγρασίας και θερμοκρασίας, πρέπει να προσθέσετε τους δύο αισθητήρες στην εφαρμογή CounterFit.
#### Εργασία - προσθήκη αισθητήρων στο CounterFit
Προσθέστε τους αισθητήρες υγρασίας και θερμοκρασίας στην εφαρμογή CounterFit.
1. Δημιουργήστε μια νέα εφαρμογή Python στον υπολογιστή σας σε έναν φάκελο που ονομάζεται `temperature-sensor` με ένα μόνο αρχείο που ονομάζεται `app.py` και ένα εικονικό περιβάλλον Python, και προσθέστε τα πακέτα pip του CounterFit.
> ⚠️ Μπορείτε να ανατρέξετε [στις οδηγίες για τη δημιουργία και ρύθμιση ενός CounterFit Python project στο μάθημα 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. Βεβαιωθείτε ότι η εφαρμογή web του CounterFit είναι σε λειτουργία.
1. Δημιουργήστε έναν αισθητήρα υγρασίας:
1. Στο πλαίσιο *Create sensor* στο τμήμα *Sensors*, ανοίξτε το πλαίσιο *Sensor type* και επιλέξτε *Humidity*.
1. Αφήστε τις *Units* ρυθμισμένες σε *Percentage*.
1. Βεβαιωθείτε ότι το *Pin* είναι ρυθμισμένο στο *5*.
1. Επιλέξτε το κουμπί **Add** για να δημιουργήσετε τον αισθητήρα υγρασίας στο Pin 5.
![Οι ρυθμίσεις του αισθητήρα υγρασίας](../../../../../translated_images/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.el.png)
Ο αισθητήρας υγρασίας θα δημιουργηθεί και θα εμφανιστεί στη λίστα αισθητήρων.
![Ο αισθητήρας υγρασίας δημιουργήθηκε](../../../../../translated_images/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.el.png)
1. Δημιουργήστε έναν αισθητήρα θερμοκρασίας:
1. Στο πλαίσιο *Create sensor* στο τμήμα *Sensors*, ανοίξτε το πλαίσιο *Sensor type* και επιλέξτε *Temperature*.
1. Αφήστε τις *Units* ρυθμισμένες σε *Celsius*.
1. Βεβαιωθείτε ότι το *Pin* είναι ρυθμισμένο στο *6*.
1. Επιλέξτε το κουμπί **Add** για να δημιουργήσετε τον αισθητήρα θερμοκρασίας στο Pin 6.
![Οι ρυθμίσεις του αισθητήρα θερμοκρασίας](../../../../../translated_images/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.el.png)
Ο αισθητήρας θερμοκρασίας θα δημιουργηθεί και θα εμφανιστεί στη λίστα αισθητήρων.
![Ο αισθητήρας θερμοκρασίας δημιουργήθηκε](../../../../../translated_images/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.el.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 από το module `counterfit_shims_seeed_python_dht`.
1. Προσθέστε τον παρακάτω κώδικα μετά τον παραπάνω κώδικα για να δημιουργήσετε μια παρουσία της κλάσης που διαχειρίζεται τον εικονικό αισθητήρα υγρασίας και θερμοκρασίας:
```python
sensor = DHT("11", 5)
```
Αυτό δηλώνει μια παρουσία της κλάσης `DHT` που διαχειρίζεται τον εικονικό **D**igital **H**umidity και **T**emperature αισθητήρα. Η πρώτη παράμετρος λέει στον κώδικα ότι ο αισθητήρας που χρησιμοποιείται είναι ένας εικονικός αισθητήρας *DHT11*. Η δεύτερη παράμετρος λέει στον κώδικα ότι ο αισθητήρας είναι συνδεδεμένος στη θύρα `5`.
> 💁 Το CounterFit προσομοιώνει αυτόν τον συνδυασμένο αισθητήρα υγρασίας και θερμοκρασίας συνδέοντας σε 2 αισθητήρες, έναν αισθητήρα υγρασίας στο pin που δίνεται όταν δημιουργείται η κλάση `DHT`, και έναν αισθητήρα θερμοκρασίας που λειτουργεί στο επόμενο pin. Αν ο αισθητήρας υγρασίας είναι στο pin 5, το shim αναμένει ότι ο αισθητήρας θερμοκρασίας θα είναι στο pin 6.
1. Προσθέστε έναν άπειρο βρόχο μετά τον παραπάνω κώδικα για να ελέγχετε την τιμή του αισθητήρα θερμοκρασίας και να την εκτυπώνετε στην κονσόλα:
```python
while True:
_, temp = sensor.read()
print(f'Temperature {temp}°C')
```
Η κλήση στο `sensor.read()` επιστρέφει ένα tuple με υγρασία και θερμοκρασία. Χρειάζεστε μόνο την τιμή της θερμοκρασίας, οπότε η υγρασία αγνοείται. Η τιμή της θερμοκρασίας στη συνέχεια εκτυπώνεται στην κονσόλα.
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). Παρόλο που καταβάλλουμε προσπάθειες για ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτοματοποιημένες μεταφράσεις ενδέχεται να περιέχουν σφάλματα ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα θα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική μετάφραση από ανθρώπους. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή εσφαλμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.