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

13 KiB

Μέτρηση θερμοκρασίας - Εικονικό IoT Υλικό

Σε αυτό το μέρος του μαθήματος, θα προσθέσετε έναν αισθητήρα θερμοκρασίας στη εικονική IoT συσκευή σας.

Εικονικό Υλικό

Η εικονική IoT συσκευή θα χρησιμοποιήσει έναν προσομοιωμένο αισθητήρα Grove Digital Υγρασίας και Θερμοκρασίας. Αυτό διατηρεί το εργαστήριο ίδιο με τη χρήση ενός Raspberry Pi με έναν φυσικό αισθητήρα Grove DHT11.

Ο αισθητήρας συνδυάζει έναν αισθητήρα θερμοκρασίας με έναν αισθητήρα υγρασίας, αλλά σε αυτό το εργαστήριο ενδιαφέρεστε μόνο για το τμήμα του αισθητήρα θερμοκρασίας. Σε μια φυσική IoT συσκευή, ο αισθητήρας θερμοκρασίας θα ήταν ένας θεμίστορας που μετρά τη θερμοκρασία ανιχνεύοντας μια αλλαγή στην αντίσταση καθώς αλλάζει η θερμοκρασία. Οι αισθητήρες θερμοκρασίας είναι συνήθως ψηφιακοί αισθητήρες που εσωτερικά μετατρέπουν την μετρημένη αντίσταση σε θερμοκρασία σε βαθμούς Κελσίου (ή Κέλβιν, ή Φαρενάιτ).

Προσθήκη αισθητήρων στο CounterFit

Για να χρησιμοποιήσετε έναν εικονικό αισθητήρα υγρασίας και θερμοκρασίας, πρέπει να προσθέσετε τους δύο αισθητήρες στην εφαρμογή CounterFit.

Εργασία - προσθήκη αισθητήρων στο CounterFit

Προσθέστε τους αισθητήρες υγρασίας και θερμοκρασίας στην εφαρμογή CounterFit.

  1. Δημιουργήστε μια νέα εφαρμογή Python στον υπολογιστή σας σε έναν φάκελο που ονομάζεται temperature-sensor με ένα μόνο αρχείο που ονομάζεται app.py και ένα εικονικό περιβάλλον Python, και προσθέστε τα πακέτα pip του CounterFit.

    ⚠️ Μπορείτε να ανατρέξετε στις οδηγίες για τη δημιουργία και ρύθμιση ενός CounterFit Python project στο μάθημα 1 αν χρειαστεί.

  2. Εγκαταστήστε ένα επιπλέον πακέτο Pip για την εγκατάσταση ενός CounterFit shim για τον αισθητήρα DHT11. Βεβαιωθείτε ότι το εγκαθιστάτε από ένα τερματικό με ενεργοποιημένο το εικονικό περιβάλλον.

    pip install counterfit-shims-seeed-python-dht
    
  3. Βεβαιωθείτε ότι η εφαρμογή web του CounterFit είναι σε λειτουργία.

  4. Δημιουργήστε έναν αισθητήρα υγρασίας:

    1. Στο πλαίσιο Create sensor στο τμήμα Sensors, ανοίξτε το πλαίσιο Sensor type και επιλέξτε Humidity.

    2. Αφήστε τις Units ρυθμισμένες σε Percentage.

    3. Βεβαιωθείτε ότι το Pin είναι ρυθμισμένο στο 5.

    4. Επιλέξτε το κουμπί Add για να δημιουργήσετε τον αισθητήρα υγρασίας στο Pin 5.

    Οι ρυθμίσεις του αισθητήρα υγρασίας

    Ο αισθητήρας υγρασίας θα δημιουργηθεί και θα εμφανιστεί στη λίστα αισθητήρων.

    Ο αισθητήρας υγρασίας δημιουργήθηκε

  5. Δημιουργήστε έναν αισθητήρα θερμοκρασίας:

    1. Στο πλαίσιο Create sensor στο τμήμα Sensors, ανοίξτε το πλαίσιο Sensor type και επιλέξτε Temperature.

    2. Αφήστε τις Units ρυθμισμένες σε Celsius.

    3. Βεβαιωθείτε ότι το Pin είναι ρυθμισμένο στο 6.

    4. Επιλέξτε το κουμπί Add για να δημιουργήσετε τον αισθητήρα θερμοκρασίας στο Pin 6.

    Οι ρυθμίσεις του αισθητήρα θερμοκρασίας

    Ο αισθητήρας θερμοκρασίας θα δημιουργηθεί και θα εμφανιστεί στη λίστα αισθητήρων.

    Ο αισθητήρας θερμοκρασίας δημιουργήθηκε

Προγραμματισμός της εφαρμογής αισθητήρα θερμοκρασίας

Η εφαρμογή αισθητήρα θερμοκρασίας μπορεί τώρα να προγραμματιστεί χρησιμοποιώντας τους αισθητήρες του CounterFit.

Εργασία - προγραμματισμός της εφαρμογής αισθητήρα θερμοκρασίας

Προγραμματίστε την εφαρμογή αισθητήρα θερμοκρασίας.

  1. Βεβαιωθείτε ότι η εφαρμογή temperature-sensor είναι ανοιχτή στο VS Code.

  2. Ανοίξτε το αρχείο app.py.

  3. Προσθέστε τον παρακάτω κώδικα στην κορυφή του app.py για να συνδέσετε την εφαρμογή στο CounterFit:

    from counterfit_connection import CounterFitConnection
    CounterFitConnection.init('127.0.0.1', 5000)
    
  4. Προσθέστε τον παρακάτω κώδικα στο αρχείο app.py για να εισάγετε τις απαιτούμενες βιβλιοθήκες:

    import time
    from counterfit_shims_seeed_python_dht import DHT
    

    Η δήλωση from seeed_dht import DHT εισάγει την κλάση DHT για την αλληλεπίδραση με έναν εικονικό αισθητήρα θερμοκρασίας Grove χρησιμοποιώντας ένα shim από το module counterfit_shims_seeed_python_dht.

  5. Προσθέστε τον παρακάτω κώδικα μετά τον παραπάνω κώδικα για να δημιουργήσετε μια παρουσία της κλάσης που διαχειρίζεται τον εικονικό αισθητήρα υγρασίας και θερμοκρασίας:

    sensor = DHT("11", 5)
    

    Αυτό δηλώνει μια παρουσία της κλάσης DHT που διαχειρίζεται τον εικονικό Digital Humidity και Temperature αισθητήρα. Η πρώτη παράμετρος λέει στον κώδικα ότι ο αισθητήρας που χρησιμοποιείται είναι ένας εικονικός αισθητήρας DHT11. Η δεύτερη παράμετρος λέει στον κώδικα ότι ο αισθητήρας είναι συνδεδεμένος στη θύρα 5.

    💁 Το CounterFit προσομοιώνει αυτόν τον συνδυασμένο αισθητήρα υγρασίας και θερμοκρασίας συνδέοντας σε 2 αισθητήρες, έναν αισθητήρα υγρασίας στο pin που δίνεται όταν δημιουργείται η κλάση DHT, και έναν αισθητήρα θερμοκρασίας που λειτουργεί στο επόμενο pin. Αν ο αισθητήρας υγρασίας είναι στο pin 5, το shim αναμένει ότι ο αισθητήρας θερμοκρασίας θα είναι στο pin 6.

  6. Προσθέστε έναν άπειρο βρόχο μετά τον παραπάνω κώδικα για να ελέγχετε την τιμή του αισθητήρα θερμοκρασίας και να την εκτυπώνετε στην κονσόλα:

    while True:
        _, temp = sensor.read()
        print(f'Temperature {temp}°C')
    

    Η κλήση στο sensor.read() επιστρέφει ένα tuple με υγρασία και θερμοκρασία. Χρειάζεστε μόνο την τιμή της θερμοκρασίας, οπότε η υγρασία αγνοείται. Η τιμή της θερμοκρασίας στη συνέχεια εκτυπώνεται στην κονσόλα.

  7. Προσθέστε μια μικρή παύση δέκα δευτερολέπτων στο τέλος του loop, καθώς τα επίπεδα θερμοκρασίας δεν χρειάζεται να ελέγχονται συνεχώς. Μια παύση μειώνει την κατανάλωση ενέργειας της συσκευής.

    time.sleep(10)
    
  8. Από το τερματικό του VS Code με ενεργοποιημένο το εικονικό περιβάλλον, εκτελέστε το παρακάτω για να εκτελέσετε την εφαρμογή Python:

    python app.py
    
  9. Από την εφαρμογή CounterFit, αλλάξτε την τιμή του αισθητήρα θερμοκρασίας που θα διαβαστεί από την εφαρμογή. Μπορείτε να το κάνετε με δύο τρόπους:

    • Εισάγετε έναν αριθμό στο πλαίσιο Value για τον αισθητήρα θερμοκρασίας και στη συνέχεια επιλέξτε το κουμπί Set. Ο αριθμός που εισάγετε θα είναι η τιμή που επιστρέφει ο αισθητήρας.

    • Επιλέξτε το πλαίσιο Random και εισάγετε μια Min και Max τιμή, στη συνέχεια επιλέξτε το κουμπί Set. Κάθε φορά που ο αισθητήρας διαβάζει μια τιμή, θα διαβάζει έναν τυχαίο αριθμό μεταξύ Min και Max.

    Θα πρέπει να βλέπετε τις τιμές που ορίσατε να εμφανίζονται στην κονσόλα. Αλλάξτε την Value ή τις ρυθμίσεις Random για να δείτε την αλλαγή της τιμής.

    (.venv) ➜  temperature-sensor python app.py
    Temperature 28.25°C
    Temperature 30.71°C
    Temperature 25.17°C
    

💁 Μπορείτε να βρείτε αυτόν τον κώδικα στον φάκελο code-temperature/virtual-device.

😀 Το πρόγραμμα του αισθητήρα θερμοκρασίας σας ήταν επιτυχές!


Αποποίηση ευθύνης:
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης Co-op Translator. Παρόλο που καταβάλλουμε προσπάθειες για ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτοματοποιημένες μεταφράσεις ενδέχεται να περιέχουν σφάλματα ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα θα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική μετάφραση από ανθρώπους. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή εσφαλμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.