Fazer uma luz de notificação gmail raspberry pi

Neste projeto Raspberry Pi rápido e fácil, você vai aprender como fazer uma luz de notificação de e-mail Gmail. Se você tiver quaisquer e-mails não lidos, um píton

roteiro transforma o LED. Este projeto requer muito poucas peças, e pode ser concluído em menos de uma hora! Pode, claro, vestir o seu LED qualquer maneira que você gosta, como um bloco redstone MineCraft, ou outro 3D objeto impresso em plástico transparente. Aqui está o resultado final:

O que você precisa

  • 1 x Pi framboesa
  • 1 x placa de ensaio
  • 1 x 220 ohm
  • 1 x 5 mm LED
  • 1 x conta Gmail
  • Masculino para ligar os fios do sexo feminino

Qualquer Raspberry Pi vai trabalhar para este projeto - até mesmo o Pi Zero! Apenas um pino GPIO é necessário, e não é particularmente intensivo da CPU. Se você tem um kit inicial Pi você tem mais do que suficiente peças para completar este.

Plano de construir

-Gmail-LED de notificação
Este é um projeto muito simples. A Light Emitting Diode (LED) está ligado a um (General Purpose Input Output) Pin GPIO na Pi. Um muito simples píton script será executado regularmente para verificar a e-mails não lidos e virar o LED ligado ou desligado em conformidade.

o Hardware

Gmail-Notification-Circuito
Conecte o ânodo positivo (perna longa) do LED para o resistor e depois para GPIO pin 14. Você pode usar qualquer pino GPIO, no entanto olhar para a pinagem primeiro, como eles variam um pouco entre os modelos. Ligue o cátodo negativo (perna curta com a borda plana) para o solo.

Setup Pi

Gmail-Notification-Pi
Proporcionar o seu Pi tem um sistema operacional (SO) instalado não há um monte de configuração necessária (não sei o que você precisa? Saiba como instalar um aqui). Abra um novo terminal (superior esquerdo gt; cardápio gt; Acessórios gt; terminal) Sobre o Pi (verificação geral estes atalhos para torná-lo um ninja codificação). Você precisa criar uma nova pasta para armazenar o script Python. Digite o seguinte comando:Como instalar um sistema operacional para seu Raspberry PiComo instalar um sistema operacional para seu Raspberry PiAqui está como se um novo sistema operacional instalado e funcionando em seu Pi - e como clonar sua configuração perfeita para recuperação de desastres rápida.consulte Mais informação

Video: Raspberry Pi - Beginner Tutorial of Adafruit Gmail LED Project!

pwd

Isso significa “print working directory” e vai mostrar o que a pasta que estão em (por padrão ser “/ home / pi”). Navegue para a pasta de documentos e criar um novo diretório (pasta) chamada “gmail_python”:

CD documentos /sudo mkdir gmail_python

O comando “mkdir” significa “Faça Directory”. Qualquer coisa seguindo este será usado para o nome do diretório. Agora você deve ser capaz de ver o seu diretório:

ls

Se você cometeu um erro, você pode facilmente remover este diretório:

sudo rm -r gmail_python

Agora navegue para o novo diretório:

CD gmail_python /

Crie um novo píton roteiro:

sudo nano check_messages.py

Isto irá criar o script e abri-lo pronto para edição no Nano. Você poderia naturalmente usar outro programa, como o Vim, embora este tweet resume os meus sentimentos sobre isso:

Brincadeira à parte, confira este comparação entre os dois para um colapso completo.nano contra vim: terminal texto Editores Comparadonano contra vim: terminal texto Editores ComparadoEmbora o Linux tornou-se bastante fácil para praticamente qualquer um usar sem ter que usar o Terminal, existem alguns de nós que usá-lo regularmente ou está curioso sobre como se pode controlar ...consulte Mais informação

pressione CTRL + X para sair Nano e voltar para o terminal.

Video: LED de notificação escondido no Moto G 4 Plus - Como Ativar

Setup Python

Gmail-Notificação-Code
Agora que o Pi é a instalação, é hora de escrever o código. Este projeto requer a excelente biblioteca Gmail Python por Charlie Guo. Baixar a biblioteca do Github e extraia o conteúdo. Dentro deve haver uma pasta chamada “gmail”. Copie esta pasta inteira em “/ home / pi / Documents / gmail_python”.

Video: Tenha um LED de notificação no seu android mesmo sem ter um padrão

Volte para a linha de comando e abrir seu script novamente (se você pressionar a tecla para cima você pode percorrer seus comandos digitados anteriormente):

sudo nano check_messages.py

Observe como que é o mesmo comando que utilizou para criar o arquivo - se já existe um ficheiro será aberto, caso contrário, ele será criado. Aqui está o píton:



importar gmail, RPI.GPIO Como GPIO, Tempo # módulos de importaçãoGPIO.DefinirAvisos(Falso)GPIO.setmode(GPIO.BCM) # Dizer a Pi que cabeçalhos de usarGPIO.configuração(14, GPIO.FORA) # Dizer a Pi este pino é uma saídag = gmail.entrar(`[email protected]`, `SUA SENHA`)Mensagens não lidas = g.caixa de entrada().enviar(Não lida=Verdade)total_messages = 0para mensagem dentro Mensagens não lidas:total_messages += 1E se total_messages gt; 0:# Existem e-mails não lidos, transformar a luz emGPIO.saída(14, Verdade)outro:# Não há e-mails não lidos, transformar a luz offGPIO.saída(14, Falso)

Você precisará digitar seu nome de usuário e senha para que isso funcione. Você pode visualizar o código-fonte completo para o plugin gmail se você gostaria de. Se você não se sentir confortável fazendo isso (ou você estiver usando autenticação de dois fatores) você precisará se conectar ao Gmail usando OAuth2. Isto é um pouco envolvido para este tutorial, no entanto Google tem um excelente guia de iniciação.

Vamos quebra o código. Primeiro alguns módulos são importados. módulos em píton são pequenos pedaços de código escrito para uma finalidade (semelhante a bibliotecas em Arduino IDE). RPi.GPIO é um módulo específico Pi para acessar o GPIO, gmail é o módulo que você baixou anteriormente, eo tempo é um módulo construído em Python para fornecer funções de temporização. Agora “GPIO.setmode” e “GPIO.setup” são usados ​​para contar a Pi que o pino 14 é uma saída, e que pretende usar “Broadcom Pin numeração” (mais informações sobre BCM).

Esta linha conecta-se a sua conta do Gmail. Ele cria um objeto chamado “g”, e chama o método de login do módulo gmail importado anteriormente. Não se esqueça de digitar o seu e-mail e senha do Gmail.

g = gmail.entrar(`[email protected]`, `SUA SENHA`)

Agora recuperar todas as mensagens não lidas e armazená-los em uma variável chamada “mensagens não lidas”:

Mensagens não lidas = g.caixa de entrada().enviar(Não lida=Verdade)

Observe como “não lida = True” é passado como um parâmetro - você pode mudar isso para recuperar mensagens com base em diferentes parâmetros, como remetente ou assunto. Confira a Interface documentação (API) de programação de aplicações para os lotes mais informações.

Video: Usando a tela Edge (S6/S7) para luz de notificação!!

Em seguida, um loop é usado para fazer um loop sobre cada mensagem:

para mensagem dentro Mensagens não lidas:total_messages += 1

Para laços são muito úteis. Eles repetir um bloco de código várias vezes, muitas vezes com um valor ligeiramente diferente de cada vez. Este loop passa sobre cada mensagem unread_messages e incrementa o “total_messages” variável.

Finalmente, algumas simples “se” são utilizadas declarações. Se houver mensagens não lidas, vire o LED, caso contrário, girar se fora.

Lembre-se que Python é sensível a maiúsculas e usa espaçamento branco. Se você está tendo problemas para obter o código seja executado, tente este site. Cole seu Python e pressione o botão “validar acima código python” botão. Isso deve, em seguida, dizer-lhe que (se houver) erros estão presentes em sua Python.

Mudar para o Terminal e executar o seu script:

check_messages.py python

Este comando irá executar o script. Tente alterar manualmente alguns e-mails em sua caixa de entrada para o status não lida e executar o script novamente - você deve ver o turn LED on ou off para refletir sua caixa de entrada.

Setup cron

Agora que o script funciona, é hora de automatizar. A maneira mais fácil de fazer isso é através de um trabalho cron. cron empregos são usados ​​para agendar tarefas e scripts, como backups automatizados. Abra a Crontab (lista de tarefas agendadas):

crontab -e

Se já há tarefas agendadas instalação, este arquivo estará vazia (ele pode conter documentação ou comentários, precedido por um “#”). Se você já tem entradas no aqui, basta digitar o seu novo comando em uma nova linha:

* * * * * Python ~ / pi / Documents / gmail_python / check_messages.py

Os cinco “estrelas” ( “* * * * *”) especificar quantas vezes para executar a tarefa (você pode obter muito chique aqui, por exemplo, a cada segunda quarta-feira em 2.00). Estes cinco estrelas especificar que a tarefa deve ser executada a cada minuto. Este é o menor intervalo permitido (saiba mais sobre agendamento cron). Em seguida, “python” diz o programador para executar o script como um arquivo de python. Finalmente, “~ / pi / Documents / gmail_python / check_messages.py” é o caminho de arquivo absoluto para o script - um caminho relativo não vai funcionar.Como agendar tarefas no Linux com Cron e CrontabComo agendar tarefas no Linux com Cron e CrontabA capacidade de automatizar tarefas é uma dessas tecnologias futuristas que já está aqui. Cada usuário Linux podem se beneficiar de sistema de agendamento e tarefas do usuário, graças ao cron, um serviço de fundo easy-to-use.consulte Mais informação

Agora você deve ter sua própria luz de notificação do Gmail! Seria muito simples para modificar este para procurar mensagens com base em um requisito ou filtro diferente (aprender a usar filtros aqui), Ou executar uma peça diferente do código - talvez você poderia criar um bot no Twitter que os tweets com base em e-mails (aprender mais sobre a construção de um bot Pi Twitter).

No entanto você acaba de codificação sua caixa de notificação, eu adoraria saber como ele vai nos comentários!


Artigos relacionados