Πίνακας περιεχομένων:
- Βήμα 1: Πράγματα που χρειάζεστε
- Βήμα 2: Προετοιμάστε το Raspberry Pi για 433 MHz
- Βήμα 3: Ρύθμιση του Smart Home Server
- Βήμα 4: Ρύθμιση πελατών
- Βήμα 5: Συμπέρασμα
Βίντεο: Smart Home by Raspberry Pi: 5 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:31
Υπάρχουν ήδη αρκετά προϊόντα που κάνουν το διαμέρισμά σας πιο έξυπνο, αλλά τα περισσότερα από αυτά είναι ιδιόκτητες λύσεις. Γιατί όμως χρειάζεστε σύνδεση στο διαδίκτυο για να αλλάξετε φως με το smartphone σας; Αυτός ήταν ένας λόγος για μένα να δημιουργήσω τη δική μου λύση Smart Home.
Προγραμματίζω μια εφαρμογή διακομιστή που εκτελείται σε Raspberry Pi. Αυτό είναι ένα έργο ανοιχτού κώδικα που βασίζεται σε java και σας επιτρέπει να διαμορφώσετε το διαμέρισμά σας και να συνδέσετε πολλούς πελάτες και "ελεγχόμενες μονάδες". Δείχνω μια λύση που χειρίζεται διακόπτες τροφοδοσίας rc, παίζει μουσική και βίντεο στο Raspberry Pi, δείχνει την κατάσταση στον έξυπνο καθρέφτη και μπορεί να ελεγχθεί από μια εφαρμογή Android και δύο εφαρμογές με βότσαλα. Η πηγή φιλοξενείται στο github
Βήμα 1: Πράγματα που χρειάζεστε
Για να ρυθμίσετε το Smart Home, χρειάζεστε τα ακόλουθα «συστατικά»
- Raspberry Pi τουλάχιστον μοντέλο 2 Β
- Αποστολέας 433 MHz, κάτι σαν αυτό
- 3 καλώδια jumper που συνδέουν το Raspberry Pi και τον αποστολέα
- Ορισμένες υποδοχές ραδιοφώνου στα 433 MHz
- Smartphone Android για εκτέλεση της εφαρμογής πελάτη
Επιπλέον, μπορείτε να επεκτείνετε το Smart Home με περισσότερους προαιρετικούς πελάτες και μονάδες όπως αυτή
- Έξυπνο ρολόι με βότσαλα
- Smart Mirror, δείτε αυτό το έργο
- Ελεγχόμενη λωρίδα LED 433 MHz, δείτε αυτήν τη διεύθυνση
Βήμα 2: Προετοιμάστε το Raspberry Pi για 433 MHz
Στα παρακάτω βήματα χρειάζεστε πρόσβαση στη γραμμή εντολών στο Raspberry Pi. Για να αποκτήσετε πρόσβαση, μπορείτε να διαβάσετε αυτό το διδακτικό
Συνδέστε τον αποστολέα 433 MHz με το Raspberry Pi όπως φαίνεται στην παραπάνω εικόνα
- GND (αποστολέας) 6 GND (ράσπι)
- VCC (αποστολέας) 2 +5V (raspi)
- ΔΕΔΟΜΕΝΑ (αποστολέας) 11 GPIO 17 (ράσπι)
Συνδέστε επίσης μια κεραία 17 εκατοστών στον πείρο ANT (αποστολέας). Αυτό αυξάνει σημαντικά το σήμα.
Δεδομένου ότι χρειαζόμαστε κάποιες βιβλιοθήκες από άλλα αποθετήρια git, πρέπει να εγκαταστήσουμε το git
sudo apt-get install git-core -y
Για να ρυθμίσετε το Raspberry Pi για επικοινωνία 433 MHz χρειαζόμαστε τη βιβλιοθήκη καλωδίωσης Pi για καλύτερο χειρισμό των GPIO.
git κλώνος git: //git.drogon.net/wiringPi
cd καλωδίωσηPi./ build
Στη συνέχεια, χρειαζόμαστε μια βιβλιοθήκη που εφαρμόζει τυπικά πρωτόκολλα τροφοδοσίας rc.
git κλώνος git: //github.com/dabastynator/rcswitch-pi.git
cd rcswitch-pi κάνει cp send/usr/bin/
Το εκτελέσιμο «αποστολή» σάς επιτρέπει να στείλετε κωδικούς για να αλλάξετε τα περισσότερα από τα διαθέσιμα τροφοδοτικά.
Στη ρύθμιση του Smart Home έχω επίσης μια λωρίδα rc LED που περιγράφεται από αυτό το εγχειρίδιο: https://www.instructables.com/id/RC-controlled-LED… Για να ορίσετε χρώματα για αυτήν τη λωρίδα LED χρειάζεστε ένα άλλο εκτελέσιμο στέλνοντας που σας επιτρέπει για αποστολή οποιασδήποτε ακέραιης τιμής (Αυτό κωδικοποιεί το χρώμα).
Επομένως, μεταγλωττίστε το sendInt.cpp στο repo του rcswitch-pi και μετακινήστε το στο/usr/bin/sendInt.
sudo g ++ sendInt.cpp -o/usr/bin/sendInt /home/pi/rcswitch-pi/RCSwitch.o -I/home/pi/rcswitch -pi -lwiringPi
Τώρα θα πρέπει τώρα να μπορείτε να στέλνετε εντολές rc με τα δύο εκτελέσιμα/usr/bin/send και/usr/bin/sendInt
Βήμα 3: Ρύθμιση του Smart Home Server
Πρώτα απ 'όλα πρέπει να εγκαταστήσετε πολλά πακέτα. Η εφαρμογή Smart Home βασίζεται σε java και λειτουργεί άψογα με το openjdk-11. Δεν είμαι σίγουρος για άλλα περιβάλλοντα εκτέλεσης java. Το mplayer είναι ένα μινιμαλιστικό πρόγραμμα αναπαραγωγής μουσικής γραμμής εντολών. Το omxplayer χρησιμοποιεί τα γραφικά Raspberry Pi για κωδικοποίηση βίντεο, οπότε αυτό πρέπει να χρησιμοποιείται για βίντεο. Το μυρμήγκι του προγράμματος χρειάζεται για τη δημιουργία της εφαρμογής java.
sudo apt-get install mplayer omxplayer openjdk-11-jdk ant -y
Ρύθμιση καταλόγων για το αρχείο jar και για αρχεία καταγραφής.
sudo mkdir /opt /neo
sudo chown pi: pi/opt/neo mkdir/home/pi/Logs
Διαμορφώστε το σενάριο έναρξης για να ξεκινήσει η εφαρμογή αυτόματα κατά την εκκίνηση. Επομένως, αντιγράψτε το συνημμένο σενάριο έξυπνου σπιτιού στον κατάλογο /etc/init.d/ Δημιούργησα επίσης ένα σενάριο στο/usr/bin/που μεταφέρει εντολές στο συνημμένο σενάριο, οπότε εισάγω το έξυπνο σπίτι στην κονσόλα για να εκτελέσω εντολές Το
sudo cp smart-home /etc/init.d/smart-home
sudo chmod +x /etc/init.d/smart-home sudo sh -c "echo '#!/bin/bash'>/usr/bin/smart -home" sudo sh -c "echo '/etc/init d/smart-home / $ 1 '>>/usr/bin/smart-home "sudo chmod +x/usr/bin/smart-home sudo update-rc.d προεπιλογές έξυπνου σπιτιού
Τώρα ήρθε η ώρα να ελέγξετε το αποθετήριο και να δημιουργήσετε την εφαρμογή. Εάν δεν θέλετε να το μεταγλωττίσετε μόνοι σας, μπορείτε απλά να κατεβάσετε το συνημμένο smarthome.jar και να το μετακινήσετε στο/opt/neo/
git clone [email protected]: dabastynator/SmartHome.git
μυρμήγκι -f SmartHome/de.neo.smarthome.build/build.ant build_remote cp SmartHome/de.neo.smarthome.build/build/jar/*/opt/neo/
Δοκιμάστε να ξεκινήσετε το έξυπνο σπίτι και ελέγξτε το αρχείο καταγραφής. Για να αποκτήσετε πρόσβαση στα GPIO, η εφαρμογή πρέπει να ξεκινήσει με sudo.
sudo έξυπνο σπίτι εκκίνησης
cat Logs/smarthome.log
Θα πρέπει να δείτε το μήνυμα σφάλματος Δεν υπάρχει αρχείο διαμόρφωσης που μας οδηγεί στο επόμενο βήμα. Το αποθετήριο περιέχει ένα readme που εξηγεί το αρχείο διαμόρφωσης. Μπορείτε να το δείτε όμορφα σε github:
Αντιγράψτε αυτό το xml στο /home/pi/controlcenter.xml και, στη συνέχεια, ορίστε τη θέση για τον διακομιστή πολυμέσων σας και αλλάξτε το περιεχόμενο όπως το χρειάζεστε. Μόλις ολοκληρώσετε τη διαμόρφωση και επανεκκινήσετε το έξυπνο σπίτι (sudo smart-home επανεκκίνηση) θα πρέπει να δείτε το ακόλουθο περιεχόμενο στο smarthome.log
24.05-08: 26 ΑΠΟΣΤΟΛΕΣ ΠΛΗΡΟΦΟΡΙΕΣ από de.neo.smarthome.cronjob. CronJob@15aeb7ab: Προγραμματισμός εργασιών cron
24.05-08: 26 ΑΠΟΣΤΟΛΕΣ ΠΛΗΡΟΦΟΡΙΕΣ από [trigger.light]: Περιμένετε 79391760 ms για εκτέλεση 24.05-08: 26 ΠΛΗΡΟΦΟΡΙΕΣ RMI από Προσθήκη web-handler (5061/ledstrip) 24.05-08: 26 RMI INFORMATION by Add web-handler (5061 /δράση) 24.05-08: 26 RMI INFORMATION by Add web-handler (5061/mediaserver) 24.05-08: 26 RMI INFORMATION by Add web-handler (5061/switch) 24.05-08: 26 RMI INFORMATION by Add web-handler (5061/controlcenter) 24.05-08: 26 RMI INFORMATION by Start webserver with 5 handler (localhost: 5061) 24.05-08: 26 REMOTE INFORMATION by Controlcenter: Add 1. unit control: MyUnit (xyz)…
Ο διακομιστής ιστού λειτουργεί τώρα:-)
Βήμα 4: Ρύθμιση πελατών
Smartphone πρόγραμμα -πελάτης Android
Το αποθετήριο git για την εφαρμογή έξυπνου σπιτιού περιέχει επίσης την πηγή για τον υπολογιστή-πελάτη android, ώστε να μπορείτε να το μεταγλωττίσετε μόνοι σας. Επισυνάπτω όμως το APK για αυτό το βήμα, αυτό το κάνει πιο εύκολο. Την πρώτη φορά που ξεκινάτε την εφαρμογή, σας ζητά διακομιστή, όπως στην πρώτη εικόνα παραπάνω. Εισαγάγετε τη διεύθυνση URL του διακομιστή και το διακριτικό ασφαλείας.
Αυτό θα έπρεπε να είναι. Έχετε τώρα πρόσβαση στον διακομιστή και ελέγχετε το διαμέρισμά σας, παίζοντας μουσική και παρακολουθείτε βίντεο από απόσταση στο Raspberry Pi σας. Λάβετε υπόψη ότι μπορείτε να προσθέσετε widget στην αρχική οθόνη σας, γεγονός που καθιστά τους διακόπτες και τον έλεγχο μουσικής πιο προσιτά.
Smartwatch Pebble client
Η πηγή για τους δύο πελάτες με βότσαλα φιλοξενείται στο github. Μια εφαρμογή δείχνει το τρέχον αρχείο μουσικής που παίζει: https://github.com/dabastynator/PebbleRemoteMusic… Αυτό σας επιτρέπει επίσης να κάνετε παύση/αναπαραγωγή και αύξηση/μείωση της έντασης.
Η δεύτερη εφαρμογή ενεργοποιεί τρεις ενέργειες: https://github.com/dabastynator/PebbleControl Τα ονόματα σκανδάλης είναι: mobile.come_home mobile.leaving και mobile.go_to_bed. Εάν ορίσετε κανόνες συμβάντος για αυτήν τη σκανδάλη στη διαμόρφωση-xml, τους ενεργοποιείτε από το ρολόι σας.
Είναι όλα ανοιχτού κώδικα, αλλά δεν χρειάζεται να το μεταγλωττίσετε μόνοι σας, επισυνάπτω επίσης τις εφαρμογές με βότσαλα. Κατεβάστε τα PBW με το smartphone σας, το τηλέφωνό σας θα πρέπει να τα εγκαταστήσει στο ρολόι σας. Οι εφαρμογές με βότσαλα χρειάζονται διαμορφώσεις για να μιλήσουν στον διακομιστή. Επισυνάπτω ένα στιγμιότυπο οθόνης πώς φαίνονται οι ρυθμίσεις μου.
Smartwatch πελάτης Garmin
Υπάρχει επίσης διαθέσιμος πελάτης για έξυπνα ρολόγια Garmin. Η εφαρμογή είναι διαθέσιμη στο κατάστημα εφαρμογών garmin connect και μπορεί να εγκατασταθεί εδώ:
apps.garmin.com/en-US/apps/c745527d-f2af-4…
Έξυπνος πελάτης καθρέφτη
Δημιούργησα ήδη ένα εκπαιδευτικό που εξηγεί πώς να δημιουργήσετε τον Έξυπνο καθρέφτη, δείτε αυτό https://www.instructables.com/id/Smart-Mirror-by-R…. Ο πηγαίος κώδικας φιλοξενείται επίσης στο github: https:// github.com/dabastynator/SmartMirror. Το λογισμικό του Smart Mirror διαβάζει τη διαμόρφωση από το αρχείο smart_config.js που δεν αποτελεί μέρος του αποθετηρίου git. Το περιεχόμενο του αρχείου διαμόρφωσης πρέπει να μοιάζει με αυτήν την καταχώριση:
var mOpenWeatherKey = "το κλειδί σας"
var mSecurity = 'your-security-token';
Πρέπει επίσης να προσαρμόσετε τις δύο πρώτες γραμμές του αρχείου smart_mirror.js για να καθορίσετε τη διεύθυνση IP του διακομιστή Smart Home και τη θέση για να έχετε τον κατάλληλο καιρό.
Περισσότεροι πελάτες
Η εφαρμογή διακομιστή είναι ένας απλός διακομιστής Ιστού. Αυτό σας δίνει τη δυνατότητα να ενεργοποιήσετε ενέργειες από οποιονδήποτε πελάτη θέλετε με απλές κλήσεις ιστού. Στο βίντεο επίδειξης εμφανίζω την εφαρμογή εφαρμογής Android για συνδυασμό με το AutoVoice. Αυτό μου επιτρέπει να ενεργοποιήσω γεγονότα με απλές φωνητικές εντολές. Για παράδειγμα, "ok google, time to sleep" μπορεί να ενεργοποιήσει το mobile.go_to_bed. Αλλά μπορείτε επίσης να κάνετε διαδικτυακές κλήσεις για παράδειγμα από το IFTTT. Τι θα λέγατε για μια κίτρινη λυχνία LED που αναβοσβήνει για ειδοποίηση μέσω ηλεκτρονικού ταχυδρομείου;
Μπορείτε να ζητήσετε από τον διακομιστή πιθανές κλήσεις ιστού, όπως οι ακόλουθοι σύνδεσμοι (αντικατάσταση ip, θύρας και διακριτικού με τη διαμόρφωσή σας)
localhost: 5061/controlcenter/api? token = secu…
localhost: 5061/action/api? token = security-to…
localhost: 5061/mediaserver/api? token = securi…
localhost: 5061/switch/api? token = security-to…
localhost: 5061/ledstrip/api? token = ασφάλεια-…
Βήμα 5: Συμπέρασμα
Υπάρχουν ακόμα ορισμένα χαρακτηριστικά που πρέπει να υλοποιηθούν: Δεδομένου ότι ο διακομιστής παρέχει απλό πρόγραμμα-πελάτη web-api, κάντε πολλές δημοσκοπήσεις. Για να μειώσω την ψηφοφορία θέλω μια ενσωμάτωση MQTT για καλύτερη ειδοποίηση. Επίσης τα τροφοδοτικά wifi θα πρέπει να αποδίδουν πιο αξιόπιστα από τα τροφοδοτικά rc αφού το rc είναι απλώς μονόδρομος επικοινωνία.
Κάνει πολύ διασκεδαστικό να αναπτύσσεται για αυτό το έργο. Και είναι πολύ ωραίο να ελέγχετε το διαμέρισμα από πολλές συσκευές, ακόμη και αν η σύνδεση στο Διαδίκτυο χαλάσει.
Συνιστάται:
Smart Home With Arduino: 11 βήματα (με εικόνες)
Smart Home With Arduino: Γεια σας. Θα σας δείξω πώς να φτιάξετε το δικό σας έξυπνο σπίτι. Δείχνει τη θερμοκρασία τόσο στο εσωτερικό όσο και στο εξωτερικό, εάν το παράθυρο είναι ανοιχτό ή κλειστό, δείχνει όταν βρέχει και ειδοποιεί όταν κινούνται οι αισθήσεις του αισθητήρα PIR. Έκανα την εφαρμογή στο android για
EWON Raspberry Pi Powered Home Robot: 7 βήματα (με εικόνες)
EWON Raspberry Pi Powered Home Robot: Πρόσφατα βρέθηκα να βλέπω υπερβολικά πολλές σειρές Netflix λόγω της τρέχουσας κατάστασης, ελπίζω να είστε όλοι ασφαλείς και είδα ότι κυκλοφόρησε η σεζόν 5 του Black Mirror. Μια σειρά ανθολογίας που περιστρέφεται γύρω από μια ομάδα προσωπικών ζωντανών ανθρώπων
ForgetMeNot - Πλατφόρμα ειδοποιήσεων Smart Home: 14 βήματα (με εικόνες)
ForgetMeNot - Έξυπνη πλατφόρμα ειδοποιήσεων για το σπίτι: Ως πολυάσχολοι φοιτητές, τρέχοντας ανάμεσα σε μαθήματα, δουλειές και οικογενειακές υποχρεώσεις, έχουμε την τάση να ξεχνάμε τα μικρά πράγματα. Τα γενέθλια έρχονται και παρέρχονται χωρίς να το παρατηρήσουμε, μια σημαντική προθεσμία χάνεται λόγω της αγνότητας και μερικές φορές, απλώς
Tutorial Do Projeto Final Do Curso IoT Aplicada a Smart Home Inatel / Novembro 2017: 4 βήματα (με εικόνες)
Tutorial Do Projeto Final Do Curso IoT Aplicada a Smart Home Inatel / Novembro 2017: Δεν υπάρχει προειδοποίηση για τη χρήση των πλατφορμών σας, είναι απαραίτητη για την πρόσβαση σε πλατφόρμες για Android ή IOS. Foi utilizado um computador tipo notebook com windows 10. Essa plataforma chama-se Ionic, q
GO-4 Smart Home Arduino Bot: 7 βήματα (με εικόνες)
GO-4 Smart Home Arduino Bot: Σε αυτό το έργο θα σας δείξω πώς να φτιάξετε ένα Smart Home Bot χρησιμοποιώντας την τεχνολογία IOT για να ελέγχετε τις οικιακές σας συσκευές από απόσταση μέσω του Διαδικτύου. Αλλά πριν ξεκινήσουμε ας μιλήσουμε για αυτήν την τεχνική όπως χρησιμοποιούσαμε τι να κάνετε … Τι είναι το IOT; Th