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

Raspberry Pi Garage Door Opener: 5 Βήματα
Raspberry Pi Garage Door Opener: 5 Βήματα

Βίντεο: Raspberry Pi Garage Door Opener: 5 Βήματα

Βίντεο: Raspberry Pi Garage Door Opener: 5 Βήματα
Βίντεο: ПОЧЕМУ Я ЖДУ L4D3 2024, Ιούλιος
Anonim
Raspberry Pi Garage Door Opener
Raspberry Pi Garage Door Opener

Το δεκαπεντάχρονο πληκτρολόγιό μας που μας επιτρέπει να ανοίξουμε την πόρτα του γκαράζ πεθαίνει σιγά -σιγά, με αρκετά κουμπιά που μόλις καταγράφονται, καθιστώντας δύσκολο για τους εφήβους (ή τους σκύλους μας) να μπουν στο σπίτι όταν ξεχάσουν το κλειδί τους.

Αντί να το αντικαταστήσω και να περάσω από τις στεφάνες του επαναπρογραμματισμού του, αποφάσισα να πάω λίγο πιο υψηλής τεχνολογίας και να το αντικαταστήσω με κάτι που απαιτούσε μόνο πρόσβαση στο wifi και ένα τηλέφωνο για χρήση.

Χρησιμοποίησα ένα Pi Zero Wireless και ένα ρελέ 2 καναλιών που μου είχαν μείνει από ένα άλλο έργο, το οποίο μου επιτρέπει να ελέγξω τόσο την πόρτα όσο και τα φώτα που είναι ενσωματωμένα στο άνοιγμα της πόρτας του γκαράζ. Επειδή είχα μια παλιά/εφεδρική κάμερα USB που βρισκόταν γύρω από τη συλλογή σκόνης, τη χρησιμοποίησα αντί για PiCam, αλλά αυτό ήταν μόνο για λόγους ευκολίας. Αυτό θα λειτουργούσε μια χαρά με οποιαδήποτε υποστηριζόμενη κάμερα - δεν υπάρχει τίποτα ιδιαίτερο στη δική μου, απλώς ότι η Raspbian την υποστήριξε.

Σε αντίθεση με ορισμένα άλλα παρόμοια έργα, προσπάθησα να το κρατήσω όσο το δυνατόν πιο απλό, χρησιμοποιώντας "τυπικά" πακέτα λογισμικού που είναι αρκετά εύκολο να λειτουργήσουν αν ακολουθήσετε τις οδηγίες. Αυτή η φωτογραφία δείχνει την τελική εγκατάσταση (καθόλου όμορφη, αλλά είναι το γκαράζ μου), συμπεριλαμβανομένης της Pi, της μονάδας αναμετάδοσης και της κάμερας USB που είναι στραμμένη στην πόρτα. Δεν υπάρχει συγκεκριμένος λόγος για τη χρήση του Pi Zero - οποιοδήποτε Pi θα έκανε, αρκεί να μπορείτε να το συνδέσετε στο εσωτερικό δίκτυό σας και το wifi το διευκολύνει.

Βήμα 1: Σύνδεση στον υπάρχοντα πίνακα ελέγχου

Σύνδεση με τον υπάρχοντα πίνακα ελέγχου
Σύνδεση με τον υπάρχοντα πίνακα ελέγχου

Πρώτον, Ο ΔΙΚΟΣ ΣΑΣ ΜΠΟΡΕΙ ΝΑ ΔΙΑΦΟΡΕΙ! Το δικό μου έχει ένα μόνο ζεύγος καλωδίων που πηγαίνουν από το άνοιγμα της πόρτας του γκαράζ στον πίνακα ελέγχου στον τοίχο. Δεδομένου ότι υπάρχουν μόνο δύο καλώδια, τα οποία φάνηκαν να έχουν περίπου 18 βολτ όταν δοκιμάστηκαν, ήμουν λίγο μπερδεμένος στην αρχή για το πώς ακριβώς αυτό το πράγμα μπορεί να ελέγξει πολλαπλές λειτουργίες. ΝΟΜΙΖΩ ότι κάθε στιγμιαίο κουμπί ολοκληρώνει απλά το κύκλωμα, αλλά με διαφορετικά επίπεδα αντίστασης. Στη συνέχεια, η κύρια μονάδα μπορεί να διαβάσει αυτήν την αντίσταση μέσω διαφορετικής πτώσης τάσης και να εκτελέσει τη σωστή ενέργεια. Τίποτα από όλα αυτά δεν έχει σημασία, ωστόσο, εκτός αν προσπαθείτε να αντικαταστήσετε πλήρως τη μονάδα ελέγχου με το Pi. Δεν είμαι σίγουρος γιατί θα θέλατε να το κάνετε αυτό, αφού είναι ωραίο να έχετε ακόμα τη φυσική μονάδα στη θέση της.

AAAAAnnwayway, το μόνο που χρειάζεται να κάνετε είναι να επαναλάβετε τις διάφορες πιέσεις κουμπιών συνδέοντας τους στιγμιαίους διακόπτες στο PCB στη μονάδα ρελέ σας. Αυτή ήταν η μόνη συγκόλληση που έπρεπε να κάνω και τα τακάκια στο PCB ήταν αρκετά μεγάλα, οπότε ήταν αρκετά απλό. Αφήστε αυτά τα καλώδια για πολύ τώρα, αφού είναι πολύ πιο εύκολο να συντομεύσετε ένα καλώδιο παρά να το επιμηκύνετε αργότερα, εκτός αν έχετε ένα φορείο ACME σύρματος τοποθετημένο τριγύρω, αλλά αυτά είναι αρκετά σπάνια.

Βήμα 2: Καλωδίωση της πλακέτας ρελέ

Καλωδίωση του πίνακα ρελέ
Καλωδίωση του πίνακα ρελέ
Καλωδίωση του πίνακα ρελέ
Καλωδίωση του πίνακα ρελέ

Δεν είναι πολλά να πω εδώ, απλά συνδέστε τα πάντα όπως στις εικόνες. Στη μονάδα ρελέ Sainsmart 2, οι ακίδες JC-VCC και VCC πρέπει να ανακατευτούν, εκτός εάν θέλετε να χρησιμοποιήσετε ένα εντελώς ξεχωριστό τροφοδοτικό, αλλά για αυτήν τη χρήση, αυτό είναι υπερβολικό. Συνδέστε το GND σε έναν ακροδέκτη Pi GND, το VCC σε έναν ακροδέκτη 5v και τα IN1 και IN2 σε όποιους ακροδέκτες GPIO θέλετε να χρησιμοποιήσετε. Δεδομένου ότι πρόκειται απλώς να τα χρησιμοποιήσετε ως εναλλαγές HIGH/LOW, δεν έχει σημασία ποια.

Βήμα 3: Εγκατάσταση του Λογισμικού

Εγκατάσταση του Λογισμικού
Εγκατάσταση του Λογισμικού

Αυτό είναι ίσως το πιο χρονοβόρο βήμα, δεδομένου ότι θα παρακολουθείτε τα πράγματα για λήψη και εγκατάσταση για λίγο. Παρακολουθήστε το youtube ή κάτι άλλο ενώ κάποια από αυτά είναι εγκατεστημένα.

Δεν πρόκειται να εξηγήσω πώς να εγκαταστήσετε το Raspbian. Εάν δεν ξέρετε πώς να το κάνετε ακόμη, ίσως προχωρήστε στο google για κάποιου είδους φροντιστήρια τύπου "hello world". Σε κάθε περίπτωση, είναι ίσως καλύτερο να χρησιμοποιήσετε μια νέα εγκατάσταση του Raspbian Lite. Δεν υπάρχει ανάγκη για gui για αυτό το έργο, και είναι απλά επιπλέον επιβάρυνση. Το raspberrypi.org μπορεί να σας καθοδηγήσει σε αυτήν τη διαδικασία.

Ενεργοποιήστε το SSH και (αν θέλετε) είτε διαμορφώστε μια στατική IP για το Pi σας (για άλλη μια φορά, υπάρχουν πολλά σεμινάρια για το πώς να το κάνετε αυτό, γραμμένα από καλύτερους συγγραφείς από εμένα) ή ακόμα καλύτερα, ρυθμίστε το δρομολογητή/διακομιστή DHCP για να εκχωρήσετε μια στατική IP στο Pi σας.

Εάν θέλετε μια ωραία, εύκολη εγκατάσταση και χρήση υπηρεσίας βίντεο, πηγαίνετε και εγκαταστήστε το MotionEye. Πιθανότατα είναι υπερβολική, αλλά είναι μία από τις εγκαταστάσεις που "λειτουργεί απλά" κάθε φορά και έχει μια ωραία εύχρηστη διεπαφή ιστού. Δείτε το εδώ:

github.com/ccrisan/motioneye/wiki/Install-… Ακολουθήστε αυτές τις οδηγίες χρησιμοποιώντας το sudo πριν από κάθε εντολή και θα έχετε ένα ωραίο ροή βίντεο. Δεν απαιτείται ακριβώς να έχετε μια ροή βίντεο εάν το μόνο που σας ενδιαφέρει είναι να ανοίξετε την πόρτα σας όταν μπορείτε να το δείτε, αλλά είναι ωραίο να έχετε σχόλια.

Μόλις εγκαταστήσετε το Motioneye, επισκεφτείτε τη διεύθυνση https:// YourIPAddress: 8765 και συνδεθείτε με το όνομα χρήστη "διαχειριστής" και έναν κενό κωδικό πρόσβασης. Πιθανότατα θα χρειαστεί να προσθέσετε μια φωτογραφική μηχανή, η οποία θα πρέπει και πάλι να "απλώς λειτουργεί" και να ξεφεύγει από αυτές τις οδηγίες.

Ενώ είστε συνδεδεμένοι ως διαχειριστής, κάντε κλικ στην εναλλαγή "Σύνθετες ρυθμίσεις" και, στη συνέχεια, ορίστε τις επιλογές βίντεο - χρησιμοποίησα 320x240 για το βίντεό μου επειδή με ενδιαφέρουν περισσότερο οι γρηγορότερες ενημερώσεις παρά η ποιότητα, καθώς ήθελα πραγματικά να το δω η πόρτα ήταν ανοιχτή ή όχι και δεν χρειάζεται να διαβάζετε αριθμούς γραμματοκιβωτίου απέναντι.

Στην περιοχή ρυθμίσεων "Ροή βίντεο", κάντε κλικ στο σύνδεσμο "Διεύθυνση URL ροής" και σημειώστε τη διεύθυνση που σας παρουσιάζει. Θα το χρειαστείτε αργότερα εάν σκοπεύετε να ρυθμίσετε τη διεπαφή με τον ίδιο τρόπο που έκανα εγώ.

Υπάρχουν πολλοί τρόποι για να ελέγξετε τις καρφίτσες GPIO. Για αυτό το έργο, χρησιμοποίησα το WiringPi, για να το εγκαταστήσω, χρησιμοποιήστε τις οδηγίες στον ιστότοπο:

wiringpi.com/download-and-install/

Or απλώς εκδώστε τις ακόλουθες εντολές στο Pi σας:

wget https://lion.drogon.net/wiringpi-2.50-1.debsudo dpkg -i wiringpi-2.50-1.deb gpio -v gpio readall

Αυτό θα σας δώσει μια λίστα με το τι συμβαίνει με τις καρφίτσες GPIO.

Εάν χρησιμοποιείτε τις ακίδες 4 και 17 (στο σχήμα αρίθμησης BCM), μπορείτε να δοκιμάσετε τις συνδέσεις σας με τις ακόλουθες εντολές. Σημειώστε ότι η ρύθμιση του πείρου LOW θα ενεργοποιήσει τα ρελέ εάν χρησιμοποιείτε αυτήν την ενότητα Sainsmart. Τα δικά σας μπορεί να είναι διαφορετικά και θα πρέπει να προσαρμοστείτε σε αυτό. Κατά την εκτέλεση αυτών των εντολών, θα πρέπει να ακούτε τα ρελέ να κάνουν κλικ στη θέση τους και να ανάβουν τα LED.

gpio -g λειτουργία 17 έξω

gpio -g εγγραφή 17 0 gpio -g εγγραφή 1 1 gpio -g λειτουργία 4 out gpio -g εγγραφή 4 0 gpio -g εγγραφή 4 1

Εντάξει, τώρα μπορούμε να προχωρήσουμε στη δημιουργία του UI.

Βήμα 4: Δημιουργία της διεπαφής

Κάνοντας τη διεπαφή
Κάνοντας τη διεπαφή

Χρησιμοποίησα apache και PHP. Ωραίο και απλό, τίποτα πολύ φανταχτερό. Για άλλη μια φορά, έχει εξηγηθεί καλύτερα αλλού, οπότε απλώς ακολουθήστε τις οδηγίες που βρίσκονται εδώ:

www.raspberrypi.org/documentation/remote-a…

Η "ρίζα" του διακομιστή ιστού σας, από προεπιλογή, είναι στο/var/www/html/με προεπιλεγμένο index.html που σας δίνει πληροφορίες σχετικά με τον διακομιστή ιστού σας. Θα αντικαταστήσετε αυτό το index.html, ώστε να μπορείτε είτε να το διαγράψετε είτε να το μετονομάσετε σε κάτι άλλο όπως index.copy. Έκανα επίσης τον χρήστη "pi" κάτοχο του καταλόγου html, για να είμαι τεμπέλης για τα δικαιώματα. Τέλος, δημιούργησα έναν κατάλογο για την αποθήκευση των εικόνων μου, εκ των οποίων υπάρχουν δύο. Ένα που είναι απλώς ανόητο σχόλιο ότι πατήθηκε ένα κουμπί και ένα άλλο που μπορεί να χρησιμοποιηθεί για ένα εικονίδιο στην αρχική οθόνη του τηλεφώνου.

pi@garagedoor: ~ $ cd/var/www/html/

pi@garagedoor:/var/www/html $ sudo chown pi.pi@garagedoor:/var/www/html $ mv index.html index.copy pi@garagedoor:/var/www/html $ mkdir εικόνες

Υπάρχουν άπειροι τρόποι για να δημιουργήσετε έναν ιστότοπο, αλλά επέλεξα να τον διατηρήσω όσο το δυνατόν πιο απλό και εύκολο με βάση το σύνολο δεξιοτήτων ΜΟΥ. Ως εκ τούτου, PHP, αφού το γνωρίζω. Εάν είστε γκουρού python ή κάποια άλλη γλώσσα δέσμης ενεργειών, μη διστάσετε να το χρησιμοποιήσετε.

Δημιούργησα μια σελίδα index.html "container" η οποία έχει στην πραγματικότητα δύο iframes που κάνουν όλη τη δουλειά. Ένα από τα iframes περιέχει τα κουμπιά/συνδέσμους που ενεργοποιούν πραγματικά τα ρελέ μέσω GPIO και ένα άλλο iframe που εμφανίζει το βίντεο. Περιέχει επίσης συνδέσμους προς μια εικόνα-p.webp

Το iframe index.html που περιέχει τα κουμπιά έχει ως περιεχόμενο το αρχείο buttons.html. (αστείο πώς λειτουργεί, ε;) Και οι δύο σύνδεσμοι στο button.html οδηγούν σε action.php με μοναδική τιμή μεταβλητής GET. Με βάση την τιμή που πέρασε, το action.php είτε θα ενεργοποιήσει την πόρτα είτε το κουμπί φωτισμού. Μπορείτε να λάβετε τον κώδικα HTML και PHP από το github μου:

Τοποθετήστε όλο το HTML και την PHP στον ριζικό κατάλογο (/var/www/html/), ενημερώστε τον κώδικα όπου χρειάζεται με το όνομα της εικόνας που μπορεί να χρησιμοποιείτε για επιβεβαίωση με το πάτημα κουμπιού και τη διεύθυνση της ροής βίντεο. Θυμάστε όταν σας είπα ότι το χρειάζεστε, στο προηγούμενο βήμα;

Βήμα 5: Δοκιμάστε το

Εντάξει, τώρα που τα έχετε όλα ενσύρματα και εγκατεστημένα, όλα λειτουργούν τέλεια στην πρώτη δοκιμή, σωστά; Γλυκός!

Συνιστάται: