Πίνακας περιεχομένων:
- Βήμα 1: Απαιτούνται εξαρτήματα
- Βήμα 2: Ξεκινώντας με τις ανάγκες λογισμικού
- Βήμα 3: Διαμόρφωση OpenHAB -Δημιουργία στοιχείων
- Βήμα 4: Δημιουργία χάρτη ιστοτόπου
- Βήμα 5: Δημιουργία κανόνα για VoiceCommand-
- Βήμα 6: Διαμόρφωση του BasicUI
- Βήμα 7: Ενεργοποίηση απομακρυσμένης πρόσβασης
- Βήμα 8: HARDWARE !!
- Βήμα 9: Σύνδεση με τον Βοηθό Google
Βίντεο: RaspberryPi Home Automation Using OpenHAB: 9 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:35
Αυτοματισμός σπιτιού χρησιμοποιώντας Raspberry Pi 3B και OpenHAB. [Προαιρετικά] Θα χρησιμοποιούμε το Google Home (ή τον Βοηθό Google) για να ενεργοποιήσουμε τον φωνητικό έλεγχο.
Βήμα 1: Απαιτούνται εξαρτήματα
Για αυτό το έργο θα απαιτήσουμε-
ΣΚΕΥΗ, ΕΞΑΡΤΗΜΑΤΑ
- Raspberry Pi (χρησιμοποίησα έναν πίνακα 3Β)
- Google Home Mini [Προαιρετικό] (Μπορείτε επίσης να χρησιμοποιήσετε βοηθό!)
- Jumper Wires
- Ενότητα ρελέ
ΛΟΓΙΣΜΙΚΟ
- OpenHABian Pi [Μπορείτε επίσης να χρησιμοποιήσετε το Raspbian OS]
- IFTTT
Βήμα 2: Ξεκινώντας με τις ανάγκες λογισμικού
Έχετε δύο από τις ακόλουθες επιλογές-
- Κάντε Flash Raspbian και, στη συνέχεια, εγκαταστήστε το OpenHAB σε αυτό. (Κουραστικό και όχι καλό)
- Αναβοσβήνετε απευθείας το OpenHABian στην κάρτα SD και εκτελέστε το απευθείας (Damn Easy)
Χρησιμοποίησα τη δεύτερη επιλογή και έριξα το OpenHABian σε μια κάρτα SD και το έβαλα σε RPi. Θα συζητήσω λοιπόν αυτή τη μέθοδο. Εάν θέλετε να ακολουθήσετε τον πρώτο, ακολουθήστε αυτόν τον οδηγό, Μη αυτόματη εγκατάσταση.
Αλλιώς ακολουθήστε τα παρακάτω βήματα:
- Κατεβάστε την πιο πρόσφατη εικόνα συστήματος OpenHABian.
- Μετακινήστε το σε κάρτα SD χρησιμοποιώντας το Etcher.io
- Μετά την επιτυχή αναβοσβήνει, τοποθετήστε την κάρτα SD σε Rpi και συνδέστε ένα Ethernet στο Rpi. (Μπορείτε επίσης να χρησιμοποιήσετε WiFi).
- Εκκινήστε το Rpi. Δεν χρειάζεστε οθόνη ή/και ποντίκι και πληκτρολόγιο καθώς το SSH και το Samba είναι ήδη ενεργοποιημένα!
- Περιμένετε 30-45 λεπτά για να ολοκληρώσει το OpenHAB την αρχική του ρύθμιση.
- Μετά από αυτό, μεταβείτε στη διεύθυνση https:// openhabianpi: 8080 Αυτή θα είναι η διεύθυνση του Rpi σας από όπου μπορείτε να έχετε πρόσβαση.
Αυτό είναι όλο για το αρχικό μέρος εγκατάστασης.
Διαμόρφωση του OpenHAB
Αφού το OpenHAB ολοκληρώσει την αρχική του ρύθμιση, μεταβείτε στη διεύθυνση https:// openhabianpi: 8080
- Μεταβείτε εκεί στο Paper UI.
- Εκεί, μεταβείτε στο Addons> Bindings. Αναζήτηση GPIO στη γραμμή αναζήτησης. Εγκαταστήστε τη σύνδεση GPIO. Στη συνέχεια, μεταβείτε στην καρτέλα MISC και εγκαταστήστε το openHAB Cloud Connector.
Βήμα 3: Διαμόρφωση OpenHAB -Δημιουργία στοιχείων
Τώρα πρέπει να έχουμε πρόσβαση στο Rpi μας μέσω SSH. Θα χρησιμοποιήσω το PuTTY. Εάν χρησιμοποιείτε MacOS ή Linux, μπορείτε να χρησιμοποιήσετε τερματικό.
SSH μέσω PuTTY-
- Ανοίξτε το PuTTY.
- Μεταβείτε στη σελίδα διαχειριστή του δρομολογητή σας και μάθετε τη διεύθυνση IP. Θα ονομαστεί ως OpenHABian.
- Αντιγράψτε τη διεύθυνση IP και επικολλήστε την στο PuTTY και κάντε κλικ στο Άνοιγμα.
- Τώρα πρέπει να συνδεθείτε -
- login as: openhabianpassword: openhabian
- Αφού συνδεθείτε, πληκτρολογήστε τις ακόλουθες εντολές-
- $ cd /etc /openhab2 $ ls
- Τώρα θα σας δείξει όλους τους διαθέσιμους καταλόγους. Θα χρησιμοποιήσουμε - στοιχεία (για δημιουργία διαφορετικών στοιχείων), κανόνες (για ενεργοποίηση φωνητικών εντολών) και χάρτες ιστότοπου (για δημιουργία χάρτη ιστότοπου για πλοήγηση). Θα δημιουργήσουμε έναν χάρτη ιστότοπου ως -home.sitemap. Το αρχείο στοιχείων θα είναι - home.items. Και το αρχείο κανόνων θα είναι - home.rules.
- $ sudo nano items/home.items $ password: openhabian
-
Αυτό θα ανοίξει ένα κενό έγγραφο. Εδώ θα δημιουργήσουμε τα στοιχεία μας που θα ελέγχουμε μέσω Rpi. Στην περίπτωσή μου, χρησιμοποίησα 4 αντικείμενα. Μπορείτε να χρησιμοποιήσετε όσα θέλετε.
-
// Στοιχεία Αρχείου Αλλαγή ανεμιστήρα "Fan" {gpio = "pin: 17 activelow: yes initialValue: low"} Switch night_light "Night Lamp" {gpio = "pin: 27 activelow: yes initialValue: high"} Switch exhaust "Exhaust Fan "{gpio =" pin: 23 activelow: yes initialValue: high "} Εναλλαγή φωτός" Light "{gpio =" pin: 5 activelow: yes initialValue: low "}
String VoiceCommand
Εδώ, θα εξηγήσω τα παραπάνω με ένα παράδειγμα- Αλλαγή ανεμιστήρα "Fan" {gpio = "pin: 17 activelow: yes initialValue: low"} Αυτό που συμβαίνει εδώ είναι το εξής-
- Διακόπτης - είναι μια λέξη -κλειδί που καθορίζει ότι το στοιχείο είναι ένας διακόπτης.
- ανεμιστήρας (γενικό - ονομάστε ό, τι θέλετε) - είναι ένα αναγνωριστικό που ορίζεται από το χρήστη για την ονομασία διαφορετικών στοιχείων που κάποιος θέλει να ελέγξει.
-
"Fan" (γενικό - ονομάστε ό, τι θέλετε) - είναι το εμφανιζόμενο όνομα που θα εμφανιστεί στο περιβάλλον χρήστη.
- (όνομα εικονιδίου)- Είναι το όνομα του εικονιδίου που θα εμφανιστεί μαζί με το όνομα.
- {gpio = "pin: 17 activelow: yes initialValue: low"} - εδώ το gpio είναι αυτό που λέει στο OpenHAB ότι το στοιχείο συνδέεται μέσω του gpio. pin: 17 είναι ο πείρος στον οποίο συνδέετε το ρελέ. activelow: ναι (ή όχι) - Ενεργό χαμηλό σημαίνει ότι όταν ο διακόπτης είναι απενεργοποιημένος δεν θα εφαρμόζεται τάση στον ακροδέκτη gpio και όταν είναι ενεργοποιημένος ο διακόπτης θα εφαρμόζεται τάση. initialValue: high (or low) - Μετά από αυτό είναι το αρχικό Value και αυτό που κάνει είναι να πει στο openhab τι να ορίσει την αρχική τιμή του στοιχείου κατά την αρχικοποίηση. Αυτό έχει ρυθμιστεί σε υψηλό επίπεδο επειδή θέλω να είναι απενεργοποιημένος ο διακόπτης κατά την προετοιμασία.
- String VoiceCommand - είναι το στοιχείο που θα χρησιμοποιηθεί για τον έλεγχο άλλων στοιχείων χρησιμοποιώντας φωνητικές εντολές.
- Μπορείτε να δημιουργήσετε όσα στοιχεία θέλετε χρησιμοποιώντας αυτήν τη σύνταξη-
- πληκτρολογήστε item-name "item-display_name" {gpio = "pin: pin-no activelow: (yes or low) initialValue: (high or low)
- Αφού το κάνετε αυτό, πατήστε Ctrl+X, στη συνέχεια Y και Enter.
- cd $..
Βήμα 4: Δημιουργία χάρτη ιστοτόπου
Ο χάρτης ιστότοπου θα χρησιμοποιηθεί για πλοήγηση και έλεγχο των διακοπτών ρελέ.
- Λαμβάνοντας υπόψη ότι συνεχίζετε μετά την ολοκλήρωση των παραπάνω βημάτων, πληκτρολογήστε τερματικό
- $ sudo nano sitemaps/home.sitemap
- Αυτό το αρχείο θα είναι ο προεπιλεγμένος χάρτης ιστότοπου για πλοήγηση. Η παραπάνω εντολή θα ανοίξει ένα κενό αρχείο. Πρέπει να δημιουργήσετε έναν χάρτη ιστότοπου ως εξής-
sitemap home label = "Smart Home"
{
Frame label = "My Room" {
Εναλλαγή στοιχείου = ανεμιστήρας
Εναλλαγή στοιχείου = φως
Εναλλαγή στοιχείου = εξάτμιση
Εναλλαγή στοιχείου = night_light
}
}
- sitemap home label = "Smart Home (γενική χρήση ό, τι θέλετε)" - αυτός είναι ο τίτλος της αρχικής σελίδας. Μπορείτε να χρησιμοποιήσετε ό, τι θέλετε.
- Ετικέτα πλαισίου = "Το δωμάτιό μου (χρησιμοποιήστε ό, τι θέλετε)" - αυτή θα είναι η υποενότητα. Ο τίτλος του μπορεί να είναι ό, τι θέλετε.
- Εναλλαγή στοιχείου = ανεμιστήρας - αυτό μαζί με άλλους θα καθορίσει τα στοιχεία που θέλετε να δείτε και να ελέγξετε από την αρχική σελίδα. Πρέπει να εισαγάγετε τα ονόματα στοιχείων που δημιουργήσαμε. ΜΗΝ ΕΙΣΑΓΕΤΕ ΤΟ ΟΝΟΜΑ ΟΘΟΝΗΣ ΤΟΥ ΕΙΔΙΚΟΥ.
- Μετά από αυτό το πάτημα, CTRL+X, Y και Enter.
Βήμα 5: Δημιουργία κανόνα για VoiceCommand-
Για αυτό, πρέπει να δημιουργήσετε έναν απλό κανόνα. Χρησιμοποίησα αναφορά από αυτόν τον οδηγό. Έτσι, για φωνητικές εντολές, ας δημιουργήσουμε ένα αρχείο βασικού κανόνα-
$ sudo nano rules/home.rules
Αυτό θα δημιουργήσει ένα κενό αρχείο.rules.
Μπορείτε να αποκτήσετε πρόσβαση στο αρχείο κανόνων εδώ
Λοιπόν, αυτός είναι ένας μακρύς κώδικας με πολλά αρχεία και εντολές. Αλλά χρειάζεται μόνο να λάβετε υπόψη τα ακόλουθα για να δημιουργήσετε το δικό σας σύνολο εντολών.
- εάν (command.contains ("ενεργοποιήστε τον ανεμιστήρα") || (command.contain ("ενεργοποιήστε τον ανεμιστήρα"))) - εδώ έχω παραθέσει δύο επιλογές που μπορώ να πω για να λειτουργήσει η εντολή Αυτό που συμβαίνει στην πραγματικότητα είναι, όταν λέω τη δεσμευμένη γραμμή, το OpenHAB το αναγνωρίζει και ελέγχει για τον συγκεκριμένο κανόνα για να κάνει αυτό που θα συμβεί στη συνέχεια.
- fan.sendCommand (ON) - Όταν ισχύει η παραπάνω συνθήκη, αυτή η λειτουργία στέλνει μια εντολή ON στον ανεμιστήρα του στοιχείου. Αυτό μπορεί να τροποποιηθεί σύμφωνα με την επιλογή σας.
Λοιπόν, αν έχετε φτάσει εδώ χωρίς κανένα πρόβλημα, συγχαρητήρια, γιατί το μεγαλύτερο μέρος της δουλειάς έχει ολοκληρωθεί. Τώρα πρέπει να ρυθμίσουμε το περιβάλλον χρήστη και να ενεργοποιήσουμε την απομακρυσμένη πρόσβαση για το OpenHAB.
Βήμα 6: Διαμόρφωση του BasicUI
Τώρα, πρέπει να πούμε στο OpenHAB να χρησιμοποιήσει τον χάρτη ιστότοπου που δημιουργούμε για να τον χρησιμοποιήσει ως προεπιλεγμένο.
Δείτε πώς να το κάνετε-
- Μεταβείτε στη διεύθυνση https:// openhabianpi: 8080
- Άνοιγμα διεπαφής χρήστη χαρτιού
- Διαμορφώσεις> Υπηρεσίες> UI> Διαμόρφωση βασικής διεπαφής χρήστη
- Εδώ μπορείτε να επιλέξετε τις μορφές θέματος και εικονιδίων κλπ. Το κύριο πράγμα που πρέπει να κάνετε είναι να αλλάξετε τον προεπιλεγμένο χάρτη ιστότοπου σε αρχική σελίδα
- Κάντε κλικ στην επιλογή Αποθήκευση
- Μπορείτε να το δείτε πηγαίνοντας στο https:// openhabianpi: 8080
- Κάντε κλικ στο Basic UI και voila θα δείτε τον δικό σας ιστότοπο εκεί
Βήμα 7: Ενεργοποίηση απομακρυσμένης πρόσβασης
Για να ενεργοποιήσετε την απομακρυσμένη πρόσβαση, ακολουθήστε αυτά τα βήματα-
- Μεταβείτε στη διεύθυνση https:// openhabianpi: 8080
- Άνοιγμα διεπαφής χρήστη χαρτιού
- Διαμορφώσεις> Υπηρεσίες> IO> Διαμόρφωση OpenHAB Cloud
- Αλλαγή λειτουργίας σε Ειδοποιήσεις και Απομακρυσμένη πρόσβαση, Διεύθυνση URL βάσης -> https://myopenhab.org/ και στοιχεία για έκθεση -> Επιλέξτε όλα αυτά
- Κάντε κλικ στην επιλογή Αποθήκευση
- Προχωρήστε στη διεύθυνση
- Εγγραφείτε με διεύθυνση email και κωδικό πρόσβασης.
- Για το openHAB UUID ->
- $ sudo nano/var/lib/openhab2/uuid
- Αντιγράψτε και επικολλήστε αυτό το UUID στη στήλη UUID.
- Για το μυστικό OpenHAB->
- $ sudo nano/var/lib/openhab2/openhabcloud/secret
- Αντιγράψτε και επικολλήστε το στη μυστική στήλη και πατήστε Εγγραφή.
- Τώρα μετά την επιτυχή επανεκκίνηση του Rpi, θα δείτε την κατάσταση ως online στοhttps://myopenhab.org
- Μεταβείτε στην καρτέλα στοιχεία
- Εδώ μπορείτε να δείτε όλα τα στοιχεία που δημιουργήσατε. Εάν δεν βλέπετε τίποτα, πρέπει να αλλάξετε όλα αυτά τα στοιχεία τουλάχιστον μία φορά.
Βήμα 8: HARDWARE !!
Να είστε πολύ προσεκτικοί, καθώς χειριζόμαστε 220V και άλλα ηλεκτρικά πράγματα.
ΝΑ ΕΙΣΑΙ ΠΡΟΣΕΚΤΙΚΟΣ
ΘΑ ΤΟ ΚΑΝΕΤΕ ΑΥΤΟ ΜΕ ΤΟΝ ΔΙΚΟ ΣΑΣ ΚΙΝΔΥΝΟ
Σύνδεση του ρελέ στο Raspberry Pi-
Για να συνδέσετε το ρελέ στο Raspberry Pi, συνδέστε το VCC σε 5V σε Rpi.
- Συνδέστε το GND στο ρελέ στο GND του Raspberry Pi
- Στη συνέχεια, συνδέστε τα IN1, IN2,… στο GPIO που έχει οριστεί στο home.items
Για να ελέγξετε αν όλα λειτουργούν, μεταβείτε στο BasicUI και δοκιμάστε να απενεργοποιήσετε και να ενεργοποιήσετε τα διάφορα στοιχεία. Θα πρέπει να ακούτε έναν ήχο κλικ σε κάθε εναλλαγή.
Μπορείτε επίσης να κατεβάσετε την εφαρμογή OpenHAB από το Play Store για ευκολότερο έλεγχο του συστήματος αυτοματισμού σας.
ΓΙΝΕΤΕ ΠΡΟΣΟΧΗ ΚΑΙ ΔΙΑΔΙΚΑΣΙΑ ΣΤΟ ΔΙΚΟ ΣΑΣ ΚΙΝΔΥΝΟ
Τώρα πρέπει να συνδέσουμε τα καλώδια των συσκευών που θέλετε να αυτοματοποιήσετε στους διακόπτες ρελέ. Απενεργοποιήστε το Rpi και την κύρια παροχή πριν το κάνετε αυτό για να είστε στην ασφαλέστερη πλευρά.
Μετά τη σύνδεση καλωδίων, βεβαιωθείτε ότι δεν έχει μείνει ακάλυπτο καλώδιο που μπορεί να αποδειχθεί μοιραίο.
Τώρα ενεργοποιήστε ξανά το Rpi και δώστε του χρόνο για εκκίνηση. Μετά την εκκίνηση, θα μπορείτε να ελέγχετε συσκευές από το Basic UI ή από την εφαρμογή για κινητά. Εάν δεν θέλετε αυτοματοποίηση φωνής, δεν χρειάζεται να ακολουθήσετε τα καθαρά βήματα.
Βήμα 9: Σύνδεση με τον Βοηθό Google
Για αυτό θα χρησιμοποιήσουμε το
- Μεταβείτε στο IFTTT.com
- Δημιουργήστε έναν λογαριασμό αν δεν έχετε έναν
- Κάντε κλικ στο New Applet
- Επιλέξτε Αυτό και επιλέξτε Βοηθό Google και επιλέξτε Πείτε μια φράση με ένα συστατικό κειμένου
- Σε αυτό που θέλετε να πείτε, εισαγάγετε- Γυρίστε $ item-name Ex- Turn $ fan
- Κάντε κλικ στη δημιουργία σκανδάλης
- Επιλέξτε αυτό και επιλέξτε OpenHAB. Συνδέστε το λογαριασμό σας
- Επιλέξτε αποστολή εντολήςΕπιλέξτε στοιχείο ως VoiceCommand
- Εντολή για αποστολή ως - Γυρίστε το όνομα του στοιχείου {{TextField}}. Στρίψτε ανεμιστήρα {{TextField}}
- Δημιουργία ενέργειας
Δώστε περίπου 10 δευτερόλεπτα για να ξεκινήσει και, στη συνέχεια, Voila, χρησιμοποιήστε τον βοηθό Google για να στείλετε την εντολή.
Αυτό είναι. Εάν έχετε αμφιβολίες ή υπάρχει κάποιο σφάλμα, μη διστάσετε να σχολιάσετε. Θα σε βοηθήσω σίγουρα.
Αν έχετε προβλήματα ή απορίες, μη διστάσετε να επικοινωνήσετε μαζί μου στη διεύθυνση [email protected]
Συνιστάται:
Next Gen Home Automation Using Eagle Cad (Μέρος 1 - PCB): 14 βήματα
Next Gen Home Automation Using Eagle Cad (Μέρος 1 - PCB): Εισαγωγή: Γιατί λέω την επόμενη γενιά του: επειδή χρησιμοποιεί ορισμένα στοιχεία που είναι πολύ καλύτερα από τις παραδοσιακές συσκευές οικιακού αυτοματισμού. Μπορεί να ελέγξει τις συσκευές μέσω: Google Voice Commands Touch Panel στο Device Control from app
Πώς να DIY 32 Band LED Audio Music Spectrum Analyzer Using Arduino Nano at Home #arduinoproject: 8 Βήματα
Πώς να DIY 32 Band LED Audio Music Spectrum Analyzer Using Arduino Nano at Home #arduinoproject: Σήμερα θα φτιάξουμε ένα LED 32 Audio Music Spectrum Analyzer στο σπίτι χρησιμοποιώντας το Arduino, μπορεί να δείχνει φάσμα συχνοτήτων και να παίζει ταυτόχρονα muisc. Σημείωση Το max7219LED πρέπει να συνδεθεί μπροστά από την αντίσταση 100k, διαφορετικά ο θόρυβος του spea
Internet/cloud Controlled Home Automation Using Esp8266 (aREST, MQTT, IoT): 7 βήματα (με εικόνες)
Internet/cloud Controlled Home Automation Using Esp8266 (aREST, MQTT, IoT): ΟΛΕΣ οι πιστώσεις στο http://arest.io/ για την υπηρεσία cloud !! IoT το πιο συζητημένο θέμα στον κόσμο αυτή τη στιγμή !! Οι διακομιστές και οι υπηρεσίες cloud που το καθιστούν εφικτό είναι το σημείο έλξης του σημερινού κόσμου
DIY Home Automation Using ESP8266: 5 Steps
DIY Home Automation Using ESP8266: Σε αυτό το έργο θα σας δείξω πώς να φτιάξετε το σύστημα οικιακού αυτοματισμού χρησιμοποιώντας τη μονάδα WiFi ESP8266. Αυτό το σύστημα βασίζεται στον πίνακα ρελέ Esp8266 που μπορείτε να χρησιμοποιήσετε για τον έλεγχο των οικιακών συσκευών σας μέσω WiFi χρησιμοποιώντας την εφαρμογή Blynk. Αυτό το έργο χρηματοδοτείται από το JLCPCB
Sonoff B1 Firmware Home Automation Openhab Google Home: 3 Βήματα
Homeoff αυτοματοποίηση υλικολογισμικού Sonoff B1 Openhab Google Home: Μου αρέσει πολύ το υλικολογισμικό Tasmota για τους διακόπτες Sonoff. Αλλά δεν ήταν πραγματικά ευχαριστημένος με το υλικολογισμικό Tasmota στο Sonoff-B1 μου. Δεν πέτυχα πλήρως να το ενσωματώσω στο Openhab και να το ελέγξω μέσω του Google Home. Ως εκ τούτου έγραψα τη δική μου εταιρεία