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

R Pi -Τηλεχειριστήριο PA και σύστημα φωτισμού: 4 βήματα (με εικόνες)
R Pi -Τηλεχειριστήριο PA και σύστημα φωτισμού: 4 βήματα (με εικόνες)

Βίντεο: R Pi -Τηλεχειριστήριο PA και σύστημα φωτισμού: 4 βήματα (με εικόνες)

Βίντεο: R Pi -Τηλεχειριστήριο PA και σύστημα φωτισμού: 4 βήματα (με εικόνες)
Βίντεο: Νέα Raspberry Pi 3 Tutorial - Πώς να δημιουργήσει για Gaming & Entertainment Έργα 2024, Νοέμβριος
Anonim
R Pi -Τηλεχειριστήριο PA και σύστημα φωτισμού
R Pi -Τηλεχειριστήριο PA και σύστημα φωτισμού
R Pi -Τηλεχειριστήριο PA και σύστημα φωτισμού
R Pi -Τηλεχειριστήριο PA και σύστημα φωτισμού
R Pi -Τηλεχειριστήριο PA και σύστημα φωτισμού
R Pi -Τηλεχειριστήριο PA και σύστημα φωτισμού

Αυτό είναι ένα απλό έργο για την πραγματοποίηση ηχητικών ανακοινώσεων και την ενεργοποίηση και απενεργοποίηση των φώτων σε ένα 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

Ρύθμιση του διακομιστή Web
Ρύθμιση του διακομιστή Web
Ρύθμιση του διακομιστή Web
Ρύθμιση του διακομιστή 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 και τα σενάρια ιστού

Ο κώδικας PHP και τα σενάρια ιστού
Ο κώδικας 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+ χρόνια.

Τέλος πάντων, καλή επιτυχία.

Συνιστάται: