Πίνακας περιεχομένων:
- Προμήθειες
- Βήμα 1: Δημιουργία καναλιού Thingspeak
- Βήμα 2: Χρήση της εφαρμογής IFTTT
- Βήμα 3: Τέλος έναρξη κωδικοποίησης
Βίντεο: Έλεγχος LED βασισμένος στον Βοηθό Google χρησιμοποιώντας Raspberry Pi: 3 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
Γεια!
Σε αυτό το έργο, θα εφαρμόσουμε τον έλεγχο του LED με Βοηθό Google χρησιμοποιώντας Raspberry Pi 4 χρησιμοποιώντας HTTP σε Python. Μπορείτε να αντικαταστήσετε το LED με έναν λαμπτήρα (προφανώς όχι κυριολεκτικά, θα χρειαστείτε μια μονάδα ρελέ ενδιάμεσα) ή οποιαδήποτε άλλη οικιακή συσκευή, έτσι ώστε αυτό το έργο να μπορεί να υλοποιηθεί περαιτέρω για σκοπούς αυτοματισμού σπιτιού.
Προμήθειες
Τι θα χρειαστείτε για αυτό το έργο:
1. Raspberry Pi
2. LED
3. Jumper wires-2 (αρσενικό σε θηλυκό)
4. Breadboard
5. Εφαρμογή IFTTT (https://play.google.com/store/apps/details?id=com.ifttt.ifttt&hl=el_IN)
6. Λογαριασμός Thingspeak (https://thingspeak.com/)
Μερικές προϋποθέσεις:
1. Βασικά στοιχεία δικτύωσης-HTTP
2. Python για πρόσβαση στα δεδομένα ιστού
Βήμα 1: Δημιουργία καναλιού Thingspeak
Εάν είστε νέοι στο Thingspeak και δεν το έχετε χρησιμοποιήσει ποτέ πριν, ακολουθήστε τα παρακάτω βήματα:
Μεταβείτε στη διεύθυνση
Θα πρέπει να εγγραφείτε πριν αρχίσετε να χρησιμοποιείτε το Thingspeak
Αφού εγγραφείτε, μεταβείτε στην ενότητα Κανάλια
Στην περιοχή Κανάλια, επιλέξτε Νέο κανάλι (δείτε την εικόνα για αναφορά)
Στο Νέο κανάλι, θα δείτε διαφορετικά πλαίσια πληροφοριών. Απλώς πρέπει να συμπληρώσετε το πλαίσιο Όνομα. Μπορείτε να ονομάσετε το κανάλι σας όπως θέλετε. Έχω επισυνάψει μια εικόνα όπου έχω ονομάσει το κανάλι μου ως Raspberry Pi 4. Αφήστε τα υπόλοιπα κουτιά όπως είναι.
Συγχαρητήρια! Δημιουργήσατε με επιτυχία ένα κανάλι για το έργο σας IoT. (δείτε τη συνημμένη εικόνα όπου μπορείτε να δείτε το κανάλι μου με το όνομα Raspberry Pi 4 να δημιουργήθηκε με επιτυχία)
Βήμα 2: Χρήση της εφαρμογής IFTTT
Πρέπει να χρησιμοποιήσουμε αυτήν την εφαρμογή για να ενεργοποιήσουμε ένα αίτημα GET για ανάρτηση δεδομένων στο δημιουργημένο σας κανάλι Thingspeak χρησιμοποιώντας τον Βοηθό Google. Σκεφτείτε αυτήν την εφαρμογή ως διεπαφή μεταξύ του Βοηθού Google και του καναλιού σας Thingspeak.
Στη συνέχεια, δημιουργούμε αιτήματα GET στην εφαρμογή IFTTT.
Κατεβάστε την εφαρμογή IFTTT από τη διεύθυνση
Δημιούργησε τον λογαριασμό σου
Μεταβείτε στην επιλογή Φτιάξτε τα δικά σας Applets από την αρχή
Πατήστε Αν αυτή η επιλογή
Επιλέξτε την υπηρεσία ενεργοποίησης ως Βοηθό Google
Σε αυτό, επιλέξτε Πείτε μια απλή φράση
Κάτω από αυτήν την επιλογή, θα εμφανιστούν ορισμένα πλαίσια πληροφοριών. Για αυτό, ανατρέξτε στις εικόνες και συμπληρώστε τα στοιχεία ανάλογα! (υπάρχουν δύο εικόνες για το σκοπό αυτό: 1. Ενεργοποίηση της λυχνίας LED 2. Απενεργοποίηση της λυχνίας LED)
Ολοκληρώσαμε το τμήμα If This που είναι ο Βοηθός Google. Τώρα επιλέγουμε το Then That option που είναι Webhooks.
Κάτω από αυτό, επιλέξτε Δημιουργία αιτήματος ιστού
Ανατρέξτε στην εικόνα για τις πληροφορίες που πρέπει να συμπληρωθούν στα πλαίσια. Ανατρέξτε σε αυτήν τη διεύθυνση URL https://api.thingspeak.com/update?api_key=ΕΝΔΕΙΞΤΕ ΤΟ ΓΡΑΠΤΟ ΚΛΕΙΔΙ API & πεδίο1 = 1
Στην παραπάνω διεύθυνση URL, θα παρατηρήσετε ότι έχω αναφέρει σχετικά με την ΕΓΚΑΤΑΣΤΑΣΗ ΤΟΥ ΓΡΑΠΤΟΥ ΣΑΣ ΚΛΕΙΔΙ API. Αυτό είναι το κλειδί API που αποτελεί ταυτότητα του καναλιού που δημιουργήσατε στο Thingspeak (δείτε την εικόνα). Το κλειδί εγγραφής API θα σας βοηθήσει να γράψετε συγκεκριμένα δεδομένα στο κανάλι σας και ομοίως το κλειδί ανάγνωσης API θα σας βοηθήσει να λάβετε δεδομένα από το κανάλι.
Εκτός από το κλειδί εγγραφής API, οι υπόλοιπες πληροφορίες από τα πλαίσια παραμένουν οι ίδιες.
Έτσι, εδώ έχετε δημιουργήσει ένα έναυσμα όπου όταν λέτε στον Βοηθό Google, "Ενεργοποιήστε το LED", θα στείλει ένα "1" στο κανάλι σας Thingspeak.
Τώρα, με παρόμοιο τρόπο, πρέπει να δημιουργήσετε ένα νέο Applet στην εφαρμογή IFTTT για απενεργοποίηση της λυχνίας LED. Έχω επισυνάψει εικόνες αν έχετε μπερδευτεί για το ίδιο. Διαφορετικά, η διαδικασία απενεργοποίησης της λυχνίας LED είναι η ίδια με αυτήν που κάνατε παραπάνω, εκτός από κάποιες μικρές αλλαγές.
Βήμα 3: Τέλος έναρξη κωδικοποίησης
Θα εξηγήσω τον κύριο στόχο του κώδικα Python. Πρέπει να λάβουμε τα δεδομένα από το κανάλι Thingspeak που θα είναι είτε "1" είτε "0" με βάση αυτά που λέτε στον Βοηθό Google. Πρέπει να ενεργοποιήσουμε ή να απενεργοποιήσουμε το LED με βάση αυτό. Εάν η μεταφορτωμένη τιμή στο κανάλι Thingspeak είναι "1", τότε ανάβουμε το LED και αν είναι "0", το απενεργοποιούμε.
Στον κώδικα, θα χρειαστείτε δύο πράγματα: 1. Το κλειδί API ανάγνωσής σας 2. Το αναγνωριστικό καναλιού σας (ανατρέξτε στις εικόνες για το ίδιο)
Ακολουθεί ο κώδικας (υποθέτοντας ότι γνωρίζετε τις προϋποθέσεις του HTTP και της Python):
εισαγωγή urllib
αιτήματα εισαγωγής
εισαγωγή json
χρόνο εισαγωγής
εισαγωγή RPi. GPIO ως GPIO
GPIO.setmode (GPIO. BOARD)
GPIO.setup (7, GPIO. OUT)
προσπαθήστε:
ενώ (1):
URL = 'https://api.thingspeak.com/channels/INSER YOUR CHANNEL ID/πεδία/1.json? Api_key =' KEY = 'ΕΙΣΑΓΩΓΗΣΤΕ ΤΟ ΚΛΕΙΔΙ API ΔΙΑΒΑΣΗΣ ΣΑΣ'
HEADER = '& results = 2'
NEW_URL = URL+KEY+HEADER
#print (NEW_URL)
get_data = request.get (NEW_URL).json ()
#print (get_data)
feild_1 = get_data ['feeds']
#print ("Πεδίο:", feild_1)
t =
για x στο feild_1:
t.append (x ['field1'])
εκτύπωση (t [1])
αν int (t [1]) == 1:
GPIO.output (7, 1)
elif int (t [1]) == 0:
GPIO.output (7, 0)
εκτός από το KeyboardIntruptrupt:
GPIO.cleanup ()
Συνιστάται:
Δημιουργία προσαρμοσμένων ενεργειών για τον Βοηθό Google: 12 Βήματα
Δημιουργία προσαρμοσμένων ενεργειών για το Google Assistant: Βλέποντας τις δυνατότητες του Google Assistant όπως παρουσιάστηκε στο Google I/O 18 καθώς και της Volvo Cars στο σύστημα infotainment, δεν άντεξα να το δοκιμάσω. Επαναχρησιμοποίησα ένα από τα παλαιότερα έργα μου, το VasttraPi και το διασύνδεσα με τον Βοηθό Google
Έλεγχος φωτεινότητας Έλεγχος LED βασισμένος σε PWM χρησιμοποιώντας κουμπιά, Raspberry Pi και Scratch: 8 βήματα (με εικόνες)
Έλεγχος φωτεινότητας PWM Βασισμένος έλεγχος LED χρησιμοποιώντας κουμπιά, Raspberry Pi και Scratch: Προσπαθούσα να βρω έναν τρόπο να εξηγήσω πώς λειτουργούσε το PWM στους μαθητές μου, οπότε έθεσα τον εαυτό μου στην προσπάθεια να ελέγξω τη φωτεινότητα ενός LED χρησιμοποιώντας 2 κουμπιά - το ένα κουμπί αυξάνει τη φωτεινότητα ενός LED και το άλλο το μειώνει. Για να προχωρήσει
ESP8266 RGB LED STRIP WIFI Έλεγχος - NODEMCU Ως τηλεχειριστήριο IR για Led Strip που ελέγχεται μέσω Wifi - Έλεγχος Smartphone RGB LED STRIP: 4 βήματα
ESP8266 RGB LED STRIP WIFI Έλεγχος | NODEMCU Ως τηλεχειριστήριο IR για Led Strip που ελέγχεται μέσω Wifi | RGB LED STRIP Smartphone Control: Γεια σας παιδιά σε αυτό το σεμινάριο θα μάθουμε πώς να χρησιμοποιούμε το nodemcu ή το esp8266 ως τηλεχειριστήριο IR για τον έλεγχο μιας λωρίδας LED RGB και το Nodemcu θα ελέγχεται από smartphone μέσω wifi. Έτσι, βασικά μπορείτε να ελέγξετε το RGB LED STRIP με το smartphone σας
Ελεγκτής στάθμης νερού βασισμένος σε IOT χρησιμοποιώντας NodeMCU ESP8266: 6 βήματα
Ελεγκτής στάθμης νερού βασισμένος σε IOT με χρήση του NodeMCU ESP8266: Αυτό είναι εκπαιδευτικό για τον τρόπο δημιουργίας ελεγκτή στάθμης νερού με βάση IOT. Οι δυνατότητες αυτού του έργου είναι:- Ενημερώσεις στάθμης νερού σε πραγματικό χρόνο στην εφαρμογή Android. Ενεργοποιήστε αυτόματα την αντλία νερού όταν το νερό φτάσει κάτω από το ελάχιστο επίπεδο. Αου
Έλεγχος κινητήρα βασισμένος σε Arduino GSM (Χωρίς μονάδα GSM): 3 βήματα
Arduino GSM Based Motor Control (Χωρίς μονάδα GSM): Σε αυτό το έργο θα σας δείξω μια βασική αλλά μοναδική μέθοδο για να ενεργοποιήσετε και να απενεργοποιήσετε οτιδήποτε χρησιμοποιώντας ρελέ. Αυτή η ιδέα προήλθε από λίγα άτομα που έκαναν τέτοια έργα, αλλά είχαν πρόβλημα ότι εξαρτώνταν από τις συμπεριφορές του κινητού τηλεφώνου κατά την κλήση. Απλοποιώ