Con mando a distancia IR de frambuesa Pi sin LIRC (1 / 1 paso)

Paso 1: Cómo empezar

Instalar pySerial

  • Para obtener el trabajo de comunicación serial (UART) necesario instalar el módulo Serial.

sudo Apto-conseguir instalar python-serial

Una vez instalado código Python puede utilizar haciendo serie de importación.

  • A continuación, necesitará cable GPIO 14 (TX) y GPIO 15 (RX). Ya que mi objetivo es recibir el IR señales de que alambré sólo GPIO 15 (RX).
  • El sensor de infrarrojos requieren 5V y GND. Entonces la señal de salida del sensor de infrarrojos conectado al 15 de GPIO.

El código de Python para leer la señal IR descubierto muy muy simple. Como se indica a continuación.

 import serial ser = serial.Serial ("/dev/ttyAMA0") ser.baudrate = 2400 for i in range (0,15): # usually IR signal for a key is about 12-16 bytes data = ser.read(1) # read 1 byte at a time print ord(data) # the data read in character, ord will convert to ASCII value 

Ahora este código leerá señal de infrarrojos 1 byte a la vez e imprime el valor.

Probé los baudios por ensayo y error y colocó abajo para 2400 BPS. Aunque la comunicación serial de soporte hasta 115KBPS es interesante por qué IR con una velocidad más baja. Mi conjetura es que sería más fiable utilizar una velocidad más baja, ya que menos posibilidad IR sueltas 1 o 2 bits de la señal por aire.

Decodificar claves remoto IR

Ahora el siguiente paso es decodificar los valores de clave. Usé un estándar Samsung TV IR remote para este esfuerzo.

Primer punto importante es averiguar cuántos bytes de datos para cada tecla. Pueden variar de 12-16 bytes. (los que probé). Longitud de bytes suele ser igual para todas las llaves. Tienen de esos bytes bytes de cabecera bytes de datos (para identificar la clave) y bytes de la cola. Los bytes del encabezado tendrá una firma para el modelo del IR remote. Utilicé una hoja de excel para recopilar los valores de datos clave siguientes página Antzy Carmasaic

Buceando en los valores claves capturados profundo, muestra byte 0-5 consta de cabecera, repetido para todas las claves. Bytes de datos de 6 a 11 representan el valor de clave. Podría haber algunos valores de la cola. Octeto 12 es cola para el control remoto de samsung.

Asignación de teclas

La forma exacta para este control remoto es almacenar los bytes 6-11 en una matriz y compararla con una nueva clave de entrada. En cambio, hice un simple algoritmo como sigue.

keyidentity = byte [6] + 2 * bytes + 3 [7] * byte [8] + 4 * byte [9] + 5 * byte [10] + 6 * byte [11]

Da casi un valor único para cada llave. Usted puede averiguar un algoritmo mejor que esto.

Amplié el código Python para capturar información clave remota Samsung. Una vez que calcula el valor de la clave asignado luego que lo guardado el programa en python sí.

Se adjunta archivo. -nombre de ir_serial3samsung.py. Samsung remoto envía 2 conjuntos de datos. Modo captura 24 bytes para eliminar los datos en serie frambuesa Pi captura de búfer. Pero usar solamente 1 set para decodificar.

Cuando se ejecuta este código identifica correctamente las teclas pulsadas. Puede decodificar el resto de las teclas en el mando a distancia mirando el valor "keyidentity" que imprime el programa. Luego añadir el programa que lo incluyan.

Conclusión

Esto es una manera muy sencilla y eficaz para utilizar un control remoto con frambuesa Pi con Python. Necesita calcular cuántos bytes total de una clave, cuánto tiempo los bytes de encabezado, datos bytes y bytes de la cola. Desde entonces sabrías de la A la Z de este proceso que usted puede modificar fácilmente para adaptarse a su aplicación. Ya que estos son códigos python pequeño es muy fácil de depurar si golpeas cualquier problema.

Artículos Relacionados

DIY Howto instalar luz de techo con mando a distancia inalámbrico

DIY Howto instalar luz de techo con mando a distancia inalámbrico

Luz de arriba de instalar Howto DIY LED con mando a distancia inalámbrico
Registrar códigos infrarrojos de cualquier unidad de Control remoto para el uso con mando a distancia infrarrojo de Linux (LIRC) en el receptor de infrarrojos basada en GPIO de frambuesa Pi

Registrar códigos infrarrojos de cualquier unidad de Control remoto para el uso con mando a distancia infrarrojo de Linux (LIRC) en el receptor de infrarrojos basada en GPIO de frambuesa Pi

IntroducciónLos mandos a distancia que son huérfanos cuando el dispositivo de control de dejó de funcionar son reutilizables en la Raspberry Pi. Después de completar este instructable, quizás estés interesado en probar el siguiente instructables:Reut
Arduino preamplificador pasivo con mando a distancia, atenuador y canal selector

Arduino preamplificador pasivo con mando a distancia, atenuador y canal selector

Hola a todos,Ya que me han apoyado mucho en mi última instructable me alentó para mejorar más y compartirlo con ustedes.En la compilación anterior tuve preamp barato con Potenciómetro motorizado, control remoto y selector de canal. Motorizado pote te
Control de efectos de Halloween con mandos a distancia infrarrojos DIY

Control de efectos de Halloween con mandos a distancia infrarrojos DIY

Halloween es la oportunidad perfecta para crear divertidos efectos especiales. Cuando quiere poder controlar remotamente apoyos y efectos, una buena opción es utilizar un control remoto infrarrojo. Así en este proyecto, que voy a mostrar algunos efec
Ingeniería inversa: Bombilla de LED RGB con mando a distancia IR

Ingeniería inversa: Bombilla de LED RGB con mando a distancia IR

compramos 20 de estas bombillas LED RGB para una fiesta en el trabajo, pero estaba un poco decepcionado con las funciones de fundido de color que proporcionaban. Así que decidí tomar a un ingeniero inverso, aparte el protocolo de IR y ver si tenía má
Muy sencillo de crear Arduino bluetooth espía robot con mando a distancia Android app

Muy sencillo de crear Arduino bluetooth espía robot con mando a distancia Android app

en este proyecto se verá lo simple mezcla de las diferentes tecnologías y aplicaciones de terceros permite para crear un juguete bastante complejo.El robot hace dos cosas:1. Arduino base espía robot se mueve según las órdenes de mando a distancia And
EL sombrero de alambre: Secuenciado y sonido activado con mando a distancia-con Arduino y Sparkfun

EL sombrero de alambre: Secuenciado y sonido activado con mando a distancia-con Arduino y Sparkfun

Bienvenidos a la guía del instructivo de mi sombrero EL alambre con algo de diversión características.El concepto es un sombrero EL cable con los cables EL 8 secuenciados controlado por un mando a distancia alámbrico. Múltiples modos de secuencia con
MATRIZ de LED de 8 x 40 calendario reloj con mando a distancia

MATRIZ de LED de 8 x 40 calendario reloj con mando a distancia

Hoy voy a mostrar cómo hacer Scrolling y animado LED MATRIX calendario reloj para arduino. Este proyecto tiene las siguientes característicasNovedades en versión 2.0IR añadido remoto basado en ajustar fecha y horaAnimación suaveMuchas correcciones en
Arduino Control remoto luces con mando a distancia Universal

Arduino Control remoto luces con mando a distancia Universal

ha estado buscando en automatización del hogar por algún tiempo, pero no comprometidos con él todavía principalmente por el precio. El año pasado (2010) me compré estas salida de control remoto, interruptores de encendido/apagado por lo que podría da
Control de Arduino RoverBot con mando a distancia TV

Control de Arduino RoverBot con mando a distancia TV

soy un pobre Arduino Hacker 15 años de edad, que tiene poco acceso a piezas y materiales para construir un robot de alta tecnología.  Estoy seguro que hay muchos otros por ahí que están en mi situación.  Este Instructable poco se explicar y demostrar
BRICOLAJE de luz LED - lámpara de humor escritorio moderno con mando a distancia

BRICOLAJE de luz LED - lámpara de humor escritorio moderno con mando a distancia

En este artículo que voy a entrar en el proceso que utilicé para construir esta pirámide impresionante en forma de lámpara de estado de ánimo.Usé a arce para la estructura principal y algunas espinas caoba para la fuerza agregada. Para las luces he u
Aerodeslizador con mando a distancia. por AnTiProcrastination

Aerodeslizador con mando a distancia. por AnTiProcrastination

¡ Hola! Somos AnTiProcrastination, un grupo de estudiantes de La Universidad de Michigan--Shanghai Jiao Tong University Instituto conjunto (ver Logo en la figura 1) nuestro campus, (Figura 2; citado de www.ngeschool.org) situado en el distrito de caí
Imagen de ambiente del estado de ánimo con mando a distancia

Imagen de ambiente del estado de ánimo con mando a distancia

este instructable le guiará por el proceso de hacer la imagen del propio humor ambiente!¿Quieres crear un efecto de luz de estado de ánimo único o una luz de noche? Estás en el lugar correcto.Esto vino a la existencia absolutamente accidentalmente, l
Ser perezoso con mando a distancia TV

Ser perezoso con mando a distancia TV

Soy demasiado perezoso para hacer un paseo al encender/apagar cualquier aparato eléctrico. Así que, aquí está mi genio, TV control remoto.Este proyecto se utiliza para cambiar los electrodomésticos mediante control remoto de la TV. Usa philips RC5 pr