Paso 10: Lector RSS con conexión Serial y LCD
Hardware
Estamos utilizando el Dragon Rider 500 como una placa de desarrollo. Esto proporciona todo el hardware que necesitas (suponiendo que todos los kits de Add-on). Dicho esto sin duda puede hacerlo con su propia configuración de hardware:
- ATmega8 microcontroladores (o cualquiera que tenga un USART y suficientes pernos para todas las conexiones
- Una manera de programar el microcontrolador (yo uso el dragón del AVR)
- Chip MAX232 para comunicación serial
- Conector DB9
- Pantalla LCD HD44780
- Cristal (he utilizado un cristal de 8MHz)
- Resistencias y condensadores clasificados
Un esquema se proporciona a continuación.
En el jinete de dragón necesitamos utilizar algo de creatividad para enrutar las conexiones. Normalmente Port D podría conectarse directamente a la cabecera de la pantalla LCD. Esto no es el caso aquí porque la USART para la conexión en serie utiliza PD0 y PD1. Además, Puerto B no pueden utilizarse porque PB6 y PB7 estén en uso para el cristal externo.
En la foto a continuación es mi solución a este problema. Conecte un cable de cinta a las cabeceras para el LCD, Puerto B y puerto D, luego utilice los cables de puente para hacer las rutas adecuadas. No olvide conectar voltaje y tierra en la cabecera de la pantalla LCD.
Software
El software para este proyecto viene en dos partes, el firmware para el microcontrolador y el script en python para raspar los feeds RSS y envía sobre la conexión en serie.
Firmware AVR
Estoy usando otra vez biblioteca de Peter Fleury LCD (http://jump.to/fleury). Es poderoso y conciso, versátil y fácil de modificar para su configuración de hardware. Si nos fijamos en el archivo de cabecera conectado (lcd.h) podrás ver que estoy ejecutando en modo de 4 bits con puerto D como bits de datos y el puerto B como los bits de control.
El concepto de este firmware es bastante simple:
- Una vez encendido el microcontrolador muestra "Lector RSS" y luego espera los datos en serie.
- Cada byte de causas datos serie recibidos un búfer de 16 chars a cambio izquierda añadir el byte al buffer, y mostrar el buffer.
- Tres comandos especiales son aceptados por el microcontrolador: 0 x 00 y 0 x 01 0 x 02. Se trata de limpiar la pantalla, mover a la línea 0 y mover a la línea 1 respectivamente.
Python Scrypt
Escribí un guión de pyton para raspar los datos RSS y enviarla sobre la conexión en serie. Esto requiere el módulo de python "pyserial" que probablemente tienes que instalar en su sistema para conseguir que funcione.
La fuente RSS se puede configurar en la parte superior del archivo pyton. Aviso que debe ingresar un nombre para la alimentación, así como la alimentación url. Hay tres ejemplos, estoy seguro de que puede seguir para la correcta syntx.
Lo que todo trabajo
- Montar el hardware
- Programar el microcontrolador (dragon_rss.hex se puede utilizar si no quieres compilar tu mismo). Configuración para ATmega8 usando un cristal de 8 MHz del fusible: LFusible = 0xEF hfuse = 0xD9
- Encienda el jinete de dragón y asegúrese de que está conectado el cable serie (LCD debe leer: "Lector RSS")
- Ejecutar el programa de python (python serial_rss.py)
- Disfrutar de