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/2-detect-soil-moisture/virtual-device-soil-moistur...

123 lines
9.5 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": "2bf65f162bcebd35fbcba5fd245afac4",
"translation_date": "2025-08-27T21:45:21+00:00",
"source_file": "2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md",
"language_code": "el"
}
-->
# Μέτρηση υγρασίας εδάφους - Εικονικό IoT Υλικό
Σε αυτό το μέρος του μαθήματος, θα προσθέσετε έναν χωρητικό αισθητήρα υγρασίας εδάφους στη εικονική IoT συσκευή σας και θα διαβάσετε τιμές από αυτόν.
## Εικονικό Υλικό
Η εικονική IoT συσκευή θα χρησιμοποιήσει έναν προσομοιωμένο χωρητικό αισθητήρα υγρασίας εδάφους Grove. Αυτό διατηρεί το εργαστήριο ίδιο με τη χρήση ενός Raspberry Pi με έναν φυσικό χωρητικό αισθητήρα υγρασίας εδάφους Grove.
Σε μια φυσική IoT συσκευή, ο αισθητήρας υγρασίας εδάφους θα ήταν ένας χωρητικός αισθητήρας που μετρά την υγρασία του εδάφους ανιχνεύοντας τη χωρητικότητα του εδάφους, μια ιδιότητα που αλλάζει καθώς αλλάζει η υγρασία του εδάφους. Καθώς αυξάνεται η υγρασία του εδάφους, η τάση μειώνεται.
Αυτός είναι ένας αναλογικός αισθητήρας, οπότε χρησιμοποιεί έναν προσομοιωμένο 10-bit ADC για να αναφέρει μια τιμή από 1-1,023.
### Προσθήκη του αισθητήρα υγρασίας εδάφους στο CounterFit
Για να χρησιμοποιήσετε έναν εικονικό αισθητήρα υγρασίας εδάφους, πρέπει να τον προσθέσετε στην εφαρμογή CounterFit.
#### Εργασία - Προσθήκη του αισθητήρα υγρασίας εδάφους στο CounterFit
Προσθέστε τον αισθητήρα υγρασίας εδάφους στην εφαρμογή CounterFit.
1. Δημιουργήστε μια νέα εφαρμογή Python στον υπολογιστή σας σε έναν φάκελο που ονομάζεται `soil-moisture-sensor` με ένα μόνο αρχείο που ονομάζεται `app.py` και ένα εικονικό περιβάλλον Python, και προσθέστε τα πακέτα pip του CounterFit.
> ⚠️ Μπορείτε να ανατρέξετε [στις οδηγίες για τη δημιουργία και ρύθμιση ενός CounterFit Python project στο μάθημα 1 αν χρειαστεί](../../../1-getting-started/lessons/1-introduction-to-iot/virtual-device.md).
1. Βεβαιωθείτε ότι η εφαρμογή ιστού CounterFit είναι ενεργοποιημένη.
1. Δημιουργήστε έναν αισθητήρα υγρασίας εδάφους:
1. Στο πλαίσιο *Create sensor* στον πίνακα *Sensors*, ανοίξτε το πλαίσιο *Sensor type* και επιλέξτε *Soil Moisture*.
1. Αφήστε τις *Units* ρυθμισμένες σε *NoUnits*.
1. Βεβαιωθείτε ότι το *Pin* είναι ρυθμισμένο στο *0*.
1. Επιλέξτε το κουμπί **Add** για να δημιουργήσετε τον αισθητήρα *Soil Moisture* στο Pin 0.
![Οι ρυθμίσεις του αισθητήρα υγρασίας εδάφους](../../../../../translated_images/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.el.png)
Ο αισθητήρας υγρασίας εδάφους θα δημιουργηθεί και θα εμφανιστεί στη λίστα αισθητήρων.
![Ο αισθητήρας υγρασίας εδάφους δημιουργήθηκε](../../../../../translated_images/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.el.png)
## Προγραμματισμός της εφαρμογής του αισθητήρα υγρασίας εδάφους
Η εφαρμογή του αισθητήρα υγρασίας εδάφους μπορεί τώρα να προγραμματιστεί χρησιμοποιώντας τους αισθητήρες του CounterFit.
### Εργασία - Προγραμματισμός της εφαρμογής του αισθητήρα υγρασίας εδάφους
Προγραμματίστε την εφαρμογή του αισθητήρα υγρασίας εδάφους.
1. Βεβαιωθείτε ότι η εφαρμογή `soil-moisture-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_grove.adc import ADC
```
Η δήλωση `import time` εισάγει το module `time` που θα χρησιμοποιηθεί αργότερα σε αυτήν την εργασία.
Η δήλωση `from counterfit_shims_grove.adc import ADC` εισάγει την κλάση `ADC` για να αλληλεπιδράσει με έναν εικονικό αναλογικό σε ψηφιακό μετατροπέα που μπορεί να συνδεθεί με έναν αισθητήρα του CounterFit.
1. Προσθέστε τον παρακάτω κώδικα κάτω από αυτό για να δημιουργήσετε μια παρουσία της κλάσης `ADC`:
```python
adc = ADC()
```
1. Προσθέστε έναν άπειρο βρόχο που διαβάζει από αυτόν τον ADC στο pin 0 και γράφει το αποτέλεσμα στην κονσόλα. Αυτός ο βρόχος μπορεί στη συνέχεια να κοιμάται για 10 δευτερόλεπτα μεταξύ των αναγνώσεων.
```python
while True:
soil_moisture = adc.read(0)
print("Soil moisture:", soil_moisture)
time.sleep(10)
```
1. Από την εφαρμογή CounterFit, αλλάξτε την τιμή του αισθητήρα υγρασίας εδάφους που θα διαβαστεί από την εφαρμογή. Μπορείτε να το κάνετε αυτό με δύο τρόπους:
* Εισάγετε έναν αριθμό στο πλαίσιο *Value* για τον αισθητήρα υγρασίας εδάφους και στη συνέχεια επιλέξτε το κουμπί **Set**. Ο αριθμός που εισάγετε θα είναι η τιμή που επιστρέφεται από τον αισθητήρα.
* Ελέγξτε το πλαίσιο *Random* και εισάγετε μια τιμή *Min* και *Max*, και στη συνέχεια επιλέξτε το κουμπί **Set**. Κάθε φορά που ο αισθητήρας διαβάζει μια τιμή, θα διαβάζει έναν τυχαίο αριθμό μεταξύ *Min* και *Max*.
1. Εκτελέστε την εφαρμογή Python. Θα δείτε τις μετρήσεις υγρασίας εδάφους να γράφονται στην κονσόλα. Αλλάξτε τις ρυθμίσεις *Value* ή *Random* για να δείτε την τιμή να αλλάζει.
```output
(.venv) ➜ soil-moisture-sensor $ python app.py
Soil moisture: 615
Soil moisture: 612
Soil moisture: 498
Soil moisture: 493
Soil moisture: 490
Soil Moisture: 388
```
> 💁 Μπορείτε να βρείτε αυτόν τον κώδικα στον φάκελο [code/virtual-device](../../../../../2-farm/lessons/2-detect-soil-moisture/code/virtual-device).
😀 Το πρόγραμμα του αισθητήρα υγρασίας εδάφους σας ήταν επιτυχές!
---
**Αποποίηση ευθύνης**:
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης [Co-op Translator](https://github.com/Azure/co-op-translator). Παρόλο που καταβάλλουμε προσπάθειες για ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτοματοποιημένες μεταφράσεις ενδέχεται να περιέχουν σφάλματα ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα θα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή εσφαλμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.