Πίνακας περιεχομένων:

Έλεγχος LED βασισμένος στον Βοηθό Google χρησιμοποιώντας Raspberry Pi: 3 βήματα
Έλεγχος LED βασισμένος στον Βοηθό Google χρησιμοποιώντας Raspberry Pi: 3 βήματα

Βίντεο: Έλεγχος LED βασισμένος στον Βοηθό Google χρησιμοποιώντας Raspberry Pi: 3 βήματα

Βίντεο: Έλεγχος LED βασισμένος στον Βοηθό Google χρησιμοποιώντας Raspberry Pi: 3 βήματα
Βίντεο: Raspberry Pi: Τι είναι; - Raspberry Pi Basics - Οδηγός - EverDuzk 2024, Ιούλιος
Anonim
Έλεγχος LED βασισμένος στον Βοηθό Google χρησιμοποιώντας το Raspberry Pi
Έλεγχος LED βασισμένος στον Βοηθό Google χρησιμοποιώντας το Raspberry Pi
Έλεγχος LED βασισμένος στον Βοηθό Google χρησιμοποιώντας το Raspberry Pi
Έλεγχος LED βασισμένος στον Βοηθό Google χρησιμοποιώντας το Raspberry Pi
Έλεγχος LED βασισμένος στον Βοηθό Google χρησιμοποιώντας το Raspberry Pi
Έλεγχος LED βασισμένος στον Βοηθό Google χρησιμοποιώντας το Raspberry Pi
Έλεγχος LED βασισμένος στον Βοηθό Google χρησιμοποιώντας το Raspberry Pi
Έλεγχος LED βασισμένος στον Βοηθό Google χρησιμοποιώντας το Raspberry Pi

Γεια!

Σε αυτό το έργο, θα εφαρμόσουμε τον έλεγχο του 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
Δημιουργία καναλιού Thingspeak
Δημιουργία καναλιού Thingspeak
Δημιουργία καναλιού Thingspeak
Δημιουργία καναλιού Thingspeak
Δημιουργία καναλιού Thingspeak
Δημιουργία καναλιού Thingspeak

Εάν είστε νέοι στο Thingspeak και δεν το έχετε χρησιμοποιήσει ποτέ πριν, ακολουθήστε τα παρακάτω βήματα:

Μεταβείτε στη διεύθυνση

Θα πρέπει να εγγραφείτε πριν αρχίσετε να χρησιμοποιείτε το Thingspeak

Αφού εγγραφείτε, μεταβείτε στην ενότητα Κανάλια

Στην περιοχή Κανάλια, επιλέξτε Νέο κανάλι (δείτε την εικόνα για αναφορά)

Στο Νέο κανάλι, θα δείτε διαφορετικά πλαίσια πληροφοριών. Απλώς πρέπει να συμπληρώσετε το πλαίσιο Όνομα. Μπορείτε να ονομάσετε το κανάλι σας όπως θέλετε. Έχω επισυνάψει μια εικόνα όπου έχω ονομάσει το κανάλι μου ως Raspberry Pi 4. Αφήστε τα υπόλοιπα κουτιά όπως είναι.

Συγχαρητήρια! Δημιουργήσατε με επιτυχία ένα κανάλι για το έργο σας IoT. (δείτε τη συνημμένη εικόνα όπου μπορείτε να δείτε το κανάλι μου με το όνομα Raspberry Pi 4 να δημιουργήθηκε με επιτυχία)

Βήμα 2: Χρήση της εφαρμογής IFTTT

Χρήση της εφαρμογής IFTTT
Χρήση της εφαρμογής IFTTT
Χρήση της εφαρμογής IFTTT
Χρήση της εφαρμογής IFTTT
Χρήση της εφαρμογής IFTTT
Χρήση της εφαρμογής IFTTT
Χρήση της εφαρμογής IFTTT
Χρήση της εφαρμογής 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 ()

Συνιστάται: