Sommario:

R Pi - Telecomando PA e sistema di illuminazione: 4 passaggi (con immagini)
R Pi - Telecomando PA e sistema di illuminazione: 4 passaggi (con immagini)

Video: R Pi - Telecomando PA e sistema di illuminazione: 4 passaggi (con immagini)

Video: R Pi - Telecomando PA e sistema di illuminazione: 4 passaggi (con immagini)
Video: Ucraino continua a divertirsi in spiaggia nonostante le bombe russe a Berdyansk 2024, Novembre
Anonim
R Pi - Sistema PA e illuminazione con telecomando
R Pi - Sistema PA e illuminazione con telecomando
R Pi - Sistema PA e illuminazione con telecomando
R Pi - Sistema PA e illuminazione con telecomando
R Pi - Sistema PA e illuminazione con telecomando
R Pi - Sistema PA e illuminazione con telecomando

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

Configurare e testare l'hardware
Configurare e testare l'hardware
Configurare e testare l'hardware
Configurare e testare l'hardware
Configurare e testare l'hardware
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

Configurazione del server Web
Configurazione del server Web
Configurazione del server Web
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

Il codice PHP e gli script Web
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: