Hace mucho tiempo utilicé unos displays LCD con el controlador HD44780 de Hitachi para mostrar información del PC con Windows y Linux. Notificaciones cuando recibíamos correo, temperatura de la CPU, carga de procesos, memoria disponible, información meteorológica, …. todo esto y mucho más. Ahora que estoy jugando con la Raspberry Pi y escribiendo entradas en Xataka y en Xataka Home sobre la misma, uno de los proyectos es conectar uno de dichos displays a la Raspberry Pi. En esta entrada os voy a contar cómo conectar y hacer funcionar un display LCD en vuestro Mac.
Comprando un display adecuado
El display que he elegido para este proyecto tiene conexión USB para poder conectarlo a nuestro Mac. El LCD tiene un conector USB interno, por lo que hay que hacer un apaño para tener un conector USB que podamos conectar al Mac. Consiste en utilizar un cable alargador USB y modificar el conector hembra para poder acoplar el conector del display (¡¡¡OJO a la polaridad si lo hacéis vosotros!!!). Pero hay displays que ya cuentan con una conexión USB normal, así que si no queréis molestaros o comprar un cable adaptador podéis ir por dicha opción.
Software necesario para mostrar información en el display
La buena noticia es que hay software disponible para Mac para mostrar la información. La mala, que tendremos que compilarlo e instalarlo nosotros mismos para que funcione. Si no tenemos experiencia en programación o en compilar programas puede ser un reto hacerlo funcionar, pero voy a intentar que las instrucciones sean lo más sencillas y asequibles para todos los públicos. Lo único que necesitaremos será tener cierta fluidez con el Terminal y con escribir comandos de texto en el mismo.
1. En primer lugar, necesitaremos tener un compilador. La forma más sencilla es crear una cuenta gratuita de desarrollador en Apple, si no la tenemos ya. Una vez realizado el trámite, debemos descargar Command Line tools for Xcode para nuestra versión del sistema operativo que tengamos instalado en nuestro Mac.
2. Paso dos, instalar Homebrew, que nos permite instalar paquetes de forma automática desde un terminal con el comando Brew. Esto lo necesitaremos porque tenemos que descargar unas librerías llamadas libusb para poder comunicarnos con el display. Pero vayamos paso a paso, para instalar Homebrew sólo tenemos que escribir este comando en el Terminal:
ruby -e “$(curl -fsSkL raw.github.com/mxcl/homebrew/go)”
En esta página (STEP 3) tenemos más información sobre cómo instalar Homebrew y comprobar que todo está bien con brew doctor y brew update
Una vez instalado homebrew, debemos instalar algunas librerías, para ello escribimos en el terminal:
brew install pkg-config
brew install libusb
brew install libftdi
3. Descargamos LCDproc, el software que tenemos que compilar e instalar para utilizar el display LCD.
Ya estamos en el ecuador del proceso. Si has llegado hasta aquí, probablemente quede lo más sencillo de todo.
En esta página tenemos información de LCDproc, tanto de los displays LCD soportados como sobre la configuración del mismo.
A día de hoy la última versión es la 0.5.6. La descargamos y la ponemos en el escritorio. Con un doble clic se descomprimirá y nos creará la carpeta donde tenemos todo lo necesario para seguir.
Nos vamos a un terminal, y escribimos:
cd Desktop
cd lcdproc-0.5.6
Ahora toca configurar LCDproc para que podamos compilarlo e instalarlo. Copiamos y pegamos esto en el Terminal y pulsamos intro:
./configure --prefix=/usr/local/ --enable-drivers=all --includedir=/usr/local/include/
OJO a la línea anterior, antes de prefix, enable e includedir van dos signos menos seguidos. Cuando acabe, tenemos que dar:
make -j6
y luego:
sudo make install
Seguro que ya os alegra saber que ya tenemos la aplicación compilada e instalada. Ahora sólo nos queda configurarla para que aparezca alguna cosa en nuestro display LCD. Si nunca habéis usado nano, deciros que es un editor de texto muy sencillo, que utiliza comandos tipo ctrl letra para hacer todas las acciones.
sudo nano /usr/local/etc/LCDd.conf
Editamos el archivo y cambiamos estas líneas (podemos buscar en el archivo con ctrl w para encontrar dónde están las líneas a modificar). En mi caso, como tengo un display HD44780 conectado por USB, las líneas a modificar son:
DriverPath=/usr/local/lib/lcdproc/
Driver=hd44780
Buscamos la sección de [hd44780] y modificamos
ConnectionType=lcd2usb
Contrast=800
Backlight=on
CharMap=hd44780_euro
Guardamos con ctrl o, y salimos con ctrl x. Conectamos nuestro display. Ahora nos vamos al terminal y escribimos
server/LCDd
El display del LCD nos mostrará este mensaje brevemente. A continuación saldrá otro mensaje, con ello sabremos que el servidor de LCDproc ha arrancado correctamente. La línea Clients nos indica el número de Clientes o programas que publican información en el display.
LCDproc también incluye un cliente con el que mostrar información. Para arrancarlo, debemos escribir en el Terminal:
lcdproc -f
La configuración de la información a mostrar con lcdproc la tenéis en el archivo lcdproc.conf. Como antes, podemos editarlo así:
sudo nano /usr/local/etc/lcdproc.conf
En teoría es incluso posible redirigir las notificaciones Growl al display utilizando la información de esta página, pero no he conseguido descargar el plugin que lo hace. He contactado con su creador y si hay noticias positivas las publicaré en esta entrada.
Otro cliente preparado para mostrar información en el LCD es XBMC. Así, tan sólo tenemos que ir a Sistema – Ajustes – Sistema y marcar la opción Habilitar LCD-VFD. Toda la información de navegación y reproducción de XBMC aparecerá en el display.
Como habéis podido ver, el proceso es largo. Pero tener un LCD que funciona, altamente configurable, y que muestre los contenidos que queramos es realmente gratificante. Además, seguro que mucha gente os va a decir que quiere uno como el vuestro. Y no, el proyecto no es nada caro. Podemos encontrar displays como el de la entrada por alrededor de 30 euros.
Más información | LCDproc