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. Este foi mais um projeto da nossa caixa surpresa BlueBox.

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 marrom Pino GND
Jumper vermelho Pino 3V3
Jumper amarelo Pino 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.

Faça seu comentário

Acesse sua conta e participe

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.