Fotos con texto personalizado con la camara de tu raspberry pi

En la entrada anterior os mostrabamos como conectar un sensor de temperatura y humedad DHT11 y DHT22.

Ahora vamos a ver como insertar estas lecturas en una foto tomada con nuestra camara conectada a la raspberry y el comando raspistill.

Bien, como ya mostramos anteriormente, para insertar texto en una captura utilizamos las librerias de Imagemagick y usabamos el comando Convert.

Pues en esta ocasión vamos a insertar un texto personalizado que nosotros mismos introduciremos en el script de captura y que siempre será el mismo y además insertaremos también un texto que será variable y que vendrá de un txt.

Lo primero es crear el archivo txt.  En este caso utilizaremos las lecturas de nuestro sensor de temperatura/humedad. Creamos un script que contenga lo siguiente:

#!/bin/bash
while [ true ]; do
sudo /home/raspiman/Adafruit_Python_DHT/examples/AdafruitDHT.py 22 4 > /home/raspiman/temperatura.txt
sleep 30;
done

Lo que le estamos diciendo con este comando es que cada 30 segundos envie las lecturas de nuestro sensor a un archivo txt

Una vez tenemos el archivo creamos el script de captura de imagenes con este codigo:

#!/bin/bash
SAVEDIR=/home/raspiman/webcam
sudo chmod a+rw /dev/vchiq
while [ true ]; do
t=$(cat /home/raspiman/temperatura.txt)
/opt/vc/bin/raspistill –rotation 180 -w 2048 -h 1536 -n -e bmp -o $SAVEDIR/pruebas5.jpg
sudo convert $SAVEDIR/pruebas5.jpg \
-pointsize 35 -fill red -annotate +50+50 “Webcam en pruebas – $(date)” \
-pointsize 35 -fill red -annotate +50+100 “$t” \
$SAVEDIR/pruebas5.jpg
sleep 20;
done;

Bien, la explicacion del script es la siguiente:

Primero le digo donde guardar las capturas, despues doy permisos a la webcam (a veces si no se le da estos permisos la webcam no se activa correctamente).

Lo siguiente (despues de insertar el comando while para que las capturas sean periodicas) es que le script lea el archivo txt. Seguidamente realizamos la captura y la guardamos como un jpg.

El siguietne comando es el que “edita” la captura insertando el texto, primero con un texto fijo que escribimos en el mismo script y luego un segundo texto procedente de la lectura del archivo txt.

Por ultimo se guarda el archivo ya editado y se le dice que espere 20 segundos antes de realizar la siguiente captura.

Podemos personalizar tanto el texto, asi como el color, tamaño y posición del mismo sin problemas.

Y por supuesto el txt puede contener el texto que queramos, en este caso hemos usado las lecturas de nuestro sensor de temperatura y humedad.

 

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *