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:
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...