Mide tus horas de trabajo desde casa con Raspberry Pi

Publicado por Loli Diéguez en

Si trabajas desde casa y tienes hijos o una pareja, probablemente te hayan interrumpido en una reunión importante. En este tutorial, configuraremos un método para decir al resto de habitantes de casa si estás ocupado o no.

Para ellos usaremos una pantalla LCD conectada a una Raspberry Pi.

¿Cómo funciona? 

Cuando hayas terminado, podrás hacer que la pantalla muestre tu situación en el trabajo a través de un navegador y haciendo click en un simple botón en la web cambiarás tu estado de disponible a ocupado

 

Por ejemplo, si haces clic en "En una reunión" la pantalla LCD pondrá esto: "En una reunión a las 2:12 p. M."

Los mensajes que podrás mostrar son estos, aunque podrás poner los que quieras:
  • Estado: disponible
  • Estado: ocupado
  • Estado: Ausente
  • En el teléfono
  • En una reunión
  • En una videollamada
  • Papeles de clasificación

Lo que necesitarás: 
  • Raspberry Pi Zero W con encabezados GPIO presoldados o puede soldarlos usted mismo. Podríamos haber usado cualquier modelo, pero la Raspberry Pi Zero W es pequeña y de bajo consumo.
  • Fuente de alimentación / tarjeta microSD / teclado / mouse / monitor / cable HDMI (para su Raspberry Pi)
  • Destornillador pequeño para ajustar el contraste de la pantalla LCD

 

Haz las siguientes conexiones entre la pantalla LCD y ti placa Pi

Desde la pantalla LCD usa 4 cables de puente de hembra a hembra, y conéctalos así:
  1. Conecta GND a un pin de tierra en la Raspberry Pi.
  2. Conecta VCC a 5V (pin 2) en la Raspberry Pi.
  3. Conecta el SDA al pin 3 de la Raspberry Pi.
  4. Conecta el SCL al pin 5 en la Raspberry Pi.
Configuración estándar de Raspberry Pi:
  1. Inserta la tarjeta microSD formateada con el sistema operativo Raspberry Pi.
  2. Conecta el teclado, el mouse y el monitor a tu Raspberry Pi.
  3. Conecta su fuente de alimentación a tu Raspberry Pi.

 

 

Ahora a configurar la pantalla LCD

 

1. Inicia tu Raspberry Pi . Si aún no tiene una tarjeta microSD, consulta nuestro artículo sobre  cómo configurar una Raspberry Pi por primera vez o cómo realizar una instalación de Raspberry Pi sin cabeza .

2. Abre la herramienta de configuración de Raspberry Pi desde el menú Preferencias en la GUI de Raspberry Pi OS.

3. Habilita 'I2C' en la pestaña Interfaces.

4. Haz clic en Aceptar para cerrar la ventana.

5. Abre una terminal. Puedes hacerlo presionando CTRL + T.

6. Descarga este archivo y descomprimelo

7. Navega hasta el directorio que acabas de crear. 

cd WFH_LCD

8. Prueba la configuración ingresando en la Terminal 

python lcd_disp.py


9.   Ajusta el dial de contraste en la parte posterior de la pantalla con un destornillador, hasta que se sienta cómodo con la salida. 

Ahora deberías ver un texto en la pantalla LCD que dice "¡Bienvenido¡ 

Ahora toca configurar los mensajes 

En esta sección, probaremos y configuraremos los diferentes mensajes que querrás poner en la pantalla para indicar si esta ocupado, reunido o lo que consideres.

 

1. Vete a la carpeta WFH_LCD y abre el archivo python test_messages.py en Geany o Thonny.

2. Ejecuta el código test_messages.py haciendo clic en el icono del avión de papel en Geany o en el botón Ejecutar en Thonny.

Ahora deberías ver varios mensajes de estado en la pantalla LCD durante 2 segundos cada uno. 

3. Presiona CTRL + C cuando desees detener los mensajes.  

Algunas consideraciones sobre el script test_messages.py:

  • El comando mylcd.lcd_display_screen se refiere al archivo i2c_lcd_driver.py que se incluyó en el archivo que descargaste.
  • En tu pantalla LCD, hay 2 líneas que contienen 16 caracteres por línea.
  • mylcd.lcd_display_string ("Bienvenido a", 1) indica la Pi que muestre "Bienvenido a" en la primera línea de la pantalla LCD. El primer parámetro es el texto y el segundo parámetro es el número de línea de la pantalla LCD. Si su cadena (primer parámetro) tiene más de 16 caracteres, solo los primeros 16 caracteres aparecerán en tu pantalla LCD.
  • La función currentTime () toma la hora actual y la formatea a la cadena Hora: Minuto AM / PM, es decir, '9:34 AM'
  • Si la hora que se muestra es incorrecta, vete a Configuración de Raspberry Pi -> pestaña Localización y "Establecer zona horaria" en tu zona horaria.
  • sleep (2) le dice a tu Pi que muestre cada mensaje durante 2 segundos antes de seguir adelante.
  • mylcd.lcd_clear () le dice a tu Pi que borre la pantalla LCD. 

4. Opcional: ahora puedes cambiar el texto a los mensajes de tu elección.

5. Ejecuta tu código actualizado para ver su texto en la pantalla LCD.

6. Abre status.py para editarlo en Geany o Thonny. Lo encontrarás en la carpeta WFH_LCD en tu administrador de archivos.

7. Ejecuta el código status.py haciendo clic en el icono del avión de papel en Geany o en el botón Ejecutar en Thonny. La pantalla LCD no debería cambiar en este momento. 

8. Inicia un navegador de internet como Chromium  o IExplorer.

9. Abre la URL “http: // raspberrypi: 5000 / api / busy”  y la pantalla LCD debería actualizarse a “Estado: Ocupado” con la hora actual de Pi.  

Notas de código sobre status.py:

  • Este código Python crea un API a las que puede llamar desde otro dispositivo en la red. Para probar esto, vete a otro ordenador y escribe el nombre de la Pi o la IP seguido de de ": 5000 / api / busy" (por ejemplo: http: // raspberrypi: 5000 / api / busy ) para ver el cambio de texto de la pantalla LCD a "Estado: ocupado"
  • El código “@ app.route ('/ api / available', methods = ['GET'])” le dice al Pi que mapee '/ api / available' para ejecutar la función switchAvailable () usando una solicitud GET de la API REST
  • La función switchAvailable () establece el texto en la pantalla LCD similar a lo que vio en test_messages.py

En este punto, puedes personalizar las funciones de texto de la pantalla LCD a estados que sean apropiados para tus propósitos, tomando nota de los nombres de API que puedes cambiar, agregar o eliminar.

Por ejemplo, si agregas una función para 'Escribir un libro', entonces necesitarías crear una llamada a la API, tal vez 'api / book' a status.py. 

No olvides probar todas tus llamadas a la API en Chromium antes de pasar al siguiente paso. 

URL para probar en Chromium:

  • http: // raspberrypi: 5000 / api / disponible
  • http: // raspberrypi: 5000 / api / busy
  • http: // raspberrypi: 5000 / api / away
  • http: // raspberrypi: 5000 / api / meeting
  • http: // raspberrypi: 5000 / api / phone
  • http: // raspberrypi: 5000 / api / grading
  • http: // raspberrypi: 5000 / api / email
  • http: // raspberrypi: 5000 / api / video
  • http: // raspberrypi: 5000 / api / th
  • http: // raspberrypi: 5000 / api / clear

Si realizaste cambios en status.py en el paso anterior agregando o quitando botones, deberás realizar los cambios correspondientes en tu archivo html.

Para hacer esto, desde tu administrador de archivos, vete a / home / pi / WFH_LCD / templates y haz clic derecho en lcd.html . Selecciona 'Geany' como su herramienta de edición. Si agregaste una llamada a la API en status.py , deberás agregar el botón correspondiente , la llamada a la API y la función en lcd.html.

Notas de código en lcd.html:

  • Hay 3 secciones principales en este documento HTML. 
  • La sección 1 crea botones gráficos para cada una de las entradas de estado. 
  • La sección 2 asigna las llamadas a la API a las variables. 
  • La sección 3 es una lista de funciones que se ejecutan cuando se presiona un botón para realizar la llamada a la API y anotar el estado del último clic en la página web.

Es posible que debas detener y reiniciar status.py desde Geany o Thonny. Asegúrate de que status.py se esté ejecutando antes de continuar con el siguiente paso.

Abre la URLhttp: //raspberrypi.local: 5000  en Chromium o en el navegador que mas fácil le resulte. 

Haz clic en cada botón para volver a probar las llamadas a la API. 

Ahora ves al navegador de Internet de escritorio y navega hasta: http: //raspberrypi.local: 5000 /

Haz clic en cualquiera de los botones de estado y observa cómo cambia el texto de la pantalla LCD de tu Pi.

Ahora regresamos a nuestra Raspberry Pi y configuramos el código status.py para que se ejecute en el arranque. 

1. Abre una terminal

2. Introduce el código
sudo nano /home/pi/.bashrc

3. Ingresa el siguiente texto en la parte inferior de .bashrc 

python /home/pi/WFH_LCD/status.py

4. Presiona Ctrl-X para salir e Y para guardar.

5. Reinicia tu Pi. 

Una vez que tu Pi se reinicia, deberías ejecutar automáticamente el script de python status.py cada vez. 

En estos días donde todos estamos trabajando desde casa, este proyecto puede ayudarte a avisar a tu familia o compañeros de piso si estas en una reunión o no.

Nota: Foto de portada

SI QUIERES OTROS ARTICULOS INTERESANTES SIGUE LEYENDO


Compartir esta publicación



← Publicación más antigua Publicación más reciente →