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...

9.5 KiB

Μέτρηση υγρασίας εδάφους - Εικονικό 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 αν χρειαστεί.

  2. Βεβαιωθείτε ότι η εφαρμογή ιστού CounterFit είναι ενεργοποιημένη.

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

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

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

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

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

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

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

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

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

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

Εργασία - Προγραμματισμός της εφαρμογής του αισθητήρα υγρασίας εδάφους

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

  1. Βεβαιωθείτε ότι η εφαρμογή soil-moisture-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_grove.adc import ADC
    

    Η δήλωση import time εισάγει το module time που θα χρησιμοποιηθεί αργότερα σε αυτήν την εργασία.

    Η δήλωση from counterfit_shims_grove.adc import ADC εισάγει την κλάση ADC για να αλληλεπιδράσει με έναν εικονικό αναλογικό σε ψηφιακό μετατροπέα που μπορεί να συνδεθεί με έναν αισθητήρα του CounterFit.

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

    adc = ADC()
    
  6. Προσθέστε έναν άπειρο βρόχο που διαβάζει από αυτόν τον ADC στο pin 0 και γράφει το αποτέλεσμα στην κονσόλα. Αυτός ο βρόχος μπορεί στη συνέχεια να κοιμάται για 10 δευτερόλεπτα μεταξύ των αναγνώσεων.

    while True:
        soil_moisture = adc.read(0)
        print("Soil moisture:", soil_moisture)
    
        time.sleep(10)
    
  7. Από την εφαρμογή CounterFit, αλλάξτε την τιμή του αισθητήρα υγρασίας εδάφους που θα διαβαστεί από την εφαρμογή. Μπορείτε να το κάνετε αυτό με δύο τρόπους:

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

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

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

    (.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.

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


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