Hacer una luz de notificación gmail frambuesa pi

En este proyecto rápido y fácil Frambuesa Pi, usted aprenderá cómo hacer una luz de notificación de correo electrónico Gmail. Si tiene alguna correos electrónicos no leídos, una Pitón guión Enciende el LED. Este proyecto requiere muy pocas piezas, y se puede completar en menos de una hora! Se puede vestir, por supuesto, su LED de la forma que desee, como un bloque de piedra roja Minecraft, u otro objeto 3D impreso en plástico transparente. Aquí está el resultado final:

Que necesitas

  • 1 x Frambuesa Pi
  • 1 x breadboard
  • 1 x 220 ohm resistor
  • 1 x 5mm LED
  • cuenta 1 x Gmail
  • Hombre para conectar cables hembra

Cualquier Frambuesa Pi va a trabajar para este proyecto - incluso el cero pi! Sólo se necesita un pin GPIO, y no es particularmente intensivo de la CPU. Si usted tiene un kit de inicio Pi podrá tener más que suficiente para completar esta parte.

construir plan

Gmail-Notificación-LED
Este es un proyecto muy simple. Un diodo emisor de luz (LED) está conectado a un (General Purpose Input-Output) pin GPIO en el Pi. Una muy simple Pitón script se ejecute regularmente para comprobar los correos electrónicos no leídos y gire el LED encendido o apagado en consecuencia.

el hardware

Gmail-Notificación-Circuito
Conectar el ánodo positivo (pata larga) del LED a la resistencia y luego a GPIO pin 14. Se puede usar cualquier pin GPIO, sin embargo mirar el pinout en primer lugar, ya que varían ligeramente entre los modelos. Conecte el cátodo negativo (pierna corta con borde plano) a tierra.

Configuración del Pi

Gmail-Notificación-Pi
Proporcionar a su Pi tiene un sistema operativo (OS) no hay un montón de configuración necesaria (no estoy seguro de lo que necesita? Aprender cómo instalar una aquí). Abrir una nueva terminal (Arriba a la izquierda gt; menú gt; Accesorios gt; Terminal) En el Pi (Pagar estos atajos para hacer que un ninja codificación). Es necesario crear una nueva carpeta para almacenar la secuencia de comandos de Python. Ejecute el mandato siguiente:Cómo instalar un sistema operativo para su Frambuesa PiCómo instalar un sistema operativo para su Frambuesa PiAquí es cómo conseguir un nuevo sistema operativo instalado y funcionando en su pi - y cómo clonar su configuración perfecta para una recuperación rápida.Lee mas

pwd

Esto significa “directorio de trabajo de impresión”, y le mostrará lo que está en la carpeta que (por defecto es “/ home / pi”). Navegue a la carpeta de documentos y crear un nuevo directorio (carpeta) llamado “gmail_python”:

discos compactos Documentos/sudo mkdir gmail_python

El comando “mkdir” es sinónimo de “Hacer Directorio”. Cualquier cosa después de esta se utiliza para el nombre del directorio. Ahora debería ser capaz de ver su directorio:

ls

Si comete un error, puede quitar fácilmente este directorio:

Vídeo: Raspberry Pi - Beginner Tutorial of Adafruit Gmail LED Project!

sudo rm -r gmail_python

Ahora navegar en el nuevo directorio:

discos compactos gmail_python /

Crear un nuevo Pitón guión:

Vídeo: Making Raspberry Pi Web Controls

sudo nano check_messages.py

Esto creará el guión y abrirlo listo para la edición de Nano. Se podría utilizar, por supuesto, otro programa, como Vim, aunque este tweet resume mis sentimientos al respecto:

Vídeo: TUTORIAL & TIPS MIUI (XIAOMI)COMO ACTIVAR NOTIFICACIONES PUSH WHATSAPP, GMAIL, TELEGRAM,ETC EN MIUI

Bromas aparte, echa un vistazo a este comparación entre los dos para un desglose completo.nano vs vim: Terminal de texto Editores Comparadonano vs vim: Terminal de texto Editores ComparadoAunque Linux se ha convertido en bastante fácil para prácticamente cualquiera pueda utilizar sin tener que utilizar el terminal, hay algunos de nosotros que utilizan regularmente o tienen curiosidad acerca de cómo se puede controlar ...Lee mas

prensa CTRL + X Nano para salir y volver a la terminal.

Configuración del pitón

Gmail-Notificación-Code
Ahora que el Pi es la configuración, es el momento de escribir el código. Este proyecto requiere la Biblioteca excelente Gmail Python por Charlie Guo. Descargar la biblioteca de Github y extraer el contenido. En el interior no debe haber una carpeta llamada “Gmail”. Copiar esta carpeta entera en “/ home / pi / Documentos / gmail_python”.

Cambie de nuevo a la línea de comandos y abrir la secuencia de comandos de nuevo (si se pulsa la tecla de arriba puede desplazarse a través de los comandos introducidos anteriormente):

sudo nano check_messages.py

Observe cómo es el mismo comando que utilizó para crear el archivo - si ya existe un archivo, se le abrirá, de lo contrario se creará. Aquí esta la Pitón:

importar gmail, RP _.GPIO como GPIO, hora # módulos de importaciónGPIO.EstablecerAdvertencias(Falso)GPIO.modo de ajuste(GPIO.BCM) # Decirle al Pi lo cabeceras de usarGPIO.preparar(14, GPIO.FUERA) # Decirle al Pi de este pin es una salidagramo = gmail.iniciar sesión(`[email protected]`, `TU CONTRASEÑA`)unread_messages = gramo.bandeja de entrada().correo(no leído=Cierto)total_messages = 0para mensaje en unread_messages:total_messages += 1Si total_messages gt; 0:# Hay mensajes no leídos, a su vez luz sobreGPIO.salida(14, Cierto)más:# No hay mensajes no leídos, apagar la luzGPIO.salida(14, Falso)

Usted tendrá que introducir su nombre de usuario y una contraseña para que esto funcione. Usted puede ver el código fuente completo para el plugin de Gmail si quisiera. Si usted no se siente cómodo haciendo esto (o si está utilizando autenticación de dos factores) que tendrá que conectarse a Gmail usando OAuth2. Esto es un poco involucrados en este tutorial, sin embargo, Google tiene una excelente guía de introducción.

Vamos a la descomposición del código. En primer lugar algunos módulos son importados. Los módulos en Pitón son pequeñas piezas de código escrito para un propósito (similar a las bibliotecas en el IDE de Arduino). RPi.GPIO es un módulo específico Pi para acceder al GPIO, Gmail es el módulo que ha descargado previamente, y el tiempo es un módulo integrado en Python para proporcionar funciones de temporización. Ahora “GPIO.setmode” y “GPIO.setup” se utilizan para contar la Pi que el pin 14 es una salida, y que quieren utilizar “Broadcom Numeración de las patillas” (más información sobre BCM).

Esta línea se conecta a su cuenta de Gmail. Se crea un objeto llamado “g”, y llama al método de inicio de sesión del módulo de Gmail importado previamente. No olvide introducir su correo electrónico y contraseña de Gmail.

gramo = gmail.iniciar sesión(`[email protected]`, `TU CONTRASEÑA`)

Ahora recuperar todos los mensajes no leídos y almacenarlos en una variable llamada “mensajes no leídos”:

unread_messages = gramo.bandeja de entrada().correo(no leído=Cierto)

Observe cómo “sin leer = True” se pasa como un parámetro - se puede cambiar esto para recuperar mensajes en función de diferentes parámetros, como el remitente o el asunto. Echa un vistazo a la documentación de la interfaz de programación de aplicaciones (API) para las porciones más información.

A continuación, un bucle for se utiliza para iterar sobre cada mensaje:

para mensaje en unread_messages:total_messages += 1

Para bucles son muy útiles. Repiten un bloque de código varias veces, a menudo con un valor ligeramente diferente cada vez. Este bucle for alto cada mensaje en unread_messages y incrementa la variable “total_messages”.

Por último, algunos simples “si” se utilizan estados. Si hay mensajes no leídos, encender el LED, de lo contrario apagarla.

Recuerde que Python mayúsculas y minúsculas, y utiliza espaciado blanco. Si usted está teniendo problemas para conseguir el código para ejecutar, probar este sitio web. Pegar su Python y pulse el botón “validar por encima de código Python”. Esto entonces debe decirle lo que (si los hay) los errores están presentes en su Python.

Cambiar a la terminal y ejecutar la secuencia de comandos:

check_messages.py pitón

Este comando se ejecutará la secuencia de comandos. Intenta cambiar manualmente algunos mensajes de correo electrónico en su bandeja de entrada con el estado sin leer y ejecutar el script de nuevo - debería ver el giro LED encendido o apagado para reflejar su bandeja de entrada.

Configuración cron

Ahora que el script funciona es el momento de automatizarlo. La forma más sencilla de hacerlo es a través de una tarea programada. Cron puestos de trabajo se utilizan para tareas y secuencias de comandos de programación, tales como copias de seguridad automatizadas. Abrir el crontab (lista de tareas programadas):

crontab -mi

Si no hay tareas programadas ya la instalación, este archivo estará vacío (que puede contener documentación o comentarios, precedido por un “#”). Si ya tiene entradas de aquí, entra tu nuevo comando en una nueva línea:

* * * * * Pitón ~ / pi / Documentos / gmail_python / check_messages.py

Los cinco “estrellas” ( “* * * * *”) especificar la frecuencia de ejecución de la tarea (se puede conseguir realmente especial aquí, por ejemplo, cada segundo miércoles a las 2.00). Estas cinco estrellas especifican que la tarea debe ejecutarse cada minuto. Este es el intervalo más pequeño permitido (más información acerca la programación de tarea programada). A continuación, “pitón” le dice al planificador para ejecutar el script como un archivo de pitón. Por último, “~ / pi / Documentos / gmail_python / check_messages.py” es la ruta de acceso absoluta a su script - una ruta relativa no funcionará.Cómo programar tareas en Linux con Cron y CrontabCómo programar tareas en Linux con Cron y CrontabLa capacidad de automatizar tareas es una de esas tecnologías del futuro que ya está aquí. Cada usuario de Linux puede beneficiarse de sistema de programación y las tareas del usuario, gracias a cron, un servicio en segundo plano y fácil de usar.Lee mas

Ahora debe tener su propia luz de notificación Gmail! Sería muy sencillo de modificar esto para buscar mensajes en función de un requerimiento o filtro diferente (aprender a utilizar filtros aquí), O ejecutar una parte de código distinta - tal vez se podría crear un bot de Twitter que los tweets basan en correos electrónicos (aprender más sobre la construcción de un robot Pi Twitter).

Sin embargo se termina la codificación de su cuadro de notificación, me gustaría saber cómo va en los comentarios!

Artículos Relacionados