Sommario:

Telecomando IR controllato da Amazon Echo: 11 passaggi (con immagini)
Telecomando IR controllato da Amazon Echo: 11 passaggi (con immagini)

Video: Telecomando IR controllato da Amazon Echo: 11 passaggi (con immagini)

Video: Telecomando IR controllato da Amazon Echo: 11 passaggi (con immagini)
Video: Come configurare la nuova app di Broadlink con Alexa 2024, Dicembre
Anonim
Telecomando IR controllato da Amazon Echo
Telecomando IR controllato da Amazon Echo

Il sistema Amazon Echo può controllare molti aspetti di una casa intelligente, ma una presa intelligente può solo accendersi e spegnersi. Molti dispositivi non si accendono istantaneamente semplicemente collegandoli e richiedono passaggi aggiuntivi, come premere i pulsanti su un telecomando o sul dispositivo fisico per accendersi o ottenere le impostazioni desiderate.

In questa guida, un Raspberry Pi Zero W sarà configurato per agire come un dispositivo domestico intelligente che può essere controllato da Amazon Echo e inviare tutti i comandi IR desiderati a un dispositivo quando richiesto per l'accensione o lo spegnimento.

In questo caso specifico, il Pi sarà configurato per apprendere i comandi IR di un telecomando dotato di un inserto per camino al quarzo a infrarossi "ClassicFlame 23II310GRA 23". Un LED IR verrà quindi utilizzato per inviare i comandi IR su richiesta, e infine il Pi configurato per emulare un dispositivo Philips Hue che può essere controllato da Echo.

Passaggio 1: materiali

Materiali
Materiali

Necessario:

  • Raspberry Pi Zero W
  • Scheda di memoria Micro SDHC Classe 10 da 4 GB o superiore (16 GB Esempio)
  • Micro USB
  • 1 LED IR
  • Adattatore di alimentazione MicroUSB (consigliato 2,1 ampere o superiore)
  • LED IR
  • Ricevitore IR VS/1838B
  • Resistenza da 100 ohm
  • Varie filo

Consigliato:

  • Jack per cuffie
  • Cavo per cuffie/audio da 1/8 di pollice
  • Transistor NPN 2N2222
  • Resistenza da 1k ohm
  • Custodia Rapsberry Pi Zero

Per completare la configurazione iniziale di un Raspberry Pi Zero W, saranno necessarie alcune periferiche aggiuntive, ma non saranno utilizzate a tempo pieno dal progetto completato

  • Adattatore da mini HDMI a HDMI: utilizzato per collegare Pi Zero W a una TV o un monitor con un cavo HDMI di dimensioni standard
  • Cavo USB OTG: utilizzato per convertire da micro-USB a porte USB di dimensioni standard per il collegamento di una tastiera e/o un mouse
  • Cavo HDMI: utilizzato per il collegamento alla TV o al monitor insieme a un adattatore per mini HDMI

I primi due articoli e una custodia sono inclusi vari kit di avvio Pi Zero, come ad esempio: MakerSpot Mega Kit

Passaggio 2: imposta Raspberry Pi

Il sito web di Raspberry Pi ha una guida eccellente per configurare Raspbian Stretch OS su un Raspberry Pi. Raccomando la versione Lite per un ingombro ridotto se questo è solo un progetto in esecuzione sul Pi. Se desideri avere più opzioni del sistema operativo in futuro o una configurazione più semplice, seguire le istruzioni per NOOBS ti consentirà di essere operativo in pochissimo tempo. Questa guida è basata su Raspbian, incluso in NOOBS

www.raspberrypi.org/learning/software-guide/

Una volta che Raspbian è in esecuzione, abilitare SSH per consentire le connessioni remote al dispositivo senza la necessità di collegare un monitor/tastiera/mouse direttamente al Pi. Se desideri avere opzionalmente l'accesso remoto alla GUI, puoi anche abilitare l'accesso VNC

www.raspberrypi.org/documentation/remote-access/ssh/

Si consiglia inoltre di impostare un IP statico sulla configurazione della rete wireless in modo che non cambi nel tempo. È possibile che l'IP non cambi se i nuovi dispositivi non sono regolarmente connessi alla rete wireless, ma configurandolo come statico si garantirà che non lo faccia.

www.circuitbasics.com/how-to-set-up-a-static-ip-on-the-raspberry-pi/

Passaggio 3: configurazione di LIRC

Configurazione di LIRC
Configurazione di LIRC
Configurazione di LIRC
Configurazione di LIRC
Configurazione di LIRC
Configurazione di LIRC
Configurazione di LIRC
Configurazione di LIRC

I seguenti passaggi sono altamente basati sulle eccellenti guide trovate qui:

alexba.in/blog/2013/01/06/setting-up-lirc-on-the-raspberrypi/https://camp.isaax.io/en/isaax-examples/ir-control-via- lirc-on-raspberry-pi-zero-w

Questa guida è basata su Rasbian Stretch e lirc 0.9.4c-9 Altre guide potrebbero essere basate su versioni precedenti e menzionare un file hardware.conf che non è più necessario con questa versione e successive. Ho anche scoperto che non è più necessario sui miei sistemi modificare il file /etc/modules. A questo punto, saranno necessarie ulteriori modifiche per la versione 4.19 del kernel che non sono attualmente documentate qui. Assicurati di essere su 4.14 per questo set di istruzioni

La libreria Linux Infrared Remote Control (LIRC) viene utilizzata per gestire la ricezione di comandi IR tramite il modulo ricevitore, salvarli in un file e quindi inviare i comandi quando desiderato tramite il LED IR.

Il primo passo è registrare i segnali IR dal nostro telecomando esistente utilizzando il ricevitore IR e salvarli in un file. Il ricevitore IR è necessario inizialmente solo per apprendere i segnali IR e quindi potrebbe essere rimosso, quindi potrebbe essere utilizzata una connessione temporanea.

Collega il ricevitore IR al Raspberry Pi. Utilizzare l'immagine allegata per identificare i pin VCC, GND e Signal. Utilizzo di una breadboard, cavi di collegamento o piegatura creativa dei pin alle seguenti connessioni

VCC si collega a 5 volt pinGND a un pin di terra Segnale al pin 23

Accendi e connettiti al Raspberry Pi aprendo il terminale sul dispositivo locale o creando una connessione SSH utilizzando un programma come Putty per Windows.

Le seguenti righe possono essere copiate e incollate nella sessione SSH. Aggiungeranno/modificano le righe ai vari file di configurazione richiesti per il funzionamento di lirc.

sudo apt update

sudo apt install -y lirc echo dtoverlay=lirc-rpi, gpio_in_pin=23, gpio_out_pin=22 | sudo tee -a /boot/config.txt sudo sed -i '/driver = */cdriver = default' /etc/lirc/lirc_options.conf sudo sed -i '/device = */cdevice = /dev/lirc0' / etc/lirc/lirc_options.conf sudo shutdown -r now

Attendi il riavvio del dispositivo e accedi di nuovo.

Opzionale: test ricevitore IR

Montare il dispositivo LIRC per confermare che qualsiasi input può essere ricevuto. Potrebbe essere necessario riavviare il Pi dopo che questo test è stato completato per renderlo disponibile per i passaggi successivi.

sudo systemctl stop lircd

mode2 -d /dev/lirc0Puntare un telecomando IR verso il ricevitore e premere un pulsante e assicurarsi che i dati vengano visualizzati sullo schermo CTRL+C per memorizzare

A questo punto, il programma LIRC è installato e siamo in grado di visualizzare le informazioni IR.

Passaggio 4: acquisizione di codici IR

Un profilo remoto può essere scaricato dal sito LIRC

lirc-remotes.sourceforge.net/remotes-table.html

e inserito in /etc/lirc/lircd.confg.d, oppure è possibile creare un profilo personalizzato con il proprio telecomando.

Durante questo processo, inserirai il nome della chiave/pulsante che stai registrando. Sono consentiti solo nomi validi, quindi esegui il comando seguente per visualizzare tutti i nomi disponibili

irrecord --list-namespace Esempio: ho usato il nome KEY_POWER quando ho registrato il pulsante di accensione sul telecomando e KEY_TIME quando ho registrato il pulsante del timer

Se vengono registrate più chiavi, consiglio di documentare i nomi delle chiavi utilizzati e il pulsante a cui sono associati, poiché potrebbe non esserci un nome perfetto per il pulsante da registrare. In questo modo sarà più facile fare riferimento in futuro.

Genera un file di configurazione remota

Crea un nuovo file di configurazione del controllo remoto (usando /dev/lirc0)

sudo systemctl stop lircd

cd ~ irrecord -d /dev/lirc0 Se riscontri un errore che dice impossibile decodificare i dati o qualcosa è andato storto, premi CTRL+C per annullare ed eseguire l'ultimo comando asirrecord -f -d /dev/lirc0questo forzerà l'esecuzione del record in modalità raw e dovrebbe consentire al processo di continua

Segui le indicazioni sullo schermo. Una volta che il sistema è stato inizializzato, inserisci il nome del telecomando che stai registrando (il file risultante sarà basato su questo nome), quindi inserisci il nome della chiave che stai per registrare, quindi premi il pulsante sul telecomando puntandolo verso il ricevitore fino a quando non viene richiesto il nome del pulsante successivo. Ripetere questo passaggio per ogni pulsante del telecomando che si desidera registrare.

Copia i tuoi nuovi file di configurazione nella directory lircd.conf.d e riavvia lirc

sudo cp ~/*.lircd.conf /etc/lirc/lircd.conf.d

sudo systemctl start lircd

A questo punto, i codici remoti sono stati registrati su un file.

Passaggio 5: jack per cuffie (opzionale)

Jack per cuffie (opzionale)
Jack per cuffie (opzionale)
Jack per cuffie (opzionale)
Jack per cuffie (opzionale)

Per rendere più modulari i cavi e modificare il Raspberry Pi, ho incollato a caldo un jack audio per cuffie da 1/8 di pollice alla custodia e ho collegato i cavi al jack. I cavi delle cuffie con la spina corrispondente sono stati utilizzati per collegare il LED IR, quindi questo cavo potrebbe essere instradato in una posizione poco appariscente per puntare al ricevitore IR del dispositivo che volevo collegare, ma potrebbe essere facilmente scollegato dal Pi senza bisogno di rimuoverlo tutti i fili.

Questo è puramente facoltativo, ma è tornato utile.

Passaggio 6: collegamento del LED IR (rapido)

Collegamento del LED IR (rapido)
Collegamento del LED IR (rapido)
Collegamento del LED IR (rapido)
Collegamento del LED IR (rapido)
Collegamento del LED IR (rapido)
Collegamento del LED IR (rapido)

Il collegamento del LED IR Emitting al Raspberry Pi può essere eseguito in diversi modi. Questo passaggio mostra il modo rapido in cui l'ho collegato, ma che ho scoperto in seguito può superare il limite di corrente sui pin del Pi. Finora non ho riscontrato alcun problema, ma un modo più ideale di connessione è descritto nel passaggio successivo

Calcola la resistenza necessaria per il tuo LED IR. https://ledcalculator.net/ può aiutarti a determinare il valore corretto del resistore se hai tutte le specifiche del tuo LED. In questo caso, la tensione del pin 22 è 3,3 volt, la caduta di tensione del LED è 1,2 volt, la corrente nominale è 20 ma ed è stato utilizzato 1 LED, per cui è necessario un valore di resistenza da 110 ohm. Ho usato un singolo resistore da 100 ohm.

Nota: è stato successivamente portato alla mia attenzione che la corrente massima di tutti i pin in un dato momento è di 16 ma, quindi questa configurazione potrebbe superarla. Una configurazione migliore con un transistor e un'alimentazione a 5 volt è descritta nel passaggio successivo, ma dopo diverse settimane di funzionamento in questa configurazione, non ho ancora riscontrato alcun problema.

Il pin 22 sul Raspberry Pi sarà collegato all'anodo del LED IR, che è la gamba più lunga per impostazione predefinita.

Il pin più corto del LED si collega al resistore e quindi al pin di terra. Ho tagliato la maggior parte del filo sul resistore e l'ho saldato direttamente a un pin di terra e al filo di terra che va al LED.

Passaggio 7: collegamento del LED IR (metodo corretto)

Collegamento del LED IR (metodo corretto)
Collegamento del LED IR (metodo corretto)
Collegamento del LED IR (metodo corretto)
Collegamento del LED IR (metodo corretto)

Per collegare correttamente il LED senza superare il limite di assorbimento del Raspberry Pi, collegare i LED all'alimentazione da 5 volt con un resistore appropriato, collegare il pin del catodo al pin del collettore di un resistore 2N2222, collegare il pin dell'emettitore del transistor a massa, e collegare il pin 22 del Pi a un resistore da 1K ohm al pin di base del transistor. Ciò consente a una piccolissima corrente dal pin 22 di collegare il LED a massa, completando il circuito senza sovraccaricare il Pi.

Nel mio esempio, ho cablato 2 LED IR, in modo da poter controllare l'illuminazione ambientale e il caminetto elettrico.

Passaggio 8: test dell'invio di comandi IR

Test dell'invio di comandi IR
Test dell'invio di comandi IR

Per inviare un comando IR si usa il programma irsend.

Sintassi: irsend

Esempio: irsend SEND_ONCE Spectrafire KEY_POWER Invia il comando del pulsante di accensione dal telecomando Spectrafire una volta. Sostituisci Spectrafire con quello che hai chiamato il tuo telecomando. Ripetere con altri nomi chiave utilizzati durante la registrazione del file.

A questo punto, puoi inviare eventuali comandi precedentemente registrati utilizzando il LED IR collegato al Raspberry Pi.

Passaggio 9: installazione di Ha-bridge

Per consentire a Echo di controllare il nostro dispositivo, emuleremo una lampadina Philips Hue utilizzando ha-bridge. Una volta configurato, Echo sarà in grado di rilevare questo dispositivo e inviargli comandi di accensione/spegnimento.

Il sito web di ha-bridge delinea chiaramente il processo per la versione corrente ed è altamente raccomandato per la revisione.

github.com/bwssytems/ha-bridge

Copia e incolla le seguenti righe in una sessione SSH per installare e configurare HA Bridge. (Potrebbe essere necessario eseguire la prima riga stessa, quindi incollare le righe rimanenti

sudo apt install -y oracle-java8-jdk

mkdir /home/pi/habridge cd /home/pi/habridge/ rm ha-bridge-*.jar -f wget $(curl -s https://api.github.com/repos/bwssytems/ha-bridge/releases /latest | grep 'browser_' | cut -d\" -f4) mv ha-bridge-*.jar ha-bridge.jar echo [Unità] | sudo tee /etc/systemd/system/habridge.service echo Description=HA Bridge | sudo tee -a /etc/systemd/system/habridge.service echo Wants=network.target | sudo tee -a /etc/systemd/system/habridge.service echo After=network.target | sudo tee -a /etc /systemd/system/habridge.service echo | sudo tee -a /etc/systemd/system/habridge.service echo [Service] | sudo tee -a /etc/systemd/system/habridge.service echo Type=simple | sudo tee -a /etc/systemd/system/habridge.service echo WorkingDirectory=/home/pi/habridge | sudo tee -a /etc/systemd/system/habridge.service echo ExecStart=/usr/bin/java -jar -Dconfig. file=/home/pi/habridge/data/habridge.config /home/pi/habridge/ha-bridge.jar | sudo tee -a /etc/systemd/system/habridge.service echo | sudo tee -a /etc/ systemd/system/hab ridge.service echo [Installa] | sudo tee -a /etc/systemd/system/habridge.service echo WantedBy=multi-user.target | sudo tee -a /etc/systemd/system/habridge.service #Reload System Control e avvio del servizio, impostazione da abilitare all'avvio sudo systemctl daemon-reload sudo systemctl start habridge.service sudo systemctl enable habridge.service

Passaggio 10: emulare una lampadina Philips Hue

Emulazione di una lampadina Philips Hue
Emulazione di una lampadina Philips Hue
Emulazione di una lampadina Philips Hue
Emulazione di una lampadina Philips Hue

Con ha-bridge in esecuzione, apri un browser web e inserisci l'indirizzo IP del Raspberry Pi, e dovrebbe apparire l'interfaccia per ha-bridge.

Fare clic sul collegamento Aggiungi/Modifica nella parte superiore della pagina

Nome: inserisci il nome che vuoi usare quando pronunci i comandi

Nella sezione denominata "Sugli elementi" impostare il tipo "Esegui comando/script/programma e immettere il comando nella casella Elemento di destinazione. Se si desiderano più comandi, fare clic sul pulsante Aggiungi per salvare la riga corrente e immettere un altro comando. È è anche possibile impostare un ritardo e ripetere un comando un certo numero di volte, in questo caso è necessario premere prima il pulsante di accensione, poi premere 3 volte il pulsante Timer per impostare il timer di autospegnimento a 3 ore.

Ripeti la stessa idea per l'area "Elementi non disponibili", facendo clic su Aggiungi al termine.

Nella parte superiore della pagina, fai clic su "Aggiungi dispositivo Bridge" per salvarlo come nuovo elemento o Aggiorna dispositivo Bridge se ne modifichi uno esistente.

Puntare il LED IR verso il dispositivo. Nella pagina Bridge Devices, fare clic sul pulsante Test ON o Test OFF per verificare che funzioni come desiderato.

Passaggio 11: connessione ad Amazon Echo

Connessione ad Amazon Echo
Connessione ad Amazon Echo

L'ultimo passaggio consiste nel consentire ad Amazon Echo di comunicare con questo dispositivo. Nota: entrambi i dispositivi devono essere la stessa rete.

Opzione 1) dire "Alexa, scopri i dispositivi domestici intelligenti"

Opzione 2) Apri l'app Alexa, tocca Menu> Smart Home e fai clic sul link "Scopri dispositivi"

Dopo qualche istante, il dispositivo dovrebbe essere riconosciuto.

Pronuncia "Alexa, accendi il caminetto della camera da letto" e verifica che il dispositivo si accenda come previsto. Sostituisci il caminetto della camera da letto con il nome che dai al tuo dispositivo in ha-bridge. Ripetere il processo per spegnere il dispositivo.

Se non hai ancora montato il LED IR, trova un punto poco appariscente per montarlo, consentendogli di puntare nella direzione generale del ricevitore IR nel dispositivo. Potrebbe essere necessario spostarlo per indicare aree diverse per trovare la posizione migliore.

Consigliato: