Πίνακας περιεχομένων:
- Βήμα 1:
- Βήμα 2:
- Βήμα 3:
- Βήμα 4:
- Βήμα 5:
- Βήμα 6:
- Βήμα 7:
- Βήμα 8:
- Βήμα 9:
- Βήμα 10:
- Βήμα 11:
- Βήμα 12:
- Βήμα 13:
Βίντεο: Αποκτήστε μια οθόνη για το Google Home σας χρησιμοποιώντας το Raspberry Pi και το Dialogflow (εναλλακτική λύση Chromecast): 13 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Από τότε που αγόρασα το σπίτι μου στο Google, ήθελα να ελέγξω τις συσκευές μου στο σπίτι χρησιμοποιώντας φωνητικές εντολές. Λειτουργεί καταπληκτικά από κάθε άποψη, αλλά ένιωσα άσχημα για τη λειτουργία του βίντεο. Μπορούμε να παρακολουθήσουμε το Youtube και το Netflix μόνο εάν διαθέτουμε συσκευή Chromecast ή τηλεόραση με ενσωματωμένη λειτουργία Chromecast. Έχω ένα Raspberry Pi μαζί μου, οπότε σκέφτηκα να το χρησιμοποιήσω για να παίξω τα αγαπημένα μου βίντεο και ταινίες με φωνητικές εντολές.
Βήμα 1:
Για αυτό, έκανα την ακόλουθη ρύθμιση
Google Home -> Dialogflow -> Rpi διεύθυνση IP στο Dataplicity -> Nodejs Server -> Κωδικός για το άνοιγμα διευθύνσεων URL
Το Dialogflow είναι μια τεχνολογία αλληλεπίδρασης ανθρώπου-υπολογιστή της Google που βασίζεται σε φυσικές γλώσσες. Με τη βοήθεια αυτού, μπορούμε να αναπτύξουμε τις δικές μας συνομιλίες ή εργασίες που θα δώσουμε ως είσοδο στο Google home. Αυτό λειτουργεί ως εξής
Πρόθεση [Εισαγωγή, ερώτηση, συνομιλία, εντολή….] -> Google Home -> ενέργεια [απάντηση]
Εδώ, η απάντηση μπορεί είτε να είναι μια απλή συνομιλία είτε αλλιώς δεδομένα που λαμβάνονται από ένα webhook, το οποίο πρόκειται να κάνουμε χρησιμοποιώντας τον διακομιστή Rpi. Έτσι, μεταβείτε στον ιστότοπο Dialogflow και δημιουργήστε έναν λογαριασμό και έναν νέο πράκτορα.
Στη συνέχεια, δημιουργήστε μια νέα πρόθεση….
Βήμα 2:
Στη συνέχεια, εισαγάγετε τις φράσεις εκπαίδευσης. Αυτές είναι οι εντολές που μιλούν οι χρήστες όταν προσπαθούν να αποκτήσουν πρόσβαση σε μια συγκεκριμένη εργασία από το Google Home.
Βήμα 3:
Εδώ, η λέξη «ιστότοπος» μπορεί να αλλάξει σε οτιδήποτε όπως το youtube, το Netflix, το amazon prime κλπ … Έτσι, αυτή η λέξη λειτουργεί ως μεταβλητή και όταν επιλέγετε τη λέξη ιστότοπος [χρησιμοποιώντας ποντίκι] λαμβάνετε τα ακόλουθα
Βήμα 4:
Από, το αναπτυσσόμενο μενού, επιλέξτε ‘@sys.any’ και πατήστε enter.
Βήμα 5:
Στη συνέχεια, εισαγάγετε το ίδιο όνομα παραμέτρου στην ενότητα ενεργειών. Οι τιμές που αναφέρονται σε αυτήν την ενότητα αποστέλλονται στο webhook ως αρχείο JSON, το οποίο πρέπει να ανακτήσουμε στον διακομιστή για να γνωρίζουμε ποιον ιστότοπο έχει επικαλεστεί ο χρήστης.
Η τιμή μιας μεταβλητής ανακτάται χρησιμοποιώντας το '$ variable_name'
Βήμα 6:
Προσθέστε την απάντηση που πρέπει να ακούσουμε αφού πούμε την εντολή στο Google Home. Στη συνέχεια, αποθηκεύστε την πρόθεση. Αν χρειαστεί ορίστε αυτήν την πρόθεση ως το τέλος της συνομιλίας.
Βήμα 7:
Τώρα θα δημιουργήσουμε την υπηρεσία back-end για να πάρουμε αυτά τα ερωτήματα να ανοίγουν βίντεο και ιστότοπους στο raspberry pi μας.
Η υπόλοιπη ρύθμιση
Dataplicity -> διακομιστής Nodejs -> κώδικας
Γιατί χρειαζόμαστε τη δημοτικότητα δεδομένων; επειδή το Google Home συνδέεται με webhooks που είναι προσβάσιμα μέσω Διαδικτύου. Παρόλο που το GHome μας είναι συνδεδεμένο στο τοπικό δίκτυο, τα ερωτήματα προέρχονται από την υπηρεσία cloud Google και ως εκ τούτου, υπάρχει ανάγκη μεταφοράς του διακομιστή μας στο διαδίκτυο. Αντί για αυτόν τον πονοκέφαλο, μπορούμε να χρησιμοποιήσουμε υπηρεσίες δεδομένων για να τοποθετήσουμε το raspberry pi στο διαδίκτυο με ευκολία.
Πρώτα, συνδεθείτε με το raspberry pi [απευθείας με HDMI ή ακόμα και με SSh] Λάβετε τον τελευταίο χρόνο λειτουργίας nodejs από την ακόλουθη εντολή στο τερματικό.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
Στη συνέχεια, εγκαταστήστε το χρησιμοποιώντας
sudo apt -get install -y nodejs
Στη συνέχεια, δημιουργήστε ένα νέο αρχείο
nano webserver.js
Βήμα 8:
Στη συνέχεια, εισαγάγετε τον παρακάτω κώδικα στο αρχείο
Εδώ, για επίδειξη, χρησιμοποιώ μόνο δύο ιστότοπους (google, youtube). Κάποιος μπορεί να επεξεργαστεί τον κώδικα και να αλλάξει ανάλογα.
bodyParser = απαιτεί («body-parser») · var exec = απαιτεί («child_process»). exec? var express = απαιτώ (‘express’); var app = express (); app.use (bodyParser.json ()); app.post ('/', λειτουργία (req, res) {let variable = req.body.queryResult.parameters.website; exec ("midori www."+μεταβλητή+". com", λειτουργία (σφάλμα, stdout, stderr) {console.log ("stdout:" + stdout); console.log ("stderr:" + stderr); if (error! == null) {console.log ("Errror Err:" + error);}}); επιστροφή res.end ();}); app.listen (80);
Βήμα 9:
Ο παραπάνω κώδικας γράφτηκε μόνο για να εξηγήσει την έννοια. Χρησιμοποίησα το πρόγραμμα περιήγησης Midori στον κώδικα καθώς το chromium δεν λειτουργεί με απομακρυσμένες εντολές. Μπορούμε επίσης να χρησιμοποιήσουμε τον Firefox. [Πρέπει να εγκαταστήσουμε ενότητες body-parser, express modules με τη βοήθεια npm πριν γράψουμε τον κώδικα]
Θυμηθείτε ότι πρέπει να ακούμε μόνο στη θύρα 80, καθώς η απαρτιότητα δεδομένων μπορεί να προωθήσει μόνο τη θύρα 80 του raspberry pi.
Τώρα πρέπει να ρυθμίσουμε το Dataplicity
Μεταβείτε στον ιστότοπο Dataplicity και δημιουργήστε τον λογαριασμό σας και ακολουθήστε τις οδηγίες για να προσθέσετε το raspberry pi στον πίνακα ελέγχου.
Βήμα 10:
Μετά από αυτό, ανοίξτε το raspberry pi από τη λίστα συσκευών και επιλέξτε wormhole για να λάβετε μια μοναδική διεύθυνση IP για το raspberry pi στην οποία μπορούμε να αναπτύξουμε τον διακομιστή κόμβου μας.
Αντιγράψτε τη διεύθυνση IP στο πρόχειρο.
Βήμα 11:
Τώρα εκτελέστε τον κώδικα από το τερματικό raspberry pi
sudo κόμβος webserver.js
Εάν εμφανίζει οποιοδήποτε σφάλμα σχετικά με την εμφάνιση ή σχετικά με τα πρωτόκολλα…. εκτέλεση
sudo xhost +
Τώρα επιστρέψτε στη ροή διαλόγου και κάντε κλικ στην ενότητα εκπλήρωσης
Βήμα 12:
Εισαγάγετε τη διεύθυνση IP ή τη διεύθυνση URL από τη μορφή δεδομένων στο παραπάνω διάστημα.
Βήμα 13:
Τέλος, μεταβείτε στην ενότητα προθέσεις και ενεργοποιήστε την κλήση webhook από την καρτέλα εκπλήρωσης.
Αυτό είναι! Επιστρέψτε τώρα στο σπίτι σας στο Google και ελέγξτε πώς λειτουργεί!
Μέχρι την επόμενη φορά, Happy Hacking:)
Συνιστάται:
Δημιουργήστε μια συσκευή Apple HomeKit Temperature Sensor (DHT22) χρησιμοποιώντας μια RaspberryPI και μια DHT22: 11 βήματα
Δημιουργήστε μια συσκευή Apple HomeKit Temperature Sensor (DHT22) χρησιμοποιώντας μια RaspberryPI και μια DHT22: Έψαχνα για έναν χαμηλού κόστους αισθητήρα θερμοκρασίας / υγρασίας που θα μπορούσα να χρησιμοποιήσω για να παρακολουθήσω τι συμβαίνει στον ανιχνευτικό μου χώρο, καθώς διαπίστωσα ότι αυτή την άνοιξη ήταν πολύ υγρό , και είχε πολύ υγρασία. Έτσι έψαχνα έναν αισθητήρα σε λογικές τιμές που θα μπορούσα να
Αποκτήστε έναν κρεμαστό αισθητήρα βάρους από μια ζυγαριά αποσκευών για το έργο σας Arduino: 4 βήματα
Αποκτήστε έναν κρεμαστό αισθητήρα βάρους από μια ζυγαριά αποσκευών για το έργο σας Arduino: Σε αυτό το σεμινάριο σας δείχνω πώς να αποκτήσετε έναν αισθητήρα βάρους που κρέμεται για ένα έργο Arduino από μια φθηνή, κοινή ζυγαριά αποσκευών/ψαρέματος και τη μονάδα HX711 ADC που χρησιμοποιείται συχνά. Ιστορικό: Για ένα έργο χρειαζόμουν έναν αισθητήρα για να μετρήσω ένα συγκεκριμένο βάρος που είναι
Raspberry Pi ως εναλλακτική λύση Chromecast (Raspicast): 10 βήματα (με εικόνες)
Raspberry Pi Ως εναλλακτική λύση Chromecast (Raspicast): Σε αυτό το Instructables, θα σας δείξω πώς να χρησιμοποιήσετε το raspberry pi 3 ως εναλλακτική λύση Chromecast. Αξίζει επίσης να αναφερθεί ότι δεν πρόκειται για άμεσο κλώνο στο Chromecast και ότι υπάρχουν περιορισμοί. Αυτή η μέθοδος δεν υποστηρίζει το κουμπί μετάδοσης αλλά
Φτηνή και ακριβής εναλλακτική λύση για γάντι αισθητήρα Flex: 8 βήματα (με εικόνες)
DIY Φθηνή και ακριβής εναλλακτική λύση για το γάντι Flex Sensor: Γεια σε όλους, Αυτό είναι το πρώτο μου διδάξιμο και σε αυτό το διδακτικό θα σας μάθω να φτιάχνετε ένα φθηνό και ακριβές γάντι εύκαμπτου αισθητήρα. Χρησιμοποίησα πολλές εναλλακτικές λύσεις για τον ευαίσθητο αισθητήρα, αλλά καμία από αυτές δεν λειτούργησε για μένα. Έτσι, έψαξα στο googl και βρήκα ένα νέο
Φθηνή εναλλακτική λύση για σκηνές για φωτογραφίες: 3 βήματα
Φθηνή εναλλακτική λύση για σκηνές για φωτογραφίες: Γεια, αυτή είναι η πρώτη μου οδηγία. Χρειαζόμουν μια λύση χαμηλού κόστους για να τραβήξω καλύτερες φωτογραφίες μικρότερων αντικειμένων. Έτσι έφτιαξα αυτήν την ελαφριά σκηνή από υλικά γύρω από το σπίτι. Στο τέλος μου κόστισε περίπου 1,00 για λίγες αφίσες. Όλα τα άλλα ανακυκλώνονται