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.
“PATROCINADO - Prueba los productos de Proton Privacy para proteger tu privacidad y seguridad y estarás contribuyendo al desarrollo de este sitio web sin ningún costo adicional - Proton Mail - Proton Drive - Proton Pass - Proton VPN”
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
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)
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).
Ahora, independientemente de si aparecía impresora o no, vamos a la pestaña de Administración y damos click en 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.
Dejamos esto por defecto pero NO SE NOS PUEDE OLVIDAR MARCAR EL CHECK DE COMPARTIR ESTA IMPRESORA. ¡Es necesario! Volvemos a pinchar en Siguiente.
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//.
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.
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.
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:
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.
Si queremos probarla, podemos ir a Administrar > Imprimir una página de prueba y veremos que funciona igual que lo hicimos antes en CUPS.
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.
“Los enlaces a productos de Amazon que encuentras en esta página son enlaces de afiliado. Esto significa que si decides realizar una compra a través de estos enlaces, recibiré una pequeña comisión sin ningún costo adicional para ti. Estas comisiones ayudan a mantener y apoyar mi trabajo en este sitio web. ¡Gracias por tu apoyo!”
“PATROCINADO - Prueba los productos de Proton Privacy para proteger tu privacidad y seguridad y estarás contribuyendo al desarrollo de este sitio web sin ningún costo adicional - Proton Mail - Proton Drive - Proton Pass - Proton VPN”