8.8 KiB
Έλεγχος ενός ρελέ - Εικονικό IoT Υλικό
Σε αυτό το μέρος του μαθήματος, θα προσθέσετε ένα ρελέ στη εικονική IoT συσκευή σας, εκτός από τον αισθητήρα υγρασίας εδάφους, και θα το ελέγξετε με βάση το επίπεδο υγρασίας του εδάφους.
Εικονικό Υλικό
Η εικονική IoT συσκευή θα χρησιμοποιήσει ένα προσομοιωμένο ρελέ Grove. Αυτό διατηρεί το εργαστήριο ίδιο με τη χρήση ενός Raspberry Pi με ένα φυσικό ρελέ Grove.
Σε μια φυσική IoT συσκευή, το ρελέ θα ήταν ένα ρελέ κανονικά ανοιχτό (που σημαίνει ότι το κύκλωμα εξόδου είναι ανοιχτό ή αποσυνδεδεμένο όταν δεν υπάρχει σήμα που αποστέλλεται στο ρελέ). Ένα τέτοιο ρελέ μπορεί να χειριστεί κυκλώματα εξόδου έως 250V και 10A.
Προσθήκη του ρελέ στο CounterFit
Για να χρησιμοποιήσετε ένα εικονικό ρελέ, πρέπει να το προσθέσετε στην εφαρμογή CounterFit.
Εργασία
Προσθέστε το ρελέ στην εφαρμογή CounterFit.
-
Ανοίξτε το έργο
soil-moisture-sensor
από το προηγούμενο μάθημα στο VS Code αν δεν είναι ήδη ανοιχτό. Θα προσθέσετε σε αυτό το έργο. -
Βεβαιωθείτε ότι η διαδικτυακή εφαρμογή CounterFit είναι ενεργοποιημένη.
-
Δημιουργήστε ένα ρελέ:
-
Στο πλαίσιο Create actuator στον πίνακα Actuators, ανοίξτε το αναπτυσσόμενο μενού Actuator type και επιλέξτε Relay.
-
Ορίστε το Pin σε 5.
-
Επιλέξτε το κουμπί Add για να δημιουργήσετε το ρελέ στο Pin 5.
Το ρελέ θα δημιουργηθεί και θα εμφανιστεί στη λίστα των ενεργοποιητών.
-
Προγραμματισμός του ρελέ
Η εφαρμογή του αισθητήρα υγρασίας εδάφους μπορεί τώρα να προγραμματιστεί για να χρησιμοποιεί το εικονικό ρελέ.
Εργασία
Προγραμματίστε την εικονική συσκευή.
-
Ανοίξτε το έργο
soil-moisture-sensor
από το προηγούμενο μάθημα στο VS Code αν δεν είναι ήδη ανοιχτό. Θα προσθέσετε σε αυτό το έργο. -
Προσθέστε τον παρακάτω κώδικα στο αρχείο
app.py
κάτω από τις υπάρχουσες εισαγωγές:from counterfit_shims_grove.grove_relay import GroveRelay
Αυτή η δήλωση εισάγει το
GroveRelay
από τις βιβλιοθήκες Python shim του Grove για να αλληλεπιδράσει με το εικονικό ρελέ Grove. -
Προσθέστε τον παρακάτω κώδικα κάτω από τη δήλωση της κλάσης
ADC
για να δημιουργήσετε μια παρουσία τουGroveRelay
:relay = GroveRelay(5)
Αυτό δημιουργεί ένα ρελέ χρησιμοποιώντας το pin 5, το pin στο οποίο συνδέσατε το ρελέ.
-
Για να δοκιμάσετε ότι το ρελέ λειτουργεί, προσθέστε τα παρακάτω στον βρόχο
while True:
:relay.on() time.sleep(.5) relay.off()
Ο κώδικας ενεργοποιεί το ρελέ, περιμένει 0.5 δευτερόλεπτα και στη συνέχεια απενεργοποιεί το ρελέ.
-
Εκτελέστε την εφαρμογή Python. Το ρελέ θα ενεργοποιείται και απενεργοποιείται κάθε 10 δευτερόλεπτα, με καθυστέρηση μισού δευτερολέπτου μεταξύ της ενεργοποίησης και απενεργοποίησης. Θα δείτε το εικονικό ρελέ στην εφαρμογή CounterFit να κλείνει και να ανοίγει καθώς το ρελέ ενεργοποιείται και απενεργοποιείται.
Έλεγχος του ρελέ από την υγρασία του εδάφους
Τώρα που το ρελέ λειτουργεί, μπορεί να ελεγχθεί σε απόκριση στις μετρήσεις υγρασίας του εδάφους.
Εργασία
Ελέγξτε το ρελέ.
-
Διαγράψτε τις 3 γραμμές κώδικα που προσθέσατε για να δοκιμάσετε το ρελέ. Αντικαταστήστε τις με τον παρακάτω κώδικα στη θέση τους:
if soil_moisture > 450: print("Soil Moisture is too low, turning relay on.") relay.on() else: print("Soil Moisture is ok, turning relay off.") relay.off()
Αυτός ο κώδικας ελέγχει το επίπεδο υγρασίας του εδάφους από τον αισθητήρα υγρασίας εδάφους. Αν είναι πάνω από 450, ενεργοποιεί το ρελέ, απενεργοποιώντας το αν πέσει κάτω από 450.
💁 Θυμηθείτε ότι ο χωρητικός αισθητήρας υγρασίας εδάφους διαβάζει: όσο χαμηλότερο είναι το επίπεδο υγρασίας του εδάφους, τόσο περισσότερη υγρασία υπάρχει στο έδαφος και αντίστροφα.
-
Εκτελέστε την εφαρμογή Python. Θα δείτε το ρελέ να ενεργοποιείται ή να απενεργοποιείται ανάλογα με τα επίπεδα υγρασίας του εδάφους. Αλλάξτε τις ρυθμίσεις Value ή Random για τον αισθητήρα υγρασίας εδάφους για να δείτε την αλλαγή της τιμής.
Soil Moisture: 638 Soil Moisture is too low, turning relay on. Soil Moisture: 452 Soil Moisture is too low, turning relay on. Soil Moisture: 347 Soil Moisture is ok, turning relay off.
💁 Μπορείτε να βρείτε αυτόν τον κώδικα στον φάκελο code-relay/virtual-device.
😀 Το πρόγραμμα ελέγχου του εικονικού αισθητήρα υγρασίας εδάφους με ρελέ ήταν επιτυχές!
Αποποίηση ευθύνης:
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης Co-op Translator. Παρόλο που καταβάλλουμε προσπάθειες για ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτοματοποιημένες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα θα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή εσφαλμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.