Este tutorial trata sobre la creación de un código QR (código de respuesta rápida) usando Raspberry Pi B y Python 3.7. El código QR es un código óptico legible por máquina. Óptico significa que se puede decodificar utilizando cualquier dispositivo de cámara. Un competidor directo del código QR es el código de barras. La ventaja del QR sobre el código de barras es que es más rápido de leer y puede almacenar mucha más información que el código de barras. Cualquier dispositivo con cámara se puede convertir en un lector de códigos QR, mientras que los códigos de barras necesitan un dispositivo láser dedicado para descifrar los códigos de barras.
Para Raspberry Pi, hay disponible una biblioteca/paquete QR dedicado para la creación de QR. Para importar el paquete de códigos QR al código de la aplicación, primero debe instalarlo. Para instalar el paquete, abra la Terminal Raspberry Pi y escriba:
$ pip3 instalar código qr
Nota : si está trabajando con python 2 en lugar de pip3, use pip para instalar la biblioteca. Debes usar pip o pip3 para instalar todas tus bibliotecas o paquetes.
Codificación QR
A continuación se muestra una generación de código QR simple utilizando el paquete qrcode.
Primero, importé el paquete qrcode al código de la aplicación. Entonces, la instrucción qrcode.make('ENGINEERS GARAGE') codifica el texto 'ENGINEERS GARAGE' en formato qrcode. El QR codificado se guarda en la variable de código. Finalmente, para guardar el código QR en la imagen, pasé el nombre del archivo code.save('qrtest.png') en el que se guardará el código qr.
La imagen de salida se muestra arriba. El tamaño de la imagen es 290×290. Los parámetros de la imagen, como el tamaño, el color, el fondo, los bordes y el tamaño del cuadro QR, se pueden ajustar utilizando las funciones de la biblioteca qrcode. Puede importar otros paquetes de manipulación de imágenes al código de la aplicación y se pueden aplicar filtros a la imagen de salida para aumentar el brillo, el contraste y la nitidez.
Decodificando QR
Para decodificar el qrcode, necesitamos instalar algunos paquetes más. Zbarlight es un contenedor popular para Python. Se utiliza para decodificar y extraer código qr de un archivo de imagen.
Abra Terminal en Raspberry Pi y escriba lo siguiente:
$ apt-get instalar libzbar0 libzbar-dev
$ pip3 instalar zbarlight
Utilice pip si está trabajando con Python 2. Puede experimentar errores durante la compilación. Lo más probable es que el error sea que falta un paquete. Zbarlight depende de otros paquetes preinstalados en el directorio de Python, pero a veces es necesario instalarlos manualmente. Instale todos los paquetes uno por uno (para cada instalación de paquete, visite Si dice PIL no encontrado, instálelo usando el comando
instalación de pip –no-index -f -U PIL
Después de una instalación exitosa, importe el paquete zbarlight a su código. También necesita importar el atributo de imagen del paquete PIL. El paquete PIL se utiliza para importar y trabajar con imágenes.
Descripción de variables y declaraciones.
- La variable file_path recibe la dirección de la imagen.
- Con open(file_path, 'rb') como image_file: abra el archivo como un archivo de imagen
- Imagen = Imagen.open(image_file) se crea el objeto de imagen
- cargar carga el objeto de imagen que contiene los datos de píxeles
- Codes = zbarlight.scan_codes(('qrcode'),image) Busca/decodifica el texto presente en los píxeles.
Finalmente, la declaración de impresión imprime el texto decodificado.
Utilicé Thonny ide presente en el sistema operativo Raspbian para escribir y probar código. En el lado izquierdo puedes ver la imagen generada colocada en el escritorio. Puedes ver Thonny ide qr en el código de extracción. La ruta del archivo de imagen qr apunta al escritorio. El resultado de la decodificación se muestra en la ventana del shell debajo de la ventana del código.
Hagamos este proyecto de bricolaje: ¿Dónde comprar piezas?
Raspberry pi (Electrónica Mouser)