Categories: Raspberry Pi

¿No tiene controlador de impresora ARM? Solo escribe el tuyo

Cuando piensa en las pequeñas máquinas que imprimen las etiquetas adhesivas en los paquetes, es posible que no espere encontrar una impresora compleja con su propio lenguaje de programación (ZPL). Sin embargo, [Dan Pastusek] estaba buscando en línea y encontró una pequeña impresora de etiquetas en el almacén en línea favorito de todos por un excelente precio que sugería que era compatible con ZPL. Desafortunadamente, [Dan] tenía grandes sueños para crear una estación de impresión basada en Raspberry Pi y descubrió que los controladores empaquetados para esta impresora en particular no eran compatibles con ARM. No del todo contento con dejarlo ahí, comenzó a desmenuce las capas hasta que tenga un controlador que funcione. ZPL, en esencia, es solo un lenguaje que describe comandos ASCII transmitidos a través de una conexión en serie. Entonces, aunque la impresora apareció como un punto final, no estaba funcionando ya que los filtros (la parte del controlador que sabe cómo convertir de PNG a ZPL) eran solo x86. En Linux, los controladores de impresora también tienen un archivo PPD que describe lo que una impresora puede manejar en cuanto al tamaño del papel y otras configuraciones. El archivo PPD de la pequeña impresora dio la primera pista. En el campo ShortNickName, se identifica como HPRT N41, que es una impresora HP popular. Entonces esta pequeña impresora debe ser un clon de una impresora en esa familia. En particular, no son compatibles con ZPL. En cambio, la serie HPRT es compatible con TSPL, otro lenguaje de impresora desarrollado por TSC. Esto presentaba un problema ya que el servicio de envío que proporcionaba las etiquetas que [Dan] estaba usando etiquetas ofrecidas en tres formatos: PNG, PDF y ZPL. Actualmente, parece que hay un convertidor de TSPL a ZPL disponible, así que en lugar de escribir el suyo, tomó un atajo y escribió un rasterizador. Inicialmente, trató de usar un código de muestra que encontró y, aunque logró que algo saliera de la impresora, estaba en blanco. Entonces, la siguiente prueba fue guardar la salida TSPL sin procesar de un archivador y cat directamente en el puerto serie. Esto funcionó asombrosamente. Próximo, escribió un convertidor para tomar un PNG y convertirlo al formato de mapa de bits que tiene el TSPL. El convertidor está en Javascript ya que se ejecuta como parte del servidor web que administra la estación de impresión. ¿Podría ser más rápido en otro idioma? Por supuesto. Pero un idioma diferente no haría que la impresora fuera más rápida. Con la adición de un escáner de código de barras inalámbrico, es satisfactorio ver la estación de impresión en funcionamiento. Aquí en Hackaday, no somos ajenos a ver a la gente desarmar impresoras para retire el software y las capas físicas que los componen.

Erica Flores

Enamorada de la tecnología. Apasionada de la velocidad que la información puede adquirir en este mundo cambiante. Actualmente residiendo en Barcelona.

Share
Published by
Erica Flores

Recent Posts

Uber utilizará la eSIM de Valid para casos de uso de IoT

Uber está mejorando sus implementaciones de IoT en todo el mundo mediante la adopción de…

3 years ago

Matter Motor Works se asocia con Airtel para habilitar sus bicicletas AERA con soluciones IoT

Obras de motor de materia y Bharti Airtel, un proveedor de servicios de telecomunicaciones ha…

3 years ago

Escultura de Zelda Guardian rastrea a humanos y mascotas a través de una cámara

En The Legend of Zelda: Breath of the Wild, los guardianes son una forma primitiva…

3 years ago

Nos encanta este diminuto Wall-E controlado por radio

Muchos de nosotros nos enamoramos absolutamente de Wall-E, el personaje principal de una…

3 years ago

Serie Samsung Galaxy S24: fecha de lanzamiento, especificaciones, precio y todos los rumores hasta ahora

Dhruv Bhutani / Android AuthorityCada año, los fanáticos de los teléfonos inteligentes esperan con ansias…

3 years ago

Final Cut Pro para iPad: fecha de lanzamiento, características, compatibilidad, precio

Apple ha anunciado que Final Cut Pro finalmente llegará para el iPad. Tras años de…

3 years ago