Raspberry Pi: configuración de la impresora e impresión de imágenes presionando un botón

La mayoría de las impresoras en estos días se pueden integrar fácilmente en la red y, por lo tanto, también se pueden usar en Raspberry Pi. Por lo tanto, pueden ser operados por muchos dispositivos y se pueden imprimir documentos o imágenes con ellos. Podemos imprimir documentos de texto simples en la Raspberry Pi o, por ejemplo, imágenes.

En este tutorial, primero instalamos el software para poder imprimir algo desde la Raspberry Pi y hacer la configuración. Luego construimos una «cámara instantánea» tomando una foto con solo presionar un botón y enviándola a la impresora de inmediato.

Piezas de hardware requeridas

Si solo quieres imprimir archivos, imágenes u otros documentos con la Raspberry Pi, solo necesitas lo siguiente:

No importa qué impresora uses. Si se puede acceder a él a través de la red, puede conectarle varios dispositivos. Pero incluso los dispositivos puramente cableados están bien.

Si se va a tomar una fotografía con solo presionar un botón y luego imprimirla, también se requieren las siguientes partes:

Instalación del software de la impresora Raspberry Pi

El requisito previo para poder reconocer una impresora inalámbrica en la red con Raspberry Pi es que la impresora ya se haya configurado. Cómo hacer esto está en el manual de la impresora y es mejor hacerlo usando una computadora.

Para poder reconocer nuestra impresora, utilizamos el software CUPS de Apple, que fue desarrollado para MacOS y otros sistemas Unix. Los controladores para todas las impresoras posibles están disponibles aquí y ellos gestionan toda la configuración, integración, etc.

Empezamos con la instalación, que puede tardar unos minutos. Para hacer esto, llamamos a una terminal (preferiblemente a través de una conexión de escritorio remoto, ya que la necesitaremos después):

sudo apt-get update && sudo apt-get install upgrade sudo apt-get install cups --yes

Durante la instalación, entre otras cosas, se crearon nuevos grupos de usuarios en los que agregamos nuestros usuarios (generalmente: pi):

sudo usermod -a -G lpadmin pi

Ahora podemos abrir el navegador (RDC) en la Raspberry Pi e ingresar la siguiente dirección:

Hay una advertencia de que el certificado (autofirmado) no es válido, pero podemos ignorarlo (Avanzado -> Continuar):

En el siguiente paso, navegamos a Administración y se nos piden los datos de acceso. Aquí ingresamos nuestros datos de acceso para el usuario (estándar: pi/raspberry):

Ahora presione «Agregar impresora».

Ahora se nos muestran diferentes impresoras. Para ello, seleccionamos la entrada correspondiente. A menudo, las impresoras tienen varias entradas, por lo que he elegido la variante «Sin controlador». Si tiene problemas para imprimir, puede probar una de las otras opciones. En mi caso, se trata de una impresora multifunción HP Office Jet 4620 (podemos entrar en más detalle sobre la función de escaneado en otro tutorial).

Posteriormente se solicitan algunos ajustes (idealmente compartimos la impresora), con lo cual guardamos la configuración. Llegamos al resumen donde, entre otras cosas, se enumeran todos los trabajos de impresión:

Por último, pero no menos importante, configuramos la impresora como predeterminada (selección: «Establecer como predeterminado del servidor»). Esto nos ahorra tener que ingresar el nombre de la impresora si agregamos un archivo a la cola a través de la línea de comando.

Primera prueba de la impresora

La impresora está configurada, así que hagamos nuestra primera prueba: cambiamos a la página de detalles de la impresora y seleccionamos «Imprimir página de prueba» o usamos un editor de texto o LibreOffice.

Para hacer esto, vaya al menú en la parte superior izquierda: Accesorios -> Editor de texto, Archivo -> Imprimir y seleccione la impresora.

La impresión debe comenzar inmediatamente. De lo contrario, simplemente edite la configuración de la impresora.

Proyecto: tome una foto con solo presionar un botón e imprímala en la Raspberry Pi

En un tutorial anterior, construimos una cámara con solo presionar un botón. Nos gustaría ampliar esta configuración para poder imprimir la imagen inmediatamente después. Entonces, comencemos con la estructura primero: Diagrama de circuito para el botón con una resistencia desplegable.

Usamos GPIO 17 (pin 11) como disparador. Puede encontrar más detalles sobre la estructura en el tutorial vinculado.

Antes de que podamos imprimir la imagen, primero tenemos que convertirla a un archivo PDF. Esto luego se puede imprimir. Usamos Python Package Pillow para esto:

pip3 install Pillow

Ahora creamos el script que espera el botón y luego crea la imagen de la cámara, crea un PDF a partir de él y luego imprime todo:

sudo nano camera_print.py

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

dieciséis

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

# -*- codificación: utf-8 -*-

desde RPi importar GPIO

desde fechahora fechahora de importación

importar os, tiempo

de imagen de importación PIL

Pin GPIOP = 17

FILE_PATH = «/inicio/pi/img_%s.%s»

def button_callback(número_gpio):

imprimir(«¡Botón presionado!»)

fechahora_cadena = fechahora.ahora().strftime(«%Y-%m-%d_%H-%M-%S»)

nombre de archivo = FILE_PATH % (datetime_string, «jpg»)

os.system(«raspistill -o %s» % nombre de archivo)

# convertir

image1 = Image.open(nombre de archivo)

im1 = imagen1.convert(‘RGB’)

pdf_filename = FILE_PATH % (datetime_string, «pdf»)

im1.save(nombre_de_archivo_pdf)

# enviar a la impresora

os.system(«lp %s» % pdf_nombre de archivo)

GPIO.setmode(GPIO.BCM)

GPIO.setup(GPIOPin, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)

GPIO.add_event_detect(GPIOPin, GPIO.RISING, callback=button_callback)

tratar:

mientras que es cierto:

tiempo.dormir(0.01)

excepto:

GPIO.limpieza()

Guarda con CTRL + O y sal del editor con CTRL + X.

Los siguientes cambios son interesantes (todos los detalles y explicaciones se pueden encontrar en el otro tutorial):

  • Líneas 18-21: Convertimos la imagen guardada en un archivo PDF y lo guardamos.
  • Línea 24: Con el comando lp podemos agregar archivos a la cola de impresión. También puede ingresar primero el comando manualmente en la consola y configurar otras opciones (como resolución, tamaño, impresora estándar, etc.) si es necesario. Si ha configurado varios dispositivos o no ha configurado una impresora estándar, necesita el parámetro -d seguido del nombre de la impresora.

Ahora podemos hacerlo todo:

sudo python3 camera_print.py

Por cierto: este tutorial también se creó debido a una de las muchas solicitudes de tutoriales de Raspberry Pi.