Tabla de contenido:

Servidor AndyMOTE: 12 pasos
Servidor AndyMOTE: 12 pasos

Video: Servidor AndyMOTE: 12 pasos

Video: Servidor AndyMOTE: 12 pasos
Video: Firestick Apps Not Working - Fix it Now 2024, Junio
Anonim
Servidor AndyMOTE
Servidor AndyMOTE

Quería un control remoto universal para mi mancave y pensé que debería poder hacer esto con una aplicación en mi teléfono móvil (para proporcionar la interfaz de usuario) y una Raspberry PI para proporcionar el 'Blaster' de infrarrojos. Después de una pequeña investigación descubrí el proyecto LIRC que parecía ideal para el 'Blaster'. Escribí mi propia aplicación de Android (AndyMOTE) y un pequeño programa de 'servidor' para proporcionar una interfaz entre los dos.

Este instructivo le muestra cómo construir el servidor

Las instrucciones dadas aquí deberían funcionar con Raspian Jessie, no funcionan con Raspian Buster y, en este punto, entiendo que Raspian ahora ha sido reemplazado con el sistema operativo Raspberry Pi, tengo un conjunto de instrucciones actualizado en mi sitio web (ver enlace a continuación) que funcionan con Raspian Stretch-Lite o Raspian Buster-Lite

Paso 1: Lista de artículos

  • RaspberryPi Zero WH
  • Controlador de infrarrojos Energenie ENER314-IR
  • Tarjeta Micro SD (clase 10) (16 GB)
  • Fuente de alimentación Raspberry Pi
  • (Opcional) Estuche (por ejemplo: Pibow Zero W)
  • (Opcional) Extensor de control remoto por infrarrojos * (1 receptor; 4 transmisores)

También necesitará un monitor, un teclado y cables capaces de conectar estos elementos a su Raspberry Pi

Paso 2: prepara tu Raspberry Pi

Descargue Raspian Lite desde aquí y luego instálelo en su tarjeta SD (Instrucciones aquí).

Una vez que Raspian Lite esté instalado en su tarjeta SD y antes de mover la tarjeta a su Raspberry Pi; monte la tarjeta en su PC. Cree un archivo vacío / boot / ssh (esto habilita SHH en el servidor) y realice las siguientes ediciones en el archivo /boot/config.txt

# Establecer HDMI en salida normalhdmi_drive = 2 # Establecer HDMI en modo DMT (apto para monitores) hdmi_group = 2 # Establecer resolución en 800x600 @ 60hzhdmi_mode = 9dtoverlay = lirc-rpi, gpio_in_pin = 18, gpio_out_pin = 17

(Consulte aquí para obtener orientación sobre la configuración de video)

Paso 3: ensamblar el servidor

Ensamblar el servidor
Ensamblar el servidor

Primero, inserte su tarjeta SD preparada previamente en la Raspberry Pi. Pon la Raspberry Pi en su estuche. Tuve un problema de que el controlador de infrarrojos ENER314-IR interfirió con la carcasa de Pibow, por lo que no usé dos de las piezas.

A continuación, conecte el controlador de infrarrojos Energenie ENER314-IR a la Raspberry Pi (ver imagen).

Luego, conecte la Raspberry Pi al teclado (usando el conector USB) y al monitor (usando el conector HDMI … Es posible que se necesiten adaptadores).

Finalmente, encienda y espere a que la unidad arranque.

Paso 4: Configurar la red

Primero, abra el archivo de configuración del solicitante de wpa usando su editor favorito (por ejemplo, nano).

$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Vaya al final del archivo y agregue su red (por ejemplo).

network = {ssid = "YOUR_SSID" psk = "YOUR_KEY" prioridad = "1" id_str = "YOUR_SSID_NAME"}

Reemplace YOUR_SSID, YOUR_KEY y YOUR_SSID_NAME según corresponda para su red.

Guarde el archivo, reinicie el solicitante WPA y reinicie.

$ wpa_cli -i wlan0 reconfigurar $ sudo reiniciar

Paso 5: Configurar la dirección IP estática

Se recomienda que su servidor tenga una dirección IP fija. Puede lograr esto configurando su servidor DHCP apropiadamente o, para configurar la interfaz wlan0 en una dirección estática en la Raspberry Pi, edite el archivo /etc/dhcpcd.conf e incluya las líneas.

# Ejemplo de configuración de IP estática: interfaz wlan0static ip_address = 192.168.1.116 / 24 routers estáticos = 192.168.1.1static domain_name_servers = 192.168.1.1 8.8.8.8

Cambie 192.168.1.1 a la dirección real de su enrutador y 192.168.1.116 a la dirección estática real que necesita para su aplicación.

* Es posible que desee ejecutar la utilidad raspi-config y realizar cambios de configuración en este momento.

Reinicie cuando termine.

Paso 6: Instale LIRC

Instale LIRC usando el comando.

$ sudo apt-get install lirc

Edite el archivo / etc / modules; p.ej:

$ sudo nano / etc / modules

y agregue las líneas:

lirc_devlirc_rpi gpio_in_pin = 18 gpio_out_pin = 17

Guarde el archivo y reinicie.

$ sudo reiniciar

Paso 7: configurar LIRC

Edite el archivo /etc/lirc/hardware.conf, por ejemplo:

$ sudo nano /etc/lirc/hardware.conf

y haz que se vea así:

############################################### ####### /etc/lirc/hardware.conf## Argumentos que se usarán al iniciar lircdLIRCD_ARGS = "- uinput --listen" ## No inicie lircmd incluso si parece haber una buena configuración file # START_LIRCMD = false ## No inicie irexec, incluso si parece que existe un buen archivo de configuración. # START_IREXEC = false ## Intente cargar los módulos del kernel apropiadosLOAD_MODULES = true ## Ejecute "lircd --driver = help" para un lista de controladores compatibles DRIVER = "predeterminado" ## normalmente / dev / lirc0 es la configuración correcta para los sistemas que utilizan udevDEVICE = "/ dev / lirc0" MODULES = "lirc_rpi" ## Archivos de configuración predeterminados para su hardware, si los hay LIRCD_CONF = "" LIRCMD_CONF = "" Edite el archivo /etc/lirc/lirc_options.conf y modifique las líneas como se muestra a continuación: driver = defaultdevice = / dev / lirc0

Guarde el archivo y reinicie lircd.

$ sudo systemctl reiniciar lircd

Paso 8: prueba del receptor

Ingrese la siguiente secuencia de comandos para detener el demonio LIRC y probar el receptor.

$ sudo systemctl detener lircd $ sudo mode2

El programa mode2 emitirá la relación de espacio de marca de una señal de infrarrojos en la consola. Apunte un control remoto a su receptor de infrarrojos y presione algunos botones. Debería ver algo como esto:

espacio 16300 pulso 95 espacio 28794 pulso 80 espacio 19395 pulso 83 espacio 402351

cuando haya terminado, presione ctl-c y reinicie LIRC Daemon usando el siguiente comando.

$ sudo systemctl start lircd

Paso 9: Agregar controles remotos - Método 1

LIRC usa archivos de configuración que contienen datos relacionados con cada control remoto que pueden ser emulados por LIRC. Debe generar o proporcionar estos archivos de configuración para que el subsistema LIRC funcione como desee.

Importante

Debe proporcionar un archivo de configuración individual para cada control remoto a emular. Los archivos de configuración deben almacenarse en el directorio /etc/lirc/lircd.conf.d. La elección del nombre de la clave es importante para la mejor experiencia con AndyMOTE. Cuando seleccione los nombres para sus claves, siga las pautas aquí. Los archivos de configuración también se pueden descargar desde aquí, pero tenga en cuenta que, si los usa, deben contener solo una configuración remota. (Los archivos de configuración son archivos de texto simples y se pueden editar fácilmente si es necesario.

El método 1 requiere el control remoto original usando los siguientes comandos:

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

$ sudo irrecord -f -n ~ / NOMBRE DE ARCHIVO.conf

Reemplace FILENAME con un nombre descriptivo para el control remoto que está configurando. El último comando crea un archivo 'sin formato' y esto a veces es necesario dependiendo de las características del control remoto que esté utilizando. El modificador -n le permite usar cualquier nombre de clave que desee (en lugar de limitarse a la lista de espacios de nombres LIRC).

Recuerde reiniciar lircd y reiniciar cuando haya terminado.

$ sudo systemctl start lircd $ sudo reboot

Paso 10: Agregar controles remotos - Método 2

El método 2 no requiere que el RemoteGlobal-cache original mantenga una base de datos basada en la nube de más de 200, 000 códigos IR. Cualquiera puede registrarse y descargar hasta 5 juegos de códigos por día. Estos conjuntos de códigos se pueden convertir a archivos conf LIRC, de una manera amigable con AndyMOTE, usando la aplicación gcConvert descrita aquí.

Paso 11: Instale el programa del servidor AndyMOTE

Instale las bibliotecas liblirc y libboost como se describe a continuación:

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

A continuación, instale git, vaya a su directorio de inicio y clone el repositorio de andymoteserver

$ sudo apt install git $ cd ~ $ git clone

luego compila la fuente

$ cd andymoteserver $ make

Mueva el archivo resultante a una ubicación conveniente; p.ej:

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

Organizar

$ cd ~ $ rm -Rf yymoteserver

Finalmente, para ejecutar AndyMOTE Server como un servicio, cree el archivo /lib/systemd/system/andymote.service con el contenido que se muestra a continuación:

[Unidad] Descripción = ejecutar AndyMOTE Server como servicio [Servicio] Tipo = simpleRemainAfterSalir = falseRestart = alwaysRestartSec = 30ExecStop = / bin / trueExecStart = / opt / andymoteserver / andymote [Install] WantedBy = multi-user.target

Habilitar e iniciar el servicio

$ sudo systemctl enable andymote $ sudo systemctl start andymote

Paso 12: Y finalmente …

Y finalmente…
Y finalmente…

La imagen de arriba muestra mi servidor en su posición final (izquierda). El dispositivo a la derecha de la foto es el Extensor de control remoto por infrarrojos, este recibe las señales de infrarrojos del servidor y las retransmite a través de 4 transmisores de infrarrojos (no se muestran); estos están montados en mis dispositivos multimedia (TV, amplificador, etc.).

¡Espero que disfrutes!

Recomendado: