Sommario:
- Passaggio 1: configurare e testare l'hardware
- Passaggio 2: configurazione del server Web
- Passaggio 3: il codice PHP e gli script Web
- Passaggio 4: conclusione
Video: R Pi - Telecomando PA e sistema di illuminazione: 4 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Questo è un semplice progetto per fare annunci audio e accendere e spegnere le luci su un PI in remoto da un browser web. Quindi ecco cosa ti serve:
1) Raspberry Pi con Apache e PhP preinstallati. Ho usato un vecchio Pi v1 che avevo in giro. Presumo che tu lo abbia connesso alla tua rete domestica tramite Wi-Fi o Ethernet.
2) Altoparlanti audio che possono essere collegati al Pi tramite la connessione dell'altoparlante di uscita. Ho usato un vecchio set di altoparlanti di un antico impianto stereo.
3) Set di luci per l'albero di Natale - Ho comprato il mio da Poundland.
4) Morsetti a coccodrillo e cavi breadboard per collegare/testare il Pi agli altoparlanti e alle luci. (vedi 7)
5) Pc o laptop con emulatore di terminale Putty per accedere al Raspberry Pi
6) Filo termoretraibile
7) Pistola ad aria calda per collegare altoparlanti e cavi di illuminazione
L'idea di base è che utilizzo un modulo web per fare annunci a distanza attraverso i miei altoparlanti e anche per accendere e spegnere le luci. Uso script PHP che a loro volta eseguono Espeak per il bit di sintesi vocale e comandi GPIO per le luci. Presumo che tu sappia come installare Apache e PhP sul tuo Raspberry Pi. È molto ben documentato.
Ho cercato di mantenere questo basso costo e quindi ho utilizzato un vecchio altoparlante del sistema stereo che avevo, e dopo aver rimosso le connessioni e scoperto i cavi, l'ho collegato a un vecchio cavo microfonico che avevo anche tagliato. Questo significava che mentre il il volume dell'altoparlante era inferiore a quello di un altoparlante alimentato esternamente, potevo alimentare tutto dal Raspberry Pi. Lo stesso valeva per le luci. Ho rimosso da loro la scatola dell'alimentatore da 3,3 V, ho esposto i fili e li ho collegati al Pi utilizzando connettori breadboard femmina / maschio. Ho collegato tutti questi con clip a coccodrillo.
Dopo il test e la convalida, in seguito ho collegato tutti i fili con un filo termoretraibile utilizzando una pistola ad aria calda.
Passaggio 1: configurare e testare l'hardware
Ho alimentato il Pi e ho collegato gli altoparlanti al jack di uscita audio del Pi. Ho collegato le luci collegando un'estremità a GPIO17 (6° pin in basso sulla colonna interna) e GND (3° pin in basso sulla colonna esterna) - vedi la foto sopra. SI PREGA DI NOTARE CHE HO UTILIZZATO UNA versione PI 1 QUINDI SI PREGA DI CAMBIARE I PIN DI CONSEGUENZA SE SI UTILIZZA UNA VERSIONE SUCCESSIVA DEL PI.
Sopra sono mostrati il cavo termoretraibile e la pistola ad aria calda per il collegamento dei cavi dell'altoparlante e dell'illuminazione
Successivamente, con tutto acceso, ho effettuato l'accesso al Pi utilizzando Putty dal mio laptop Windows. Per trovare l'indirizzo IP del Pi, apri l'indirizzo IP del tuo router sul tuo browser web (di solito è qualcosa come 192.168.1.254) che mostrerà l'elenco dei dispositivi collegati, incluso il nome host del Pi e l'indirizzo IP. Puoi usare uno di questi per accedere a Putty, ma di solito uso l'indirizzo IP perché ho un numero di PI. In alternativa, puoi accedere a Putty provando un nome host come pi o raspberrypi. Quando richiesto su Putty per il nome utente e la password, provare pi/raspberry che sono i valori predefiniti. (UTILIZZARE I DEFAULT È MOLTO INSICURO E TI LASCIA APERTO ALL'ATTACCO DEGLI HACKER ANCHE SE SU UNA RETE PRIVATA). Nella mia esperienza, i programmi Pi, le librerie Espeak e GPIO sono installati per impostazione predefinita sulla maggior parte delle immagini Pi.
Ok, quando accedi alla riga di comando sul RaspberryPi prova i seguenti comandi - sudo alsamixer che dovrebbe rivelare i controlli della scheda audio - se hai un altoparlante passivo, come ho usato io, dovrai aumentare il volume al massimo. Quindi, accendi le luci
sudo /usr/local/bin/gpio -g mode 17 outsudo /usr/local/bin/gpio -g write 17 1
poi spegni le luci
(NB per qualsiasi problema prova solo sudo gpio ecc. - controlla anche se gpio è installato digitando gpio -v - se hai bisogno di installarlo dai un'occhiata a
sudo /usr/local/bin/gpio -g write 17 0
Ora prova che espeak funziona
~ $ sudo espeak "questo è un test"
Raramente ho avuto problemi con Espeak, ma ho riscontrato problemi quando il volume di Alsamixer è basso e talvolta altri programmi hanno bloccato la scheda audio. Devi eseguire ps -ef e vedere quali altri processi multimediali sono in esecuzione. Puoi usare qualcosa come sudo kill -9 $(sudo ps aux | sudo grep -v grep | sudo grep mplayer | sudo awk '{print $2}') per ucciderli - Lo useremo più avanti nello script PHP
Passaggio 2: configurazione del server Web
Ci sono una serie di passaggi che dobbiamo eseguire
1) Trova il proprietario del servizio web / server apache2 - esegui sudo ps aux | egrep '(apache|httpd)' e dovresti vedere www-data2) aggiungi www-data al gruppo sudo - esegui sudo nano /etc/sudoers --- aggiungi la riga www-data ALL=(ALL) NOPASSWD: ALL
3) aggiungi www-data al gruppo audio - sudo adduser www-data audio
4) Un passaggio facoltativo è creare un file phpinfo che ti dica tutte le funzioni PHP che hai e la posizione di
il file conf se vuoi cambiare le cose. Ad esempio, alcune versioni di PHP bloccano la funzione shell_exec() di cui abbiamo bisogno per eseguire programmi a riga di comando come Espeak dal server web. Ecco come impostare phpinfo..
Vai alla tua directory web predefinita di solito /var/www o /var/www/html….. è quella con il file index.html e digita sudo nano phpinfo.php quindi digita quanto segue nell'editor nano e premi control O per salva ed esci
Non dimenticare di renderlo eseguibile digitando sudo chmod 755 phpinfo.php - Per vederlo, apri il seguente URL nel tuo browser web usando il tuo hostname invece del mio, ad esempio raspberrypi -
?>
Passaggio 3: il codice PHP e gli script Web
Ho usato due programmi qui: uno per il modulo web (espeak_form.php) e l'altro che elabora i dati del modulo (my_espeak.php) li ho inclusi sopra come file di testo e per trasferirli sul tuo Pi, usando Putty crea entrambi php file e quindi taglia e incolla dai rispettivi file di testo mostrati sopra
pi@raspberrypi /var/www $ sudo nano /var//www/my_espeak.php
pi@raspberrypi /var/www $ sudo nano /var//www/espeak_form.php
Ricordati di renderli eseguibili digitando sudo chmod 755 *.php
Lo script PHP del modulo web (espeak_form.php) che ho scritto non vincerà alcun premio per il design ma ha 2 moduli secondari. Uno per fare l'annuncio (text to speech) e l'altro modulo è usato per accendere e spegnere le luci. Il sottomodulo espeak consente di selezionare diversi accenti, una voce femminile e una funzione di sussurro, Il cuore di my_espeak.php è l'uso della funzione php - shell_exec(). Come puoi vedere, questo consente a PHP di eseguire comandi Linux senza la necessità di altre librerie, come dovresti dire in Python.
Passaggio 4: conclusione
Questa è una soluzione ragionevolmente complessa in quanto stai utilizzando molti elementi dell'ambiente Pi, ad esempio PHP, funzioni della riga di comando, Apache, GPIO ecc. Spero che illustri cosa puoi fare con i PI in particolare e IOT in generale. Esistono molti altri modi per raggiungere questo obiettivo e puoi persino controllarlo da Internet se comprendi il port forwarding, il firewall e/o la VPN. Spero vi sia piaciuto, ma ecco il mio disclaimer:
NON POSSO GARANTIRE CHE QUESTO È UN SISTEMA SICURO O PROTETTO E PERTANTO SI PREGA DI NON UTILIZZARLO PER SCOPI CHE COMPRENDONO IL TRATTAMENTO DI DATI PRIVATI, PERSONALI O COMMERCIALMENTE SENSIBILI. INOLTRE, COLLEGATE I VOSTRI CAVI IN SICUREZZA E SE SI UTILIZZANO COLLEGAMENTI TEMPORANEI, AD ES. QUINDI LE CLIP A COCCODRILLO NON LASCIANO IL SISTEMA INCUSTODITO NÉ UTILIZZARLO IN AMBIENTI DIFFICILI.
Questo è un modo fantastico per imparare molto sull'IOT e ricordare prima di pensare alle applicazioni commerciali che utilizzano metodi come questo. Il Raspberry Pi è buono quanto la sua scheda SD. Direi un anno di utilizzo normale rispetto ad alcuni server che ho usato che hanno funzionato per più di 10 anni.
Comunque, buona fortuna.
Consigliato:
Luce LED da scrivania intelligente - Illuminazione intelligente con Arduino - Area di lavoro Neopixel: 10 passaggi (con immagini)
Luce LED da scrivania intelligente | Illuminazione intelligente con Arduino | Neopixels Workspace: Al giorno d'oggi trascorriamo molto tempo a casa, studiando e lavorando virtualmente, quindi perché non rendere il nostro spazio di lavoro più grande con un sistema di illuminazione personalizzato e intelligente basato su Arduino e LED Ws2812b. Qui ti mostro come costruire il tuo Smart Luce LED da scrivania che
Orologio da parete esplosivo fai-da-te con illuminazione di movimento: 20 passaggi (con immagini)
Orologio da parete esplosivo fai-da-te con illuminazione di movimento: in questo tutorial / video ti mostrerò passo dopo passo come realizzare un orologio da parete dall'aspetto creativo e unico con un sistema di illuminazione del movimento integrato. Questa idea di design dell'orologio piuttosto unica è orientata a rendere l'orologio più interattivo . Quando cammino
Supporto per cuffie semplice fai-da-te con illuminazione sottile: 19 passaggi (con immagini)
Supporto per cuffie semplice fai-da-te con illuminazione sottile: in questo tutorial, ti mostrerò come realizzare un supporto per cuffie semplice e compatto con un'illuminazione sottile sul retro, utilizzando materiali economici e strumenti di base. STRUMENTI DI CUI HAI BISOGNO: trapano a percussione cacciavite Morsetti Saldatore
Crea la tua illuminazione ambientale con Raspberry Pi Zero: 5 passaggi (con immagini)
Crea la tua illuminazione ambientale con il Raspberry Pi Zero: in questo progetto ti mostrerò come combinare un Raspberry Pi Zero con un paio di parti complementari per aggiungere un effetto di illuminazione ambientale alla tua TV che migliora l'esperienza visiva. Iniziamo
Crea il tuo impianto fotografico aereo con illuminazione a LED!: 5 passaggi (con immagini)
Crea il tuo impianto fotografico aereo con illuminazione a LED!: In questo progetto ti mostrerò come creare un semplice impianto fotografico aereo. Il rig non solo può tenere la telecamera proprio sopra l'oggetto che si desidera filmare, ma dispone anche di un monitor per osservare il filmato e di un'illuminazione a LED per l