Índice:

GmailBox com Zapier e Adafruit: 14 etapas
GmailBox com Zapier e Adafruit: 14 etapas

Vídeo: GmailBox com Zapier e Adafruit: 14 etapas

Vídeo: GmailBox com Zapier e Adafruit: 14 etapas
Vídeo: Connect DALL-E 2 to Excel with Google Forms: Easy Zapier Automation Tutorial 2024, Novembro
Anonim
GmailBox com Zapier e Adafruit
GmailBox com Zapier e Adafruit

Neste instrutível, explicarei passo a passo como construir um notificador do Gmail com o ESP8266.

O que você precisa:

- conta do Gmail

- conta Zapier

- conta Adafruit

- IDE Arduino

- NodeMCU ESP8266

- Servomotor (estou usando o SG90)

- Luz LED (estou usando uma faixa de LED Neopixel, outras luzes funcionarão bem, mas podem exigir outra biblioteca)

Etapa 1: Configurando o Zapier

Configurando o Zapier
Configurando o Zapier
Configurando o Zapier
Configurando o Zapier

Crie uma conta Zapier e faça um novo Zap. Você precisará do Zapier para receber os dados do Gmail e que depois irão para o Adafruit. Mais sobre isso mais tarde.

Etapa 2: Criação de um acionador

Criação de um gatilho
Criação de um gatilho
Criação de um gatilho
Criação de um gatilho

Queremos ter certeza de que, se você receber um e-mail no Gmail, algo mais acontecerá, então você precisará de sua conta do Gmail. No seu novo Zap, escolha o Gmail como gatilho do aplicativo e faça login no Gmail.

Etapa 3: Conectando Zapier com Adafruit

Conectando Zapier com Adafruit
Conectando Zapier com Adafruit
Conectando Zapier com Adafruit
Conectando Zapier com Adafruit
Conectando Zapier com Adafruit
Conectando Zapier com Adafruit

Agora você deseja enviar os dados que recebeu no Gmail para Adafruit. Na seção "Faça isso", procure Adafruit e conecte-se à sua conta Adafruit. Em seguida, selecione "Criar dados de feed" como evento de ação.

Etapa 4: Configurando Adafruit

Configurando Adafruit
Configurando Adafruit
Configurando Adafruit
Configurando Adafruit
Configurando Adafruit
Configurando Adafruit

Agora vá para io.adafruit.com e crie uma conta, se ainda não tiver uma. Vá para seus Feeds e crie um novo Feed. Neste caso, o nome do meu feed é "gmailbox", você precisará dele mais tarde.

Se você não conseguir encontrar sua chave Adafruit, poderá encontrá-la no canto superior direito.

Etapa 5: Feed de dados de Zapier

Dados de feed de Zapier
Dados de feed de Zapier
Dados de feed de Zapier
Dados de feed de Zapier

Agora volte ao Zapier para organizar sua seção de dados de feed. Na tecla de feed, escolha a opção "Usar um valor personalizado". O "Custum Value For Feed Key" deve ser igual ao nome do seu Feed no Adafruit, portanto, tome cuidado com as letras maiúsculas.

Em "Valor", preencha o que você deseja ver como valor em Adafruit. O mesmo valor será visível posteriormente no monitor serial no Arduino.

Etapa 6: Teste com Zapier, Adafruit e Gmail

Testando com Zapier, Adafruit e Gmail
Testando com Zapier, Adafruit e Gmail
Testando com Zapier, Adafruit e Gmail
Testando com Zapier, Adafruit e Gmail

Agora você pode testar seu Zap. Clique em Test & Continue (não se esqueça de ligar o Zap depois). Em seguida, volte para Adafruit em seu feed e, sob o gráfico, você pode ver se os dados chegaram. Depois de ligar o Zap, você também pode testar enviando um e-mail para si mesmo.

Etapa 7: Configurando o Arduino

Configurando o Arduino
Configurando o Arduino

Conecte seu ESP8266 e abra o Arduino. Crie um novo esboço e uma nova guia conforme indicado na imagem acima. Nomeie-o "config.h" (você pode nomeá-lo como quiser). Cole o código abaixo na guia "config".

Com este código você pode se conectar ao seu WiFi e Adafruit. Peguei de um projeto usado anteriormente. Eu ainda uso e funciona bem para mim.

/ ************************* Adafruit IO Config ********************** ********* /

// visite io.adafruit.com se precisar criar uma conta, // ou se precisar de sua chave Adafruit IO. #define IO_USERNAME "seu nome de usuário adafruit" #define IO_KEY "chave adafruit" / ******************************* WIFI ** ************************************* / #define WIFI_SSID "seu ssd wi-fi" #define WIFI_PASS "wi-fi senha "#include" AdafruitIO_WiFi.h"

Etapa 8: Configurando Seu NodeMCU

Configurando Seu NodeMCU
Configurando Seu NodeMCU

Conecte o servomotor e a faixa de LED ao ESP8266.

Fios do servomotor (SG90): marrom em G (terra), vermelho em 3V, laranja em D6 (ou outro pino digital). Eu também usei alguns cabos extras para extensão.

Fios do Neopixel: GDN vai para G (terra), DIN vai para D4 (ou outro pino digital), + 5V vai para 3V.

Etapa 9: Configurando Bibliotecas e Hardware

Agora vá para o esboço do Arduino que você acabou de criar. Primeiro você deve incluir as bibliotecas de que precisa no esboço. Você precisará do config.h que acabou de criar, a biblioteca do ESP8622 e da faixa de LED Neopixel.

Você coloca isso no código da seguinte maneira:

#include "config.h"

#include #include

Em seguida, você vai incluir o hardware que está usando

#incluir

Servo servo; #define PIXEL_PIN D4 #define PIXEL_COUNT 10 #define PIXEL_TYPE NEO_GRB + NEO_KHZ800 Adafruit_NeoPixel pixels = Adafruit_NeoPixel (PIXEL_COUNT, PIXEL_PIN, PIXEL_TYPE);

Adicione esta linha para vincular este esboço ao feed em Adafruit:

AdafruitIO_Feed * gmailbox = io.feed ("nome do seu feed");

Etapa 10: Código de configuração vazio

Na "configuração vazia", você se conectará ao Adafruit, WiFi e configurará o servomotor para o pino atribuído. Depois disso, você pode verificar no monitor serial se uma conexão foi feita.

Aconselho você a redigitar o código em vez de copiá-lo e colá-lo. Isso torna mais fácil lembrar para mais tarde e você começa a aprender exatamente o que escreve.

O código será semelhante a este:

void setup () {

// coloque seu código de configuração aqui, para executar uma vez: // inicia a conexão serial com o monitor serial Serial.begin (115200) // aguarde a abertura do monitor serial while (! Serial); // conecte-se a io.adafruit.com Serial.print ("Conectando-se a Adafruit IO"); io.connect (); // configure um manipulador de mensagens para o feed de 'seu nome de feed'. // a função handleMessage (definida abaixo) será chamada sempre que uma mensagem for // recebida da Adafruit. // aguarde a conexão enquanto (io.status () get (); // o pino do servomotor servo.attach (D6); servo.write (0); nameofyourfeed-> onMessage (handleMessage);}

Etapa 11: Código de Loop de Vazio

Em seguida, certifique-se de que o Adafruit está em execução constante, temos que colocá-lo no loop vazio para que eu execute constantemente.

Faça isso da seguinte maneira:

void loop () {

// coloque seu código principal aqui, para executar repetidamente: io.run (); }

Etapa 12: A função para o servomotor e LEDs como saída

Agora vamos garantir que quando você receber um e-mail, o servomotor e os LEDs responderão. Vamos criar uma função que garanta isso. A função será chamada de "handleMessage" que usamos anteriormente no código. Usaremos o valor que vemos Adafruit aqui.

Se você receber um novo e-mail, o servomotor deve girar 90 graus e os LEDs devem acender. Para os LEDs estamos usando a cor vermelha, mas você pode alterá-la como quiser. Você também quer ter certeza de que não apenas o primeiro LED da faixa está aceso, então você deve colocá-lo em um laço para iluminar toda a faixa.

E novamente, tente redigitar o código em vez de copiá-lo e colá-lo.

O código será semelhante a este:

void handleMessage (dados AdafruitIO_Data *) {

if (dados> 0) {servo.write (90); atraso (1000); Serial.println ("Você recebeu e-mail!"); para (int i = 0; i

Etapa 13: faça upload para seu NodeMCU e teste-o

Faça upload para o seu NodeMCU e teste-o
Faça upload para o seu NodeMCU e teste-o

Envie o esboço para o seu ESP8266. Você pode fazer isso clicando na seta que aponta para a direita ao lado da marca de seleção no canto superior esquerdo.

Depois, você pode tentar enviar um e-mail para você mesmo para testá-lo e verificar se ele funciona.

Etapa 14: o toque final

Você concluiu a parte de codificação. Sente-se criativo? Construa uma caixa de correio para o que você acabou de fazer e afixe uma bandeira no servomotor. A bandeira vai subir toda vez que você receber um e-mail!

Obrigado por seguir este manual e espero que tenha ajudado.

Recomendado: