Πίνακας περιεχομένων:
- Βήμα 1: Ρυθμίστε και δοκιμάστε το υλικό
- Βήμα 2: Ρύθμιση του διακομιστή Web
- Βήμα 3: Ο κώδικας PHP και τα σενάρια ιστού
- Βήμα 4: Συμπέρασμα
Βίντεο: R Pi -Τηλεχειριστήριο PA και σύστημα φωτισμού: 4 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Αυτό είναι ένα απλό έργο για την πραγματοποίηση ηχητικών ανακοινώσεων και την ενεργοποίηση και απενεργοποίηση των φώτων σε ένα PI από απόσταση από ένα πρόγραμμα περιήγησης ιστού. Να λοιπόν τι χρειάζεστε:
1) Raspberry Pi με προεγκατεστημένο Apache και PhP. Χρησιμοποίησα ένα παλιό Pi v1 που είχα ξαπλωμένο. Υποθέτω ότι το έχετε συνδέσει στο οικιακό σας δίκτυο μέσω wi-fi ή ethernet.
2) Ηχεία (α) ήχου που μπορούν να συνδεθούν στο Pi μέσω της σύνδεσης ηχείων εξόδου. Χρησιμοποίησα ένα παλιό σετ ηχείων από ένα αρχαίο στερεοφωνικό σύστημα.
3) Σετ φώτα Χριστουγεννιάτικου δέντρου - αγόρασα το δικό μου από το Πάουντλαντ.
4) Κροκοδείλια συνδετήρες και καλώδια ψωμιού για σύνδεση / δοκιμή του Pi στα ηχεία και τα φώτα. (Βλέπε 7)
5) Υπολογιστής ή φορητός υπολογιστής με εξομοιωτή τερματικού Putty για πρόσβαση στο Raspberry Pi
6) Σύρμα συρρίκνωσης θερμότητας
7) Πιστόλι θερμού αέρα για σύνδεση καλωδίων ηχείου και φωτισμού
Η βασική ιδέα είναι ότι χρησιμοποιώ μια φόρμα ιστού για να κάνω απομακρυσμένες ανακοινώσεις μέσω των ηχείων μου και επίσης να ανάβω και να σβήνω τα φώτα. Χρησιμοποιώ σενάρια PHP τα οποία με τη σειρά τους εκτελούν το Espeak για το κείμενο σε ομιλία bit και εντολές GPIO για τα φώτα. Υποθέτω ότι γνωρίζετε πώς να εγκαταστήσετε το Apache και το PhP στο Raspberry Pi σας. Είναι πολύ καλά τεκμηριωμένο.
Προσπάθησα να κρατήσω αυτό το χαμηλό κόστος και έτσι χρησιμοποίησα ένα παλιό ηχείο στερεοφωνικού συστήματος που είχα, και αφού αφαίρεσα τις συνδέσεις και εξέθεσα τα καλώδια, το συνέδεσα σε ένα παλιό καλώδιο μικροφώνου το οποίο επίσης είχα κόψει. Αυτό σήμαινε ότι ενώ Η ένταση του ηχείου ήταν χαμηλότερη από ένα εξωτερικά ηχείο, μπορούσα να τροφοδοτήσω τα πάντα από το Raspberry Pi. Το ίδιο ίσχυε και για τα φώτα. Αφαίρεσα το κουτί τροφοδοσίας 3.3v από αυτά, εξέθεσα τα καλώδια και τα συνέδεσα στο Pi χρησιμοποιώντας θηλυκές / αρσενικές συνδέσεις σανίδων. Όλα αυτά τα συνέδεσα με κλιπ κροκοδείλων.
Μετά από δοκιμές και επικύρωση, συνέδεσα αργότερα όλα τα καλώδια με σύρμα συρρίκνωσης θερμότητας χρησιμοποιώντας πιστόλι θερμού αέρα.
Βήμα 1: Ρυθμίστε και δοκιμάστε το υλικό
Τροφοδοτώ το Pi και συνδέω τα ηχεία στην υποδοχή εξόδου ήχου του Pi. Συνδέω τα φώτα συνδέοντας το ένα άκρο στο GPIO17 (6η ακίδα κάτω στην εσωτερική στήλη) και GND (3η καρφίτσα κάτω στην εξωτερική στήλη) - δείτε την παραπάνω φωτογραφία. ΠΑΡΑΚΑΛΩ ΣΗΜΕΙΩΣΤΕ ΟΤΙ ΧΡΗΣΙΜΟΠΟΙΗΣΑ ΠΕΡΙΣΣΟΤΕΡΑ Έκδοση 1, ΑΛΛΑΓΑΤΕ ΑΛΛΑΓΑ ΤΟΥΣ ΑΚΡΙΒΕΣ ΑΝ ΕΧΕΤΕ ΧΡΗΣΙΜΟΠΟΙΗΣΕΤΕ ΤΕΛΕΥΤΑΙΑ ΕΚΔΟΣΗ ΤΟΥ ΠΙ.
Πάνω φαίνονται τα πιστόλια Heat Shrink Wire και Hot Air για σύνδεση καλωδίων ηχείων και φωτισμού
Στη συνέχεια, με όλα ενεργοποιημένα, συνδέθηκα στο Pi χρησιμοποιώντας Putty από το φορητό υπολογιστή Windows. Για να βρείτε τη διεύθυνση IP του Pi ανοίξτε τη διεύθυνση IP του δρομολογητή σας στο πρόγραμμα περιήγησής σας (συνήθως είναι κάτι σαν 192.168.1.254), η οποία θα εμφανίζει τη λίστα των συνδεδεμένων συσκευών, συμπεριλαμβανομένου του ονόματος και της διεύθυνσης IP του κεντρικού υπολογιστή Pi. Μπορείτε να χρησιμοποιήσετε οποιοδήποτε από αυτά για να συνδεθείτε στο Putty, αλλά συνήθως χρησιμοποιώ τη διεύθυνση IP επειδή έχω έναν αριθμό PI. Εναλλακτικά, μπορείτε να συνδεθείτε στο Putty δοκιμάζοντας ένα όνομα κεντρικού υπολογιστή όπως pi ή raspberrypi. Όταν σας ζητηθεί στο Putty για το όνομα χρήστη και τον κωδικό πρόσβασης δοκιμάστε pi/raspberry που είναι οι προεπιλεγμένες. (Η ΧΡΗΣΗ ΑΠΕΝΕΡΓΟΠΟΙΗΣΕΩΝ ΕΙΝΑΙ ΠΟΛΥ ΑΣΦΑΛΗ ΚΑΙ ΣΑΣ ΑΦΗΣΕΙ ΝΑ ΑΝΟΙΞΕΤΕ ΝΑ ΕΠΙΘΕΣΕΤΕ ΑΠΟ ΧΑΚΕΡ ΚΑΙ ΑΝ ΣΕ ΙΔΙΩΤΙΚΟ ΔΙΚΤΥΟ). Από την εμπειρία μου, τα προγράμματα Pi, οι βιβλιοθήκες Espeak και GPIO είναι εγκατεστημένα από προεπιλογή στις περισσότερες εικόνες Pi.
Εντάξει, όταν αποκτάτε πρόσβαση στη γραμμή εντολών στο RaspberryPi δοκιμάστε τις ακόλουθες εντολές - sudo alsamixer που αποκαλύπτουν τα στοιχεία ελέγχου της κάρτας ήχου - εάν έχετε παθητικό ηχείο, όπως έχω χρησιμοποιήσει, θα πρέπει να αυξήσετε την ένταση στο μέγιστο. Στη συνέχεια, ανάψτε τα φώτα
sudo/usr/local/bin/gpio -g λειτουργία 17 outsudo/usr/local/bin/gpio -g γράψτε 17 1
τότε, σβήστε τα φώτα
(ΣΗΜΕΙΩΣΗ τυχόν προβλήματα απλά δοκιμάστε το sudo gpio κ.λπ. -ελέγξτε επίσης εάν το gpio είναι εγκατεστημένο πληκτρολογώντας gpio -v -εάν χρειάζεται να το εγκαταστήσετε ρίξτε μια ματιά στη διεύθυνση
sudo/usr/local/bin/gpio -g γράψτε 17 0
Τώρα δοκιμάστε ότι το espeak λειτουργεί
su $ sudo espeak "αυτό είναι ένα τεστ"
Σπάνια είχα προβλήματα με το Espeak αλλά αντιμετώπισα προβλήματα όταν η ένταση του Alsamixer είναι χαμηλή και μερικές φορές άλλα προγράμματα έχουν πιάσει την κάρτα ήχου. Πρέπει να εκτελέσετε το ps -ef και να δείτε ποιες άλλες διαδικασίες πολυμέσων εκτελούνται. Μπορείτε να χρησιμοποιήσετε κάτι σαν sudo kill -9 $ (sudo ps aux | sudo grep -v grep | sudo grep mplayer | sudo awk '{print $ 2}') για να τα σκοτώσετε -το χρησιμοποιούμε αργότερα στο σενάριο PHP
Βήμα 2: Ρύθμιση του διακομιστή Web
Υπάρχουν πολλά βήματα που πρέπει να κάνουμε
1) Βρείτε τον κάτοχο της διαδικτυακής υπηρεσίας / διακομιστή apache2 - εκτελέστε το sudo ps aux | egrep '(apache | httpd)' και θα πρέπει να δείτε www-data2) προσθέστε www-data στην ομάδα sudo-εκτελέστε sudo nano /etc /sudoers --- προσθέστε γραμμή www-data ALL = (ALL) NOPASSWD: ALL
3) προσθέστε www-data στην ομάδα ήχου-sudo adduser www-data audio
4) Ένα προαιρετικό βήμα είναι να δημιουργήσετε ένα αρχείο phpinfo που θα σας ενημερώνει για όλες τις λειτουργίες PHP που έχετε και τη θέση του
το αρχείο conf πρέπει να θέλετε να αλλάξετε πράγματα. Για παράδειγμα, ορισμένες εκδόσεις της PHP αποκλείουν τη συνάρτηση shell_exec () την οποία χρειαζόμαστε για την εκτέλεση προγραμμάτων γραμμής εντολών όπως το Espeak από τον διακομιστή ιστού. Δείτε πώς ρυθμίζετε το phpinfo..
Μεταβείτε στον προεπιλεγμένο κατάλογο ιστού συνήθως/var/www ή/var/www/html….. είναι αυτός με το αρχείο index.html και πληκτρολογήστε sudo nano phpinfo.php, στη συνέχεια πληκτρολογήστε τα ακόλουθα στον επεξεργαστή nano και πατήστε το κουμπί O για αποθήκευση και έξοδος
Μην ξεχάσετε να το κάνετε εκτελέσιμο πληκτρολογώντας sudo chmod 755 phpinfo.php - Για να το δείτε, ανοίξτε την ακόλουθη διεύθυνση URL στο πρόγραμμα περιήγησης ιστού χρησιμοποιώντας το όνομα κεντρικού υπολογιστή σας αντί για το δικό μου, δηλαδή raspberrypi -
?>
Βήμα 3: Ο κώδικας PHP και τα σενάρια ιστού
Έχω χρησιμοποιήσει δύο προγράμματα εδώ - το ένα για την διαδικτυακή φόρμα (espeak_form.php) και το άλλο που επεξεργάζεται τα δεδομένα φόρμας (my_espeak.php) Έχω συμπεριλάβει αυτά τα παραπάνω ως αρχεία κειμένου και για να τα μεταφέρω στο Pi σας, χρησιμοποιώντας το Putty, δημιουργήστε και τα δύο php αρχεία και στη συνέχεια κόψτε και επικολλήστε από τα αντίστοιχα αρχεία κειμένου που εμφανίζονται παραπάνω
pi@raspberrypi/var/www $ sudo nano /var//www/my_espeak.php
pi@raspberrypi/var/www $ sudo nano /var//www/espeak_form.php
Θυμηθείτε να τα κάνετε εκτελέσιμα πληκτρολογώντας sudo chmod 755 *.php
Η διαδικτυακή φόρμα PHP script (espeak_form.php) που έγραψα δεν θα κερδίσει κανένα βραβείο σχεδίασης αλλά έχει 2 δευτερεύουσες φόρμες. Το ένα για να κάνει την ανακοίνωση (κείμενο σε ομιλία) και το άλλο από το άλλο χρησιμοποιείται για να αλλάξει τα φώτα ένα και σβηστό. Η υπο -φόρμα espeak σάς επιτρέπει να επιλέξετε διαφορετικές προφορές, μια γυναικεία φωνή και μια λειτουργία ψίθυρου, Ο πυρήνας του my_espeak.php είναι η χρήση της συνάρτησης php - shell_exec (). Όπως μπορείτε να δείτε, αυτό επιτρέπει στην PHP να εκτελεί εντολές Linux χωρίς να χρειάζεται άλλες βιβλιοθήκες, όπως θα έπρεπε να πείτε στην Python.
Βήμα 4: Συμπέρασμα
Αυτή είναι μια αρκετά σύνθετη λύση στο ότι χρησιμοποιείτε πολλά στοιχεία του περιβάλλοντος Pi, δηλ. PHP, λειτουργίες γραμμής, Apache, GPIO κ.λπ. Ελπίζω ότι απεικονίζει τι μπορείτε να κάνετε με PI ειδικά και IOT γενικά. Υπάρχουν πολλοί άλλοι τρόποι για να το επιτύχετε αυτό και μπορείτε ακόμη και να το ελέγξετε από το διαδίκτυο εάν καταλαβαίνετε την προώθηση θυρών, το τείχος προστασίας και/ ή το VPN. Ελπίζω να σας άρεσε αλλά εδώ είναι η αποποίηση ευθύνης μου:
ΔΕΝ ΜΠΟΡΩ ΝΑ ΕΓΓΥΗΣΩ ΟΤΙ ΑΥΤΟ ΕΙΝΑΙ ΑΣΦΑΛΗ ΚΑΙ ΑΣΦΑΛΗ ΣΥΣΤΗΜΑ ΚΑΙ ΕΠΟΜΕΝΟΝ ΜΗΝ ΤΟ ΧΡΗΣΙΜΟΠΟΙΗΣΕΤΕ ΓΙΑ ΣΚΟΠΟΥΣ ΠΟΥ ΠΕΡΙΛΑΜΒΑΝΕΙ ΕΠΕΞΕΡΓΑΣΙΑ ΙΔΙΩΤΙΚΟΥ, ΠΡΟΣΩΠΙΚΟΥ ΕΜΠΟΡΙΚΟΥ ΕΥΑΙΣΘΗΤΟΥ ΔΕΔΟΜΕΝΟΥ. ΕΠΙΣΗΣ, ΣΥΝΔΕΣΤΕ ΤΑ ΚΑΛΩΔΙΑ ΣΑΣ ΑΣΦΑΛΕΙΑ ΚΑΙ ΑΝ ΧΡΗΣΙΜΟΠΟΙΕΙΤΕ ΠΡΟΣΩΡΙΝΕΣ ΣΥΝΔΕΣΕΙΣ, η E. G. ΚΡΟΚΟΔΥΛΙΚΑ ΚΛΕΙΠΙΑ ΤΟΤΕ ΜΗΝ ΑΦΗΝΕΤΕ ΤΟ ΣΥΣΤΗΜΑ ΑΠΟΣΤΟΛΗ Η ΧΡΗΣΗ ΣΕ ΠΕΡΙΒΑΛΛΟΝ ΣΤΡΑΒΟΥ.
Αυτός είναι ένας φανταστικός τρόπος για να μάθετε πολλά για το IOT και να θυμηθείτε πριν σκεφτείτε εμπορικές εφαρμογές χρησιμοποιώντας μεθόδους όπως αυτή. Το Raspberry Pi είναι τόσο καλό όσο η κάρτα SD του. Θα έλεγα ένα έτος σε κανονική χρήση σε σύγκριση με ορισμένους διακομιστές που χρησιμοποίησα και έτρεχαν για 10+ χρόνια.
Τέλος πάντων, καλή επιτυχία.
Συνιστάται:
Ελεγχόμενο σύστημα ανατροφοδότησης υγρασίας εδάφους Σύστημα άρδευσης στάγδην (ESP32 και Blynk): 5 βήματα
Soil Moisture Feedback Controlled Internet Connected Drip Irrigation System (ESP32 και Blynk): Ανησυχείτε για τον κήπο ή τα φυτά σας όταν πηγαίνετε σε μεγάλες διακοπές, ή ξεχάστε να ποτίζετε το φυτό σας καθημερινά. Λοιπόν, εδώ είναι η λύση Είναι ένα σύστημα ελέγχου της υγρασίας του εδάφους και παγκοσμίως συνδεδεμένο σύστημα άρδευσης στάγδην που ελέγχεται από το ESP32 στο μπροστινό μέρος του λογισμικού
Διόρθωση και βελτίωση νυχτερινού φωτισμού: 5 βήματα (με εικόνες)
Διορθώνοντας και βελτιώνοντας ένα νυχτερινό φως: Γεια σε όλους, Σήμερα στον πάγκο θεραπείας έχουμε αυτό το μικρό νυχτερινό φωτιστικό που ανήκει στην κόρη μου. Δεν λειτουργεί πλέον, οπότε θα προσπαθήσουμε να το διορθώσουμε και επίσης να το κάνουμε καλύτερο καθώς έχει τρομερό τρεμόπαιγμα. Αυτή η επισκευή ασχολείται με την τάση δικτύου. Σε περίπτωση λανθασμένης αντιμετώπισης
Αυτόματο σύστημα ενυδρείου φωτισμού και αντλίας με χρονοδιακόπτη Arduino και RTC: 3 βήματα
Αυτόματο σύστημα ενυδρείου φωτός και αντλίας με χρονοδιακόπτη Arduino και RTC: Ένα ενυδρείο μπορεί να μετατραπεί σε μηδενική παρέμβαση που απαιτεί αυτοσυντηρούμενο οικοσύστημα με λίγη προσοχή και τεχνολογία:) Για να χτίσετε αυτόματο σύστημα φωτισμού και αντλίας για ένα ενυδρείο, φυσικά ρυθμίστε ένα χειροκίνητο σύστημα πρώτα. Χρησιμοποίησα 2 προβολείς 50 W το καθένα και 1 6W
Δυναμικό κιβώτιο σκελετών φωτισμού LED και πλαίσιο για τέχνη :: 16 βήματα (με εικόνες)
Dynamic LED Lighting Shadow Box and Frame for Art :: Ο φωτισμός είναι μια σημαντική πτυχή της εικαστικής τέχνης. Και αν ο φωτισμός μπορεί να αλλάξει με την πάροδο του χρόνου μπορεί να γίνει μια σημαντική διάσταση της τέχνης. Αυτό το έργο ξεκίνησε με την παρακολούθηση μιας φωτεινής παράστασης και την εμπειρία του πώς ο φωτισμός θα μπορούσε να αλλάξει τελείως το
N: Πώς να φτιάξετε ένα γλυπτό πολυεπίπεδων ακρυλικών και LED με μεταβλητά επίπεδα φωτισμού: 11 βήματα (με εικόνες)
N: Πώς να φτιάξετε ένα γλυπτό πολυεπίπεδων ακρυλικών και LED με μεταβλητά επίπεδα φωτισμού: Εδώ μπορείτε να μάθετε πώς να κάνετε το δικό σας n όπως φτιάχτηκε για την έκθεση www.laplandscape.co.uk, επιμελημένη από την ομάδα τέχνης/σχεδιασμού Λαπωνία. Περισσότερες εικόνες μπορείτε να δείτε στο flickrΑυτή η έκθεση διαρκεί από Τετάρτη 26 Νοεμβρίου - Παρασκευή 12 Δεκεμβρίου 2008 συμπεριλαμβανομένων