Proyecto #2: crear un tubo FIFO dedicado a la pantalla LCD

Los scripts detallados hasta ahora implican tener que escribir código en Python para poder generar un mensaje y enviarlo a la pantalla. Eliminar esta etapa permitiría reducir la complejidad del envío de mensajes. Para hacerlo, la solución se basa en el estándar tradicional IPC (Inter-Process Communication), a través del uso de un archivo especial, también llamado tubo FIFO (First In First Out) y ubicado en la carpeta /dev del sistema de archivos de la Raspberry Pi. En teoría, un tubo FIFO es un vaso comunicante, en el que dos procesos intercambian mensajes. De esta manera, Proceso 1 escribe en el tubo mientras que Proceso 2 escucha y lee los datos enviados por el tubo:

images/59.png

La manipulación de un tubo FIFO puede llevarse a cabo directamente desde la shell, a través del comando mkfifo:


pi@rasberrypi:~$ mkfifo fifo 
pi@rasberrypi:~$ ls -l fifo 
prw-rw-r-- 1 pi pi 0 mai   9 09:49 fifo 
pi@rasberrypi:~$ cat fifo
 

Como resultado del comando cat, se encuentra en suspensión a la espera de que se envíen los datos en el tubo. Para hacerlo, basta con abrir una segunda shell y escribir en el tubo:


pi@raspberrypi:~$ echo 'Esto es una prueba' > fifo 
pi@raspberrypi:~$
 

Cuando se ejecuta el comando, un simple vistazo a la primera shell muestra que el comando cat ya no está en suspensión y que el resultado del comando echo se ha transmitido a este proceso:


pi@raspberrypi:~$ cat fifo 
Esto...
Si desea saber más, le proponemos el siguiente libro:
couv_RITRASPYT.png
60-signet.svg
Versión impresa
20-ecran_lettre.svg
Versión online
41-logo_abonnement.svg
En ilimitado con la suscripción ENI
130-boutique.svg
En la tienda oficial de ENI
Anterior
Proyecto #1: comunicarse con la pantalla LCD
Siguiente
Proyecto #3: controlar la pantalla LCD desde una interfaz gráfica tkinter