Notificador de e-mails do Gmail 1

Às vezes, uma notificação no canto da tela do computador ou um pequeno ícone no nosso smartphone não é suficiente para lembrarmos que há novas mensagens na caixa de entrada do nosso e-mail. Neste tutorial, você vai aprender a construir um notificador de e-mails do Gmail para que você seja avisado de uma forma muito mais divertida quando uma nova mensagem chegar na sua caixa de entrada.

Imagem 1 - Notificador de e-mails do Gmail

O notificador de e-mail do Gmail é um projeto IoT que tem como principais componentes o Módulo WiFi ESP8266 NodeMCU e um Micro Servo. Toda vez que um novo e-mail chega na sua caixa de entrada a bandeira do seu notificador será acionada. Tudo isso acontece com o auxílio de duas plataformas: Adafruit IO e o Zapier

Pronto para colocar a mão na massa

Materiais necessários para o notificador de e-mails do Gmail

Imagem 2 - Material necessário para o notificador de e-mails do Gmail

Para  desenvolver a parte eletrônica do seu notificador de e-mails do Gmail, você vai precisar dos seguintes itens:

Além disso, você vai precisar de 5 peças feitas na impressora 3D:

  • (5) Bandeira
  • (6) Tampa superior
  • (7) Tampa inferior
  • (8) Tampa frontal
  • (9) Tampa traseira (com saída para o micro USB)

Você pode fazer o download de todas as peças para seu notificador de e-mails do Gmail aqui.

Montagem do notificador e e-mails do Gmail

Encaixe o micro servo na tampa superior.

Imagem 3 - Montagem do notificador de e-mails do Gmail

Faça as conexões dos jumpers macho-fêmea no conector do micro servo

Imagem 4 - Montagem do notificador de e-mails do Gmail

Agora conecte o micro servo ao NodeMCU da seguinte forma: 

Micro servo NodeMCU
Jumper marromPino GND
Jumper vermelhoPino 3V3
Jumper amareloPino D1

Imagem 5 - Montagem do notificador de e-mails do Gmail

Agora encaixe o NodeMCU na tampa inferior.

Imagem 6 - Montagem do notificador de e-mails do Gmail

Encaixe a tampa inferior na tampa superior.

Imagem 7 - Montagem do notificador de e-mails do Gmail

Encaixe a tampa da frente na sua caixa notificadora.

Imagem 8 - Montagem do notificador de e-mails do Gmail

Encaixe a tampa traseira na caixa notificadora.

Imagem 9 - Montagem do notificador de e-mails do Gmail

Encaixe a bandeira.

Imagem 10 - Montagem do notificador de e-mails do Gmail

Conecte o cabo USB – micro USB.

Imagem 11 - Montagem do notificador de e-mails do Gmail

No final da montagem, seu notificador de e-mails do Gmail terá a seguinte aparência. 

Imagem 12 - Montagem do notificador de e-mails do Gmail

Agora precisamos configurar o feed na Adafruit IO e o Zapier para que você seja notificado toda vez que um novo e-mail chegar na sua caixa de entrada! Vamos lá?

BlueBox FilipeFlop

Configurações Adafruit IO para o notificador e e-mails do Gmail

O primeiro passo é criar uma conta na Adafruit IO. Se você já possui uma conta, basta fazer o login. 

É necessário criar um novo feed para armazenar os dados dos e-mails recebidos. Então, vá até a página de feeds da Adafruit IO. Depois, clique em Actions -> Create a New Feed e nomeie esse novo feed como gmail.

Imagem 14 - Configurações Adafruit IO

Imagem 15 - Configurações Adafruit IO

Você também vai precisar do nome de usuário e da chave ativa relacionada a sua conta. Para obter essas informações clique no ícone AIO Key.

Imagem 16 - Configurações Adafruit IO

Imagem 17 - Configurações Adafruit IO

Guarde essas duas informações, elas serão usadas mais tarde.

Configurações Zapier

O Zapier é uma plataforma que permite você conectar diferentes serviços. No nosso caso, iremos utilizar o Zapier para conectar o Gmail e o feed da Adafruit IO.

Primeiro, você precisará criar uma conta no Zapier e utilizar um convite para o aplicativo Adafruit IO no Zapier

Abra o Zapier Editor. Precisamos configurar a aplicação de condição, que neste caso é o Gmail. Portanto, em Choose App & Event busque por Gmail. Em Choose Trigger Event selecione New Email. No final, clique em Continue

Imagem 18 - Configurações Zapier

Depois, em Choose Account insira sua conta do Gmail.

Imagem 19 - Configurações Zapier

Em Customize Email, selecione Inbox.

Imagem 20 - Configurações Zapier

Clique em Test & Rewiew para garantir que tudo esteja funcionando corretamente.

Imagem 21 - Configurações Zapier

Agora precisamos configurar a aplicação de ação, que é a Adafruit IO. Então, em Choose App busque por Adafruit IO. Em Choose Action Event selecione Send Value to Feed. Por fim, clique em Continue.

Imagem 22 - Configurações Zapier

Depois, Em Choose Account insira as informações da sua conta Adafruit IO. Clique então em Continue.

Imagem 23 - Configurações Zapier

Em Value selecione Date e em Feed escreva gmail. Clique em Continue.

Imagem 24 - Configurações Zapier

Depois, clique em Test & Review para que o Zapier envie um valor teste para o feed do Gmail.

Imagem 25 - Configurações Zapier

Navegue até o feed gmail na Adafruit IO.

Imagem 26 - Configurações Zapier

Você deve ver um novo valor criado alguns segundos atrás. Caso contrário, verifique as etapas anteriores.

Configurações da IDE do Arduino para o NodeMCU

Entre na IDE do Arduino e clique em Arquivo -> Preferências.

Imagem 27 - Configurações da IDE do Arduino

Digite o link abaixo no campo URLs adicionais de Gerenciadores de Placas:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

A sua tela ficará assim:

Imagem 28 - Configurações da IDE do Arduino

Clique em OK para retornar à tela principal da IDE.

Depois clique em Ferramentas -> Placa -> Gerenciador de Placas.

Imagem 29 - Configurações da IDE do Arduino

Na barra de busca digite esp8266. Aparecerá então esp8266 by ESP8266 Community. Clique em instalar.

Imagem 30 - Configurações da IDE do Arduino

Imagem 31 - Configurações da IDE do Arduino

Após alguns minutos as placas da linha ESP8266 já estarão disponíveis na lista de placas da IDE do Arduino. Vá em Ferramentas -> Placa e selecione NodeMCU 1.0 (ESP12-E Module).

Imagem 32 - Configurações da IDE do Arduino

Pronto! Agora você pode conectar o NodeMCU ao seu computador. Não esqueça de selecionar a porta que o mesmo está conectado. Para isso vá em Ferramentas -> Porta e selecione a porta que o NodeMCU está conectado

Código

Antes de carregar o código para a placa, é necessário baixar e instalar três bibliotecas:

Faça o download das bibliotecas, descompacte as pastas e cole as mesmas na pasta Libraries do Arduino. Por fim, reinicie a IDE.

Copie e cole o código abaixo:

// Bibliotecas utilizadas
#include <AdafruitIO_WiFi.h>
#include <ESP8266WiFi.h>
#include <Servo.h>

// Credenciais da conta Adafruit IO
#define IO_USERNAME     "insira-nome-do-usuario-da-Adafruit-IO"
#define IO_KEY          "insira-a-chave-ativa-da-Adafruit-IO"

// Credenciais da rede WiFi
#define WIFI_SSID       "insira-nome-da-rede-wifi"
#define WIFI_PASS       "insira-senha-da-rede-wifi"

AdafruitIO_WiFi io(IO_USERNAME, IO_KEY, WIFI_SSID, WIFI_PASS);

// Pino do NodeMCU que o servo está conectado
#define SERVO_PIN D1

// Posição 1 da bandeira, em graus
#define FLAG_UP 90

// Posição 2 da bandeira, em graus
#define FLAG_DOWN 180

// Tempo para a bandeira ir da posição 1 para a posição 2, em segundos
#define FLAG_DELAY 20

Servo servo;

AdafruitIO_Feed *gmail_feed = io.feed("gmail");

void setup() {
  
  Serial.begin(115200);

  Serial.print("Notificador de e-mails do Gmail");
  
  servo.attach(SERVO_PIN);

  // Conexão inicial com a Adafruit IO
  Serial.print("Conectando com Adafruit IO");
  io.connect();
  gmail_feed->onMessage(handleMessage);
  while(io.status() < AIO_CONNECTED) {
    Serial.print(".");
    delay(500);
  }
  
  Serial.println();

  gmail_feed->get();
  
  // Coloca a bandeira na posição 1
  servo.write(FLAG_DOWN);
}

void loop() {
   io.run();
}

// Função chamada sempre que há uma novo dado na Adafruit IO
void handleMessage(AdafruitIO_Data *data) {
  Serial.println("Você tem um novo e-mail!");
  servo.write(FLAG_UP);
  delay(FLAG_DELAY * 1000);
  servo.write(FLAG_DOWN);
}

Antes de carregar o código para a placa você precisa inserir o nome do usuário na Adafruit IO, a chave ativa e as credenciais da sua rede WiFi. Para isso, basta alterar as seguintes linhas do código acima. 

// Credenciais da conta Adafruit IO 
#define IO_USERNAME "insira-nome-do-usuario-da-Adafruit-IO"
#define IO_KEY "insira-a-chave-ativa-da-Adafruit-IO"

// Credenciais da rede WiFi 
#define WIFI_SSID "insira-nome-da-rede-wifi" 
#define WIFI_PASS "insira-senha-da-rede-wifi"

Agora você já pode carregar o código para o NodeMCU. Esse processo pode levar algum tempo, não se preocupe. No final você terá a seguinte mensagem. 

Imagem 33 - Configurações da IDE do Arduino

Vamos ver seu notificador de e-mails do Gmail funcionando?

Funcionamento do notificador e e-mails do Gmail

Com seu notificador de e-mails do Gmail montado, aplicações configuradas, código carregado e NodeMCU ligado, podemos verificar o funcionamento do projeto. Envie um e-mail para a sua conta Gmail e aguarde a notificação.

Imagem 34 - Notificador de e-mails do Gmail

O Zapier checa sua caixa de entrada a cada a 15 minutos. Aguarde esse tempo para ser notificado. 

É possível fazer várias customizações no seu notificador e-mail do Gmail, como por exemplo: ser avisado apenas quando novas mensagens chegarem em uma pasta específica do Gmail (configuração feita no Zapier) ou alterar o tempo que a bandeira fica levantada depois que você recebe uma nova mensagem (configuração feita no código para o NodeMCU). Fique a vontade para customizar da maneira que achar melhor!

Gostou do projeto notificador de e-mails do Gmail? Conte para a gente o que achou deixando um comentário aqui embaixo! Para ter acesso a mais conteúdos como esse, visite nosso blog.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Um Comentário

  1. Really myself to say something about it.You’re doing a great job.Keep it up
    Thanks & Regards,
    From Call Center Software.