Sommario:

Server AndyMOTE: 12 passaggi
Server AndyMOTE: 12 passaggi

Video: Server AndyMOTE: 12 passaggi

Video: Server AndyMOTE: 12 passaggi
Video: Skeleton hits the Griddy ☠️ 2024, Novembre
Anonim
Server AndyMOTE
Server AndyMOTE

Volevo un telecomando universale per la mia scomparsa e ho pensato che avrei dovuto essere in grado di farlo con un'app sul mio telefono cellulare (per fornire l'interfaccia utente) e un Raspberry PI per fornire il "Blaster" a infrarossi. Dopo una piccola indagine ho scoperto il progetto LIRC che sembrava l'ideale per il 'Blaster'. Ho scritto la mia app Android (AndyMOTE) e un piccolo programma "Server" per fornire un'interfaccia tra i due.

Questa istruzione ti mostra come costruire il server

Le istruzioni fornite qui dovrebbero funzionare con Raspian Jessie, non funzionano con Raspian Buster e, a questo punto, capisco che Raspian è stato sostituito con il sistema operativo Raspberry Pi, ho un set di istruzioni aggiornato sul mio sito Web (vedi link sotto) che funzionano con Raspian Stretch-Lite o Raspian Buster-Lite

Passaggio 1: elenco degli articoli

  • RaspberryPi Zero WH
  • Controller infrarossi Energenie ENER314-IR
  • Scheda Micro SD (Classe 10) (16 GB)
  • Alimentatore Raspberry Pi
  • (Opzionale) Custodia (es: Pibow Zero W)
  • (Opzionale) Prolunga telecomando a infrarossi* (1 ricevitore; 4 trasmettitori)

Avrai anche bisogno di un monitor, una tastiera e cavi in grado di collegare questi elementi al tuo Raspberry Pi

Passaggio 2: prepara il tuo Raspberry Pi

Scarica Raspian Lite da qui, quindi installalo sulla tua scheda SD (istruzioni qui).

Una volta installato Raspian Lite sulla tua scheda SD e prima di spostare la scheda sul tuo Raspberry Pi; montare la scheda sul PC. Crea un file vuoto /boot/ssh (questo abilita SHH sul server) e apporta le seguenti modifiche al file /boot/config.txt

# Imposta l'uscita HDMI su Normal hdmi_drive=2# Imposta la modalità HDMI su DMT (adatto per i monitor) hdmi_group=2# Imposta la risoluzione su 800x600 @ 60hzhdmi_mode=9dtoverlay=lirc-rpi, gpio_in_pin=18, gpio_out_pin=17

(Vedi qui per indicazioni sulle impostazioni video)

Passaggio 3: assemblare il server

Assemblare il server
Assemblare il server

Innanzitutto, inserisci la tua scheda SD pre-preparata nel Raspberry Pi. Metti il Raspberry Pi nella sua custodia. Ho avuto un problema con il controller a infrarossi ENER314-IR che interferiva con la custodia Pibow, quindi non ho utilizzato due dei pezzi.

Quindi, collega il controller a infrarossi Energenie ENER314-IR al Raspberry Pi (vedi immagine).

Quindi, collega il Raspberry Pi alla tastiera (usando il connettore USB) e al monitor (usando il connettore HDMI… Potrebbero essere necessari adattatori).

Infine, accendi e attendi che l'unità si avvii.

Passaggio 4: configurazione della rete

Per prima cosa, apri il file di configurazione wpa-supplicant usando il tuo editor preferito (es. nano).

$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Vai alla fine del file e aggiungi la tua rete (es.).

rete={ ssid="YOUR_SSID" psk="YOUR_KEY" priority="1" id_str="YOUR_SSID_NAME"}

Sostituisci YOUR_SSID, YOUR_KEY e YOUR_SSID_NAME come appropriato per la tua rete.

Salva il file, riavvia il richiedente WPA e riavvia.

$ wpa_cli -i wlan0 reconfigure$ sudo reboot

Passaggio 5: configurazione dell'indirizzo IP statico

È consigliabile che il tuo server abbia un indirizzo IP fisso. Potresti essere in grado di ottenere ciò configurando il tuo server DHCP in modo appropriato o, per impostare l'interfaccia wlan0 su un indirizzo statico sul Raspberry Pi, modifica il file /etc/dhcpcd.conf e includi le righe.

# Esempio di configurazione IP statico: interfaccia wlan0static indirizzo_ip=192.168.1.116/24router statici=192.168.1.1static domain_name_servers=192.168.1.1 8.8.8.8

Cambia 192.168.1.1 con l'indirizzo effettivo del tuo router e 192.168.1.116 con l'indirizzo statico effettivo richiesto per la tua applicazione.

* A questo punto potresti voler eseguire l'utility raspi-config e apportare eventuali modifiche alla configurazione.

Riavvia quando hai finito.

Passaggio 6: installa LIRC

Installa LIRC usando il comando.

$ sudo apt-get install lirc

Modifica il file /etc/modules; per esempio:

$ sudo nano /etc/modules

e aggiungi le righe:

lirc_devlirc_rpi gpio_in_pin=18 gpio_out_pin=17

Salva il file e riavvia.

$ sudo reboot

Passaggio 7: configurare LIRC

Modifica il file /etc/lirc/hardware.conf, ad esempio:

$ sudo nano /etc/lirc/hardware.conf

e fallo sembrare così:

################################################# ####### /etc/lirc/hardware.conf## Argomenti che verranno utilizzati all'avvio di lircdLIRCD_ARGS="--uinput --listen"## Non avviare lircmd anche se sembra esserci una buona configurazione file# START_LIRCMD=false## Non avviare irexec, anche se sembra esistere un buon file di configurazione.# START_IREXEC=false## Prova a caricare i moduli del kernel appropriatiLOAD_MODULES=true## Esegui "lircd --driver=help" per un elenco dei driver supportati. DRIVER="default"## di solito /dev/lirc0 è l'impostazione corretta per i sistemi che utilizzano udevDEVICE="/dev/lirc0"MODULES="lirc_rpi"## File di configurazione predefiniti per il tuo hardware, se presenti LIRCMD_CONF=""Modifica il file /etc/lirc/lirc_options.conf e modifica le righe come di seguito: driver = defaultdevice = /dev/lirc0

Salva il file e riavvia lircd.

$ sudo systemctl riavvia lircd

Passaggio 8: test del ricevitore

Immettere la seguente sequenza di comandi per arrestare il demone LIRC e testare il ricevitore.

$ sudo systemctl stop lircd$ sudo mode2

Il programma mode2 emetterà il rapporto mark-space di un segnale IR alla console. Punta un telecomando verso il tuo ricevitore IR e premi alcuni pulsanti. Dovresti vedere qualcosa del genere:

spazio 16300impulso 95spazio 28794impulso 80spazio 19395impulso 83spazio 402351

quando hai finito premi ctl-c e riavvia il demone LIRC usando il seguente comando.

$ sudo systemctl start lircd

Passaggio 9: aggiungere telecomandi - Metodo 1

LIRC utilizza file di configurazione che contengono dati relativi a ciascun telecomando che possono essere emulati da LIRC. È necessario generare o fornire in altro modo questi file di configurazione affinché il sottosistema LIRC funzioni come desiderato.

Importante

È necessario fornire un file di configurazione individuale per ogni telecomando da emulare. I file di configurazione devono essere archiviati nella directory /etc/lirc/lircd.conf.d. La scelta del nome della chiave è importante per la migliore esperienza AndyMOTE, quando si selezionano i nomi per le chiavi, seguire le linee guida qui. I file di configurazione possono essere scaricati anche da qui ma attenzione che, se li si utilizza, devono contenere una sola configurazione remota. (I file di configurazione sono semplici file di testo e possono essere facilmente modificati se necessario.

Il metodo 1 richiede il telecomando originale utilizzando i seguenti comandi:

$ sudo systemctl stop lircd$ sudo irrecord -n ~/FILENAME.conf

$ sudo irrecord -f -n ~/NOMEFILE.conf

Sostituisci FILENAME con un nome descrittivo per il telecomando che stai configurando. Quest'ultimo comando crea un file 'raw' e questo a volte è necessario a seconda delle caratteristiche del telecomando che si sta utilizzando. L'opzione -n ti permette di usare qualsiasi nome chiave che ti piace (piuttosto che essere limitato all'elenco LIRC Namespace).

Ricorda di riavviare lircd e riavviare quando hai finito.

$ sudo systemctl start lircd$ sudo reboot

Passaggio 10: aggiungere telecomandi - Metodo 2

Il metodo 2 non richiede che la cache globale remota originale mantenga un database basato su cloud di oltre 200.000 codici IR. Chiunque può registrarsi e scaricare fino a 5 codeset al giorno. Questi codeset possono essere convertiti in file conf LIRC, in modo amichevole con AndyMOTE, utilizzando l'applicazione gcConvert descritta qui.

Passaggio 11: installare il programma server AndyMOTE

Installa le librerie liblirc e libboost come descritto di seguito:

$ sudo apt-get update$ sudo apt-get install liblirc-dev libboost-all-dev

Quindi, installa git, vai alla tua home directory e clona il repository andymoteserver

$ sudo apt install git$ cd ~$ git clone

quindi compila il sorgente

$ cd andymoteserver$ make

Sposta il file risultante in una posizione comoda; per esempio:

$ sudo mkdir -p /opt/andymoteserver$ sudo mv dist/Debug/GNU-Linux/andymote /opt/andymoteserver/

Riordinare

$ cd ~$ rm -Rf andymoteserver

Infine, per eseguire AndyMOTE Server come servizio, creare il file /lib/systemd/system/andymote.service con il contenuto come mostrato di seguito:

[Unit]Description=esegui AndyMOTE Server come servizio[Service]Type=simpleRemainAfterExit=falseRestart=alwaysRestartSec=30ExecStop=/bin/trueExecStart=/opt/andymoteserver/andymote[Install]WantedBy=multi-user.target

Abilita e avvia il servizio

$ sudo systemctl abilita andymote$ sudo systemctl start andymote

Passaggio 12: e infine…

E infine…
E infine…

L'immagine sopra mostra il mio server nella sua posizione finale (a sinistra). Il dispositivo a destra della foto è l'Infrared Remote Control Extender, questo riceve i segnali IR dal server e li ritrasmette tramite 4 trasmettitori IR (non mostrati); questi sono montati sui miei dispositivi multimediali (TV, amplificatore ecc.).

Spero ti piaccia!

Consigliato: