Home Servidor de impresión mediante CUPS en una Raspberry Pi
Post
Cancel

Servidor de impresión mediante CUPS en una Raspberry Pi

Vamos a instalar CUPS en una Raspberry Pi para usarla como servidor de impresión, a priori para convertir en ‘inteligente’ una impresora antigua; luego conectaremos dicha impresora a Windows y por último añadiremos CUPS a Home Assistant.

Detalles

¿De que va todo esto? CUPS es un software desarrollado por Michael Sweet y más tarde vendido a Apple para usar una máquina como servidor de impresoras. Es relativamente simple y escalable y aunque su interfaz es tremendamente simple nos sirve para conectar a internet impresoras que no disponen de conexión wifi/ethernet o, en mi caso, quiero conectar una impresora HP a mi red SIN hacer uso de su conectividad Wifi.

¿Porqué ibas a conectar una impresora a través de CUPS si ya tiene Wifi integrado? Las razones para hacerlo pueden ser varías, desde evitar la telemetría que emplean las impresoras de las principales marcas (incluso usando Pi-Hole) a solucionar problemas en los que la conectividad de la impresora funciona mal. Sea como fuere, CUPS nos permitirá conectar casi cualquier modelo de impresora posible a nuestra red a través de, por ejemplo, una Raspberry Pi.

Lista de componentes

  • Impresora (bastante obvio); en mi caso es una HP ENVY 5010.
  • Raspberry Pi (cualquier modelo nos valdrá; en mi caso estoy usando una Raspberry Pi 3B que tengo conectada cerca de la impresora por comodidad y qué está conectada vía Ethernet).
  • Un cable de impresora (de la longitud que nos haga falta).
  • Un ordenador con conexión a internet.
  • Aproximadamente unos 30 minutos de tiempo libre.

Software

  • CUPS
  • [Home Assistant][hass]*

*Si queremos, conectaremos este sistema final a Home Assistant (aunque no es el fin de este tutorial, pero es inmediato).

Instalación

Para empezar vamos a conectar la impresora por cable a la Raspberry que estemos usando (si estáis usando una Raspberry Zero necesitareis un adaptador OTG para el cable). Vamos a acceder por SSH a la Raspberry para hacerlo todo desde nuestro ordenador (está detallado en la web de Raspberry); si tenéis la Raspberry conectada a un monitor y queréis usarla por ese medio es igualmente válido.

Vamos a, primero, actualizar la Raspberry:

1
sudo apt update && apt upgrade -y

Actualización Raspberry

A continuación vamos a instalar el paquete de CUPS y añadir el usuario actual (pi) al conjunto de usuarios que pueden acceder a los servicios de impresión.

PD: en mi caso estoy usando el usuario por defecto pi, que no tiene porqué ser el mismo. Eso sí, es recomendable si no lo habéis hecho ya, ¡CAMBIAR LA CONTRASEÑA POR DEFECTO! (con passwd).

1
2
3
sudo apt install cups

sudo usermod -a -G lpadmin pi

Tras unos segundos / minutos CUPS estará instalado y disponible a través del puerto por defecto: 631. Entramos desde el navegador en:

192.168.1.239:631 (donde la IP será la que tenga vuestro dispositivo)

Interfaz de CUPS

Vamos a ir a la pestaña de Impresoras a ver si ya nos detecta la impresora que hemos conectado previamente. No nos preocupemos si no aparece aquí todavía, aunque seguramente lo haga si está encendida (que debería estarlo, claro).

Impresora HP Envy

Ahora, independientemente de si aparecía impresora o no, vamos a la pestaña de Administración y damos click en Añadir Impresora.

Pestaña de administración Añadir impresora

Aquí, ahora sí, debe de aparecer en Impresoras locales la máquina que tenemos conectada. Selecciono, en mi caso, bajo Impresoras locales, la HP ENVY 5000 series (HP ENVY 5000 series) y hacemos click en Siguiente.

Ajustes iniciales impresora

Dejamos esto por defecto pero NO SE NOS PUEDE OLVIDAR MARCAR EL CHECK DE COMPARTIR ESTA IMPRESORA. ¡Es necesario! Volvemos a pinchar en Siguiente.

Modelo impresora

Se nos presenta una lista de modelos a elegir. Por defecto dejamos el primer modelo del listado que suele ser, a excepción de algún error extraño, siempre la opción correcta y hacemos click en Añadir Impresora. Nótese que la conexión indica usb://

Si a continuación se nos presenta una página de configuración por defecto, podemos dejarlo todo tal cual y seguir adelante. Nuestra impresora ya aparece en la pestaña de «Impresoras» de CUPS con Conexión: usb//.

Impresora añadida

Si desplegamos el selector que marca «Mantenimiento» en la imagen y seleccionamos «Imprimir página de prueba», nuestra impresora debería imprimir una página de prueba mostrando detalles de la impresora; sabemos entonces que todo ha ido perfectamente.

Página de prueba

Conectar impresora a Windows

Bueno, ahora que ya está la impresora conectada a red, vamos a «olvidarnos» de la interfaz tosca de CUPS y añadir la impresora a Windows para poder imprimir desde mi máquina.

Impresoras y escáneres

Abrimos el panel de Impresoras y escáneres de Windows y damos click en «Agregar una impresora o un escáner». Al estar conectada en red debería aparecer a los pocos segundos:

Impresora detectada

Es posible que esto tarde unos segundos o que sea necesario darle a añadir un par de veces, cosas de Microsoft. En cualquier caso, en unos segundos nuestra impresora ahora conectada debería estar añadida.

Impresora añadida a Windows

Si queremos probarla, podemos ir a Administrar > Imprimir una página de prueba y veremos que funciona igual que lo hicimos antes en CUPS.

Detalles del dispositivo

Hasta aquí, ya habríamos acabado, pero voy a aprovechar que existe en Home Assistant una integración de CUPS y añadiré la impresora para ver su estado desde el sistema de HASS.

Home Assistant

Según la documentación, esta integración no está disponible directamente desde la interfaz así que hay que añadirla como código .yaml en la ruta /config/integrations/cups.yaml.

1
2
3
4
5
6
7
sensor:
  - platform: cups
    host: 192.168.1.239
    port: 631
    is_cups_server: false
    printers:
      - HP_ENVY_5000_series

Siendo el nombre de la impresora el que aparezca en la pestaña de «Impresoras» de CUPS. Reiniciamos Home Assistant y deberíamos ver una nueva entidad correspondiente al estado de la impresora.

Entidad añadida a Home Assistant

This post is licensed under CC BY 4.0 by the author.

Instalación y configuración de receptor Zigbee en Home Assistant

Instalación de Sonarr y vínculo con Home Assistant