pedroreina.net

Pantalla picoLCD 256x64 OEM
Cuando se tiene un ordenador subido en un armario funcionando como servidor y por tanto sin tener permanentemente enchufado un monitor, tranquiliza mucho poder echarle un vistazo y saber que está más o menos bien. Se puede hacer a través de un servidor web, pero requiere tener encendido algún equipo. Por eso es bastante habitual enchufarle una pequeña pantalla LCD que muestre algunos datos del servidor.

El ordenador que utilizo como el servidor pedroreina.net es especial para mí, lo cuido bastante y sin embargo nunca le había puesto una de estas pantallitas. Cuando me decidí por fin a ponerle una, busqué una de alta gama porque quería ver bastante información en ella. Me decidí por la pantalla picoLCD 256x64 OEM del fabricante Mini-Box por su magnífico aspecto, porque admite gráficos y porque en su web se afirma dar soporte para GNU/Linux mediante LCD4linux.

La compra
No encontré ningún distribuidor en España que me pudiera servir este producto. Ibertrónica quedó muy cerca, porque ofrece la versión que se puede poner en una bahía de 5.25 pulgadas. Así que hice el pedido directamente al fabricante, en California, Estados Unidos.

Hice el pedido el lunes 11 de febrero de 2013, me informaron por correo de que lo enviaban el martes 12 y lo recibí el miércoles 27. El coste fue de 54,95 USD de la pantalla, 2,95 USD de un cable y 36,86 USD del transporte, en total 94,76 USD que al cambio fueron 72,34 euros.

El paquete
La pantalla es delicada y tiene que cambiar de continente, así que es de agradecer que venga bien protegida. Afortunadamente, es así. Este es el paquete que recibí:

paquete.jpeg

El cable
Se ofrecen dos tipos de cable para este producto en la web del fabricante, aunque son bastante estándar y se podrían conseguir de cualquier otro proveedor. El cable necesita en un extremo un conector de cuatro pines para enchufarlo a la pantalla y por el otro extremo puede ser o bien un conector USB externo o bien interno, según se quiera conectar al exterior del ordenador o directamente a la placa base.

Yo me decidí por el externo, que viene con su propia bolsita de burbujas:

cable.jpeg

El frontal
La placa viene protegida por un plástico y luego dos bolsas de burbujas. No se acompaña de ningún tipo de documentación en ningún formato. La parte frontal, aún con la pegatina protectora trasparente:

frontal.jpeg

La trasera
En la parte trasera se aprecian la electrónica y las conexiones.

trasera.jpeg

La conexión del cable USB
Un acercamiento al conector USB de la placa junto al conector del cable:

conexion.jpeg

Conexión
Cuando se conecta en un ordenador con Linux, aparecen estos mensajes en la consola:

usb 5-5: new full-speed USB device number 3 using ohci_hcd
usb 5-5: New USB device found, idVendor=04d8, idProduct=c002
usb 5-5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 5-5: Product: USB-LCD-256x64
usb 5-5: Manufacturer: ITUNER INC
usb 5-5: SerialNumber: Ver.00.03
hid-picolcd 0003:04D8:C002.0002: confused, got unexpected version response from PicoLCD
hid-picolcd: probe of 0003:04D8:C002.0002 failed with error -22

Como se ve, se recibe un mensaje de error, que da el módulo del núcleo hid_picolcd. Quizá con núcleos diferentes que este estándar de Debian 7 no diera este error.

Y la orden para listar los puertos USB da:

$ lsusb | grep 04d8
Bus 005 Device 003: ID 04d8:c002 Microchip Technology, Inc.

Simplemente con recibir la conexión eléctrica, la pantalla se ilumina y se puede ver una imagen que es la misma que aparece en la publicidad de la empresa .

Uso con lcd4linux
Para poder usar lcd4linux para dirigir esta pantalla es imprescindible que no se cargue el módulo hid_picolcd, porque si se carga habría dos programas intentando acceder al dispositivo y el segundo no podría hacerlo.

Para conseguir que no se cargue el módulo hid_picolcd el método que he usado es crear el archivo /etc/modprobe.d/blacklist.conf y escribir en él la línea

blacklist hid_picolcd

En Debian 7 (Wheezy) se incluye la versión 0.11.0 de lcd4linux, pero he intentado en dos ordenadores que funcionara y no lo he conseguido, así que busqué otras opciones.

La versión que ofrece el desarrollador Nicu Pavel para Ubuntu 12.10 (Precise Pangolin), un paquete llamado picolcdgraphic, funciona perfectamente en Debian 7, donde se resuelven todas las dependencias. Yo lo probé con esta configuración, que es muy básica: lcd4linux.conf.

Con el tipo de letra que utiliza lcd4linux, en esta pantalla se pueden escribir ocho filas y 42 columnas y aún sobra algún píxel por la derecha. En total son 336 caracteres y eso permite poner mucha información. También se pueden cargar imágenes en formato PNG de hasta 256x64 píxeles, tal como indica el nombre de la pantalla. Dado que los píxeles solo admiten los estados encendido y apagado, el soporte a la trasparencia de archivos PNG está limitado a trasparente sí o no, que no es poco.

Compilación de lcd4linux
Para poder ajustar mejor las dependencias del lcd4linux me propuse compilarlo desde las fuentes. Me descargué de la web del proyecto la versión 0.11.0-SVN-965, un poco posterior a la que se incluye en Debian 7 y usé un ordenador de pruebas para compilar las fuentes y probar el resultado antes de instalar la pantalla en el ordenador para el que está destinada.

Para configurar la compilación usé esta orden:

./configure --with-drivers=picoLCDGraphic

y así evité cargar todos los demás drivers.

También usé la opción --with-plugins para especificar qué plugins quería tener disponibles. El ejeculable final solo ocupa 451734 octetos y tiene muy pocas dependencias.

Extraje de la compilación el único archivo necesario y el resto fue preparar el archivo de configuración y el que va a /etc/init.d; para este modifiqué el que viene en el paquete Debian. Con estos tres archivos, y las dependencias, tuve suficiente para que funcionara la pantalla en su sitio.

Posibilidades para seguir
Mejor visto con cualquier navegador HTML 4.01 válido CSS válido