Guia prático para combinar ESP com IFTTT

- Categories : Outras notícias , Produtos

O que é IFTTT?

Connected

IFTTT significa "If This, Then That", cuja tradução é "Se isso, então isso", o que nos dá uma ideia de sua utilidade. Em espanhol é conhecido como SIEEE, se (acontece) isso, então (faça) isso.

IFTTT é um serviço web que serve como uma ferramenta gratuita para conectar dois serviços ou dispositivos. Com sua ajuda, temos a oportunidade de conectar nosso próprio projeto com serviços como Google Assistant, Amazon Alexa, Facebook, Twitter ou Dropbox, e isso é apenas uma fração das possibilidades. Você pode se conectar diretamente com mais de 600 marcas. O uso do IFTTT é muito simples e não requer (quase) habilidades de programação.

Esse tipo de serviço web permite criar e agendar ações (chamadas receitas ou Applets)para automatizar diferentes tarefas e ações na Internet,a partir doseu site e também de seu aplicativoouvil,como carregar no Twitter a mesma foto que foi postada no Facebook, Telegram ou Instagram. Ébaseado na automação de ações em redes sociais eoutras áreas da web, aumentar a produtividade do usuário e falar estritamente sobre redes sociais ajuda a aumentar a presença. Dessa forma, você pode criar seuspróprios "applets", ou pode usar os milhares existentes criados por outros usuários ou marcas para realizar suas "receitas".

IFTTT

Basicamente, esta plataforma web atua como uma intermediária entre seus mais de 600 serviços associados para poder combiná-los com ações e automações.

Suas principais características são:

· Comunicação entre serviços web.

· Suporte para iOS e Android.

· Aumenta a velocidade de produtividade.

Devido às suas características, seus principais usos são, como já avançamos alguns, o seguinte:

· IFTTT (com dispositivos compatíveis pré-associados) é usado em uma ampla gama de automação de dispositivos domésticos, como acender luzes se detectar movimento em uma sala, bem como conectividade com assistentes de voz.

· Os profissionais de marketing podem acompanhar as menções que os interessam pelos feeds de notícias do RSS.

· Você também pode automatizar a publicação do mesmo conteúdo através de diferentes redes sociais

Alexa_Amazon_IFTTT

Você pode usar esta ferramenta tanto para o seu negócio, projetos e seu dia a dia. Pode estar entre muitas coisas para notificá-lo que você pega o guarda-chuva se ele vai chover, exceto para um Google Sheets suas músicas que você favorito no Spotify, etc. Esta plataforma também tem enorme capacidade no mundo IoT, sendo um elo perfeito entre máquinas e serviços web.

Noções básicas ifTTT

A partir da web e aplicativo é muito simples de usar e intuitivo, o único problema é que ele é exclusivamente em inglês. Para usar os benefícios IFTTT, a primeira coisa que precisamos fazer é criar uma conta (também podemos usar uma conta do Google ou facebook).

Se nos registrarmos na web,então "Plataforma" dentro do seu perfil:

IFTTT_platform

Em seguida, nós lhe damos "Get Started" e receberemos um e-mail com informações. Basicamente eles vêm nos dizer o seguinte:

Como usuário da plataforma, você terá acesso a um ecossistema de mais de 600 serviços de classe mundial, milhares de desenvolvedores ativos e milhões de consumidores. Você também poderá obter insights valiosos sobre como as pessoas se conectam e usam seus produtos para que você possa personalizar ainda mais suas experiências.

Para construir o melhor serviço possível em IFTTT, você precisa se acostumar com a terminologia IFTTT. Se você ainda não tem, eles lhe dão uma visão geral rápida para ajudá-lo a começar.

Terminologia:

· Gatilho: Pense em gatilhos como eventos em seu serviço. Os gatilhos de exemplo incluem "Qualquer novo folio" ou "Nova foto adicionada ao álbum" ou "Quaisquer novos movimentos".

· Campos de gatilho:Como o nome indica, esses "campos de gatilho" permitem que os usuários insiquem filtros ou modificadores para um determinado gatilho. Por exemplo, quando um usuário seleciona o gatilho "Nova foto adicionada ao álbum", ele será solicitado para o nome do álbum.

· Ingredientes: Atributos emitidos por um determinado gatilho são chamados de ingredientes. Para o gatilho "Nova foto adicionada ao álbum", haveria ingredientes para "PhotoURL" e "TakenAt".

· Consultas : Uma consultafornece uma maneira de solicitar dadosadicionais que um gatilho não inclui. Por exemplo, quando o serviço Google Calendar aciona "Novo Evento Adicionado", você pode precisar de informações sobre os participantes do evento. A consulta "Lista de Participantes" retorna os dados desejados.

· Campos de consulta: Os campos de consulta são como campos de forma e são frequentemente preenchidos com ingredientes de um gatilho. Por exemplo, a consulta "Lista de Participantes" contém campos para "ID do calendário" e "Identificação de Eventos".

· Ações: Em vez disso, pense em ações como enviar dados ou criar recursos em seu serviço. As ações de exemplo incluem "Criar postagem" ou "Enviar foto" ou "Acender luzes".

· Campos de ação: Ao criar um Applet, o usuário reúne esses ingredientes nos campos de ação. Campos de ação são como campos de forma. Para a ação "Criar Publicação", haveria um campo de ação para "Título" e outro para "Corpo de Publicação".

Recpie_iftttt

O primeiro teste IFTTT prático

Como vimos, existem inúmeras possíveis "receitas", como uma maçã que desliga seu Wi-Fi quando você está longe de casa para economizar energia.

turn_off_wifi

Agora, como é possível capturar algo do mundo físico, como apertar um botão, e traduzi-lo em ação no mundo virtual? O traço disso é baseado em serviços web, que ligam esses dois mundos.

Serviços web ou APIs web são uma interface de software que permite a comunicação entre diferentes sistemas, podendo acessar bancos de dados, serviços, ferramentas, etc... através de URLs.

O serviço IFTTT Maker funciona assim também, coletando dados em páginas PHP. Através de URLs, apresentaremos eventos que executarão ações, como salvar a temperatura coletada, enviar um tweet, acender uma luz ou qualquer outra coisa.

Webhooks

Para utilizar totalmente as possibilidades do IFTTT, devemos conhecer webhooks. Os webhooks fornecem uma solução simples para a troca de dados entre aplicativos web cotidianos, ou mesmo entre nosso site e esses aplicativos. Este é um método que permite que você se comunique em tempo real, em http, dois aplicativos ou serviços web, facilmente e sem a necessidade de infraestrutura extra, quando determinados critérios são atendidos.

Em muitos casos, o mesmo serviço que um webhook nos dá poderíamos alcançá-lo com uma API e possivelmente ser uma solução mais flexível, estável e independente. Mas, em muitos outros casos, seja pelo pequeno tamanho do projeto, a complexidade de fazê-lo, ou o conhecimento técnico necessário, não é viável. Então um webhook poderia ser uma solução mais acessível.

EXEMPLO ABRIR PORTA COM ESP8266

Vamos criar um applet que nos notifique por e-mail quando a porta se abrir, o que simularemos com um circuito usando uma placa de desenvolvimento. Daremos dois exemplos, utilizando a placasparkfun ESP8266 Thing - Dev e a placa NodeMcu V3 Lua ESP8266 ESP-12E CH340. Para isso, simularemos um dos muitos sensores de sensoriamento de portas abertas do mercado, trazendo um pino da nossa placa para o chão ou para 3.3V. Este último simulará que o circuito está fechado, portanto, a porta se fechou e, quando abrir, traremos o cabo para terra. No meio da segurança vamos colocar uma resistência de 10K.

1. Montar o circuito:

O cabo amarelo representa o sensor, se você o tiver você pode testá-lo com ele, se não, simplesmente simular como segue do pino GPIO4 em cada uma das placas. As configurações são as seguintes:

- sparkfun Coisa – Quadro de v:

Sparkfun_espSparkfun_right

Porta fechada Porta aberta

- NodeMCU V3:

ESP_lftnodemcu

Porta fechada Porta aberta

2. Criando o Applet

Em seguida, vamos para o site ifttt, eir paraCreate>Applets. Ele nos mostrará a próxima tela, onde daremos Add.

Add_if_this_than

Em seguida, buscamos por "Webhooks" e quando você selecioná-lo, então daremos para "Receber uma solicitação web".

Choose_a_trigger

Clique em "Conectar":

Connect_a_service

Em seguida, ele nos diz para dar ao nosso evento um nome, por exemplo ESP. Então podemos mudá-lo. Uma vez definido, clique em 'Criar gatilho'.

Complete_trigger

Nós já temos o If, vamos dar Add para adicionar a ação.

create your own ifttt

Já que queremos que você nos envie uma notificação para o e-mail, buscamos por e-mail e selecionamos.

choose_a_Service

Selecione a ação "Envie-me um e-mail".

send_me_an_email

Agora podemos escrever tanto o assunto quanto o corpo do e-mail, ele nos parece por padrão:

send_an_email_ifttt

Então mudamos, por exemplo, para:

event_name

Se continuarmos, você já nos pede para inserir o endereço de e-mail.

review_and_finish

Damos "acabamento" e veremos a "revisão" do nosso applet, onde podemos mudar o título.

if_maker_event

Se mudarmos de ideia, podemos sempre mudá-lo, para isso vamos "definir" e modificar o campo necessário, por exemplo, mudaremos o evento para "puerta_abierta" e o Corpo, que será a mensagem a ser entregue por e-mail.

Puerta_abierta

3. Chave webhooks

Uma vez criado o Applet, veremos a chave pessoal que nos fará capazes de nos comunicar exclusivamente com ele e com segurança entre nossos aplicativos. Para fazer isso, vamos em nosso perfil para a seção "Meus serviços".

my_services

Entramos no Webhooks, e batemos em "Documentação"

Documentacion

Nossa chave será esse conjunto de letras e números. A partir daqui podemos copiar tanto a chave quanto o endereço para como ele indica lá, "lançar um evento".

webhooks_key

Se copiarmos esse endereço no navegador, veremos como a mensagem nos mostra na janela dizendo que o evento ocorreu, bem como um e-mail confirmando-o.

Congratulatins

Se acertarmos testá-lo também.

Event_has_been_triggered

No e-mail receberemos a mensagem com o assunto e o texto descrito:

Puerta_abierta

4. Criação do canal ThingSpeak

Em seguida, precisaremos criar um link entre nossa placa e a web. Para fazer isso, usaremos o ThingSpeak.

Vá para thingspeak.com e inscreva-se gratuitamente. Uma vez alcançado, selecione "Meus canais" e crie um novo canal com os seguintes parâmetros:

Nome: Detector de portas

Descrição: O que você quiser

Campo 1: Porta

Thingspeak_channel

Salve o canal e você será apresentado com o painel de controle deste canal. Copie o ID do canal (mostrado como "Channel ID" abaixo).

Detector_puerta

5. Criar ações ThingSpeak ThingHTTP

Depois disso, devemos criar nossa ação, para isso entramos em Aplicativos e selecionamos "ThingHTTP".

Thingspeak

Isso nos permitirá criar uma solicitação HTTP personalizada para ativar um de nossos applets IFTTT. Clique em "New ThingHTTP" e preencha os campos com o seguinte (certifique-se de substituir <IFTTT_SECRET_KEY> com sua chave de canal ifttt exclusiva:

Nome: Porta do sensor A

URL: https://maker.ifttt.com/trigger/Puerta/with/key/ <IFTTT_SECRET_KEY>

Método: POST

Tipo de conteúdo: aplicativo/json

Corpo: "valor1": "A porta se abriu!"

Thingspeak

Agora você pode clicar em Salvar ThingHTTP para salvá-lo.

6. Crie o aplicativo ThingSpeak React

Volte para apps e selecione "React" agora.

Thingspeak_react

Clique em Novo Reagir. Usaremos os aplicativos React para ativar nosso aplicativo ThingHTTP toda vez que os dados forem publicados em cada um dos campos do nosso canal, no nosso caso em "Porta". ThingHTTP ativará nosso applet IFTTT personalizado.

Complete os seguintes parâmetros para o aplicativo React:

Puerta_react

Guarde e ficaria assim:

new_react

7. Código de Arduino IDE

Agora que temos nossos canais de dados e subprograma IFTTT configurados, é hora de programar o quadro de desenvolvimento ESP8266.

Para isso, vamos programá-lo em Arduino IDE para receber a notificação toda vez que acioná-la em nossa placa.

Assim que tivermos tudo pronto, vamos instalar as bibliotecas correspondentes. Como sempre em Arduino IDE, vamos ao File>Preferences e copiar o seguinte endereço no Gerenciador de URL adicional do cartão:

http://arduino.esp8266.com/estável/package_esp8266com_indez.json

Sketch

Preferencias

Depois, buscamos e instalamos as livrarias. Para fazer isso, iremos para "Tools>Board: >Card Manager"

Herramientas

No gerenciador buscamos "esp8266" e instalamos a seguinte biblioteca:

gestor_de_librerias

Também instalamos a biblioteca ThingSpeak:

libreria_thingspeak

Em um novo esboço, copiamos o seguinte código, no qual teremos que alterar o pino LED dependendo da placa que usamos em Definições de Pinos -> const int LED_PIN x X ;

/*

* PORTA ABERTA - Solectro Shop 2020

* Com base em: Kit IoT - Botões de IoT

* Autor: Shawn Hymel (sparkfun Electronics)

* Data: 30 de outubro de 2016

*

* Conexão:

* | de porta GPIO Componente

* -------------|----------------

4 | Resistência

*/

#include

#include "ThingSpeak.h"

Parâmetros wi-fi e de canal

const char WIFI_SSID[]";

const char WIFI_PSK[]";

CHANNEL_ID longos não assinados;

const char * WRITE_API_KEY "";

Definições de pinos

const int BTN_A_PIN .4; //

const int LED_PIN .5; // Para sparkfun 5, para NodeMCU 2

Variáveis globais

Cliente WiFiClient;

int last_btn_a - ALTA;

configuração do vazio()

// Configurar LED para depuração

pinMode(LED_PIN, OUTPUT);

Serial.start(115200);

connectWiFi(); // Conecte-se ao WiFi

ThingSpeak.start (cliente); // Inicializar conexão com o ThingSpeak

}

loop vazio()

int btn_a;

int rnd;

// Procure uma borda caindo no botão A com debounce

btn_a - digitalRead(BTN_A_PIN);

se ( (btn_a ' LOW) && (last_btn_a ' HIGH) )

{

digitalWrite(LED_PIN, LOW);

ThingSpeak.writeField (CHANNEL_ID, 1, 1, WRITE_API_KEY);

Serial.println ("Porta Aberta");

se (digitalRead(BTN_A_PIN) ? LOW )

{

digitalWrite(LED_PIN, HIGH);

atraso(30);

}

}

last_btn_a ' btn_a;

}

Tentativa de conexão com WiFi

void connectWiFi()

byte led_status x 0;

// Definir o modo WiFi para estacionar (cliente)

WiFi.mode (WIFI_STA);

// Iniciar conexão com SSID e PSK

WiFi.start (WIFI_SSID, WIFI_PSK);

// Blink LED enquanto esperamos por conexão WiFi

enquanto (WiFi.status() ! . WL_CONNECTED .

digitalWrite(LED_PIN, led_status);

0x01 led_status';

atraso(100);

}

// Desligue o LED quando estivermos conectados

digitalWrite(LED_PIN, HIGH);

}

Precisaremos substituir todos os campos por "< >", então precisamos colocar nossas configurações de WiFi, colocando o nome (SSID) e a senha (PSK), bem como o ID ThingSpeak e a tecla "WRITE API", que você pode encontrar indo para o seu canal ThingSpeak e clicando na aba "Chaves API".

Wifi_channels

Por exemplo: const char WIFI_SSID[ ] ? "miRed08";

Agora, como sempre em Arduino, devemos configurar a placa que usamos, a porta onde ela está conectada, e no caso do NodeMCU, podemos selecionar qual LED queremos usar, usamos o "2".

nodemcu

Uma vez configurada a porta e a placa, podemos dar-lhe para carregar o código. Então, simulando a abertura da porta, abrimos o circuito carregando o cabo de resistência do solo, podemos ver como o LED azul da nossa placa pisca, e um e-mail chega.

el_event

Com isso já temos todos os passos a seguir para criar um Applet, parece que muitos, mas eles são muito intuitivos e você pode gerenciar muitos aplicativos diferentes. Tente alterar o tipo de notificação para um "tweet", SMS ou notificação no Android.

8. Conclusão

Como você pode ver, a plataforma IFTTT oferece muitas possibilidades, e sua versão gratuita permite a criação de até 3 applets próprios.

Você pode ver uma miríade de exemplos na internet, desde usos simples, como o exemplo que definimos, até a conexão de assistentes de voz pessoais, como nos seguintes sites:

https://learn.sparkfun.com/tutoriais/internet-of-things-experiment-guide/all

https://www.makeuseof.com/tag/wifi-connected-button-esp8266-tutorial/

https://electronesblog.wordpress.com/2017/07/09/ifttt-arduino/

https://www.instructables.com/id/Control-Your-Projects-With-Google-Assistant-and-Ad/

Share this content