Tenía la necesidad de poder imprimir (en mi HP LaserJet 1020) sin tener que estar encendiendo el ordenador cada vez. Aun así era bastante cómodo el hecho de imprimir desde cualquier lado y sin tocar nada, se imprimía el documento que había mandado por Google Print y lo único que tenía que hacer era pulsar el boton power del ordenador que tenía la impresora.

Pues bien, ahora mismo ya no tengo la necesidad de encender el ordenador si no que hay uno ya encendido siempre, una Raspberry Pi compartiendo la impresora por la red y en Google Print.

Pre-requisitos

  • Raspberry Pi (la que sea, yo he empleado la 2)
  • MicroSD (yo tengo una de 8Gb)
  • Carcasa / Caja de la Raspberry Pi ¿?
  • Impresora (Claro está… La mia es la HP LaserJet 1020 bastante antigua pero funciona genial)

Instrucciones

Hay que montar el sistema operativo. Yo uso Raspbian, distro basada en Debian, vosotros usad la que queráis. Ahora mismo esta la version Jessie Lite. No os voy a decir como montarla lo siento, para eso hay mil videos en Youtube que te encantarán.

Una vez tengamos nuestra Raspberry Pi lista, os aconsejo ponerle la ip fija por llevar un orden en tu red mas que nada y para poder configurar la Raspberry remotamente sin necesidad de que un día se vaya la luz, se rompa tu router (adios servidor DHCP) y tengas que encender la Raspberry conectada a un monitor por HDMI únicamente para ver que ip tiene (ifconfig). Bueno os he puesto en un caso poco frecuente, pero quien sabe…

Ip fija para la raspberry (eth0)

Hay que editar el siguiente **archivo **

/etc/network/interfaces

Haced una copia antes, por si se rompe algo…

$ cp /etc/network/interfaces /etc/network/interfaces_old $ vi /etc/network/interfaces

#Contenido del archivo auto eth0iface lo inet loopbackiface eth0 inet static address rasp.berry.pi.ip netmask net.mask.rasp.berry gateway gate.way.rasp.berryallow-hotplug wlan0iface wlan0 inet manual    wpa-conf /etc/wpa_supplicant/wpa_supplicant.confallow-hotplug wlan1iface wlan1 inet manual    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Guardar, Reiniciar y vovler a conectar vía SSH (a la nueva IP) .

Actualizar dependencias

$ sudo apt-get update && upgrade

Instalar Servidor de impresión CUPS

Eliminamos los paquetes de HP y gestores de dispositivos innecesarios:

$ apt-get purge hplip* system-config-printer-udev

Instalar Servidor de impresión CUPS, luego podremos acceder vía web a la configuración y podremos añadir nuestra impresora (http://ip.de.la.raspberry:631).

$ apt-get install cups hpijs-ppds build-essential foomatic-filters $ sudo usermod -a -G lpadmin pi

Una vez tengamos el servicio CUPS instalado tenemos que configurar el archivo de configuracion cups.conf para permitir el acceso desde nuestra red a la administracion via navegador de CUPS porque por defecto solo se puede administrar localmente (osea desde localhost):

$ nano /etc/cups/cupsd.conf

Aquí dentro deberemos de realizar estos cambios:

… # Only listen for connections from the local machine.# Listen :631</span>Port 631 … # Restrict access to the server…  Order allow,deny  Allow @local</Location># Restrict access to the admin pages…<Location /admin>  Order allow,deny  Allow @local</Location># Restrict access to configuration files…<Location /admin/conf>  AuthType Default  #Require user @SYSTEM  Allow 192.168.1.</em>  Order allow,deny</Location> …</p>

Reiniciar el servicio CUPS para que inicie con los nuevos parametros:

service cups restart

Drivers Foo2zjs (HP LaserJet 1020 en CUPS)

El controlador que debemos instalar es foo2zjs.

A continuación se muestra los pasos a seguir para poder instalar la HP LaserJet 1020 en CUPS

Si no es vuestro caso seguro que existen tutoriales para poder instalar la vuestra sin problemas**.**

Seguir estos pasos para instalar los Drivers foo2zjs para la HP LaserJet 1020:

$ wget -O foo2zjs.tar.gz http://foo2zjs.rkkda.com/foo2zjs.tar.gz $ tar zxf foo2zjs.tar.gz $ cd foo2zjs $ make $ ./getweb 1020 $ make install $ make install-hotplug $ make cups

Desde es administrador de cups, dar de alta la nueva impresora, con el controlador “HP LaserJet 1020** Foomatic/foo2zjs-z1**“.

A mi me ha quedado de esta manera:

cups-raspberry-alejandroguerrero-es-1

</p>

Para probar la impresora se puede imprimir una pagina de prueba pulsando en el desplegable de “Mantenimiento“, “Imprimir pagina de prueba“.

Imprimir desde Airplay

Para imprimir desde los dispositivos de apple únicamente hay que instalar un paquete que a lo mejor ya se instalo al realizar la instalación de CUPS:

apt-get install avahi-daemon

Google Print en la Raspberry Pi

Una vez este lista la impresora e imprima correctamente, podemos compartirla para que podamos imprimir desde cualquier dispositivo Android o navegador Google Chrome etc.

Para ello vamos a añadir unos repositorios en las sources.list y vamos a instalar el paquete necesario para conectarnos con el conector de Google Print

Añadir el repositorio a nuestro Source.list

$ echo "deb http://davesteele.github.io/cloudprint-service/repo cloudprint-jessie main" | sudo tee /etc/apt/sources.list.d/cloudprint.list
$ wget -q -O - https://davesteele.github.io/key-366150CE.pub.txt | sudo apt-key add -
$ sudo apt-get update```

### Instalar el conector Google Print

`$ sudo apt-get -y install cloudprint-service`

**Hacer visible la impresora** para que el servicio de Cloud Print lo encuentre

$ sudo sed -i ‘s/Listen localhost:631/Listen *:631/’ /etc/cups/cupsd.conf
$ sudo sed -r -i ‘s/(Order allow,deny)/1n Allow all/’ /etc/cups/cupsd.conf
$ sudo usermod -a -G lpadmin pi
$ sudo systemctl restart cups«`

Configurar impresora

Ahora solo falta agregar la impresora en nuestro Administrador de Impresoras de Google Print. Para ello vamos a ejecutar un comando el cual nos pintará en la terminal una URL. Deberemos de acceder a esa url desde un navegador y darle los permisos necesarios.

$ sudo cps-auth

Un ejemplo de url puede ser algo parecido a esto:

https://goo.gl/printer/QWERTY

Así debería quedar:

cups-raspberry-alejandroguerrero-es-2

Ya podéis imprimir desde cualquier parte del mundo.

Enjoy!

</p>

Bibliografía

Fotos de la instalacióncilla

![Raspberry Pi 2](/content/images/2016/11/cups-raspberry-alejandroguerrero-es-3.jpg)
Raspberry Pi 2
![HP LaserJet 1020](/content/images/2016/11/cups-raspberry-alejandroguerrero-es-4.jpg)
HP LaserJet 1020
![Impresión de pruebas](/content/images/2016/11/cups-raspberry-alejandroguerrero-es-5.jpg)
Impresión de pruebas