Monitore seus próprios Tweets usando Thinger, NodeMCU e IFTTT

o artigo anterior conhecemos a plataforma IFTTT (IF This Than That) e vimos que a plataforma disponibiliza vários recursos, que podem ser usados inclusive para aplicações embarcadas e Internet das Coisas (IoT).

 

Hoje mostraremos a placa NodeMCU conectada à plataforma Thinger e, usando a plataforma IFTTT, mostraremos no display uma postagem própria no Twitter.

 

 

Thinger

 

Thinger é uma plataforma Open Source destinada ao uso em IoT. Funciona semelhante ao conhecido Thingspeak. Utilizaremos esta plataforma para demonstrar o uso da biblioteca da própria IDE do Arduino. Nesse artigo daremos apenas o básico da plataforma Thinger, voltado para nosso teste aqui.

 

Clicando em Sign up criaremos nossa conta no Thinger.

 

Tela para criar a conta no Thinger.
Figura 1: Tela para criar a conta no Thinger.

 

Após criar a conta e confirmar seu e-mail, uma tela de console ficará disponível.

 

Tela inicial do Thinger
Figura 2: Tela inicial do Thinger

 

Aqui podemos ver que a plataforma Thinger só nos permite conectar dois dispositivos. Para criarmos nosso primeiro dispositivo, clique em Devices na barra lateral.

 

Devices, na barra lateral
Figura 3: Devices, na barra lateral

 

Na tela, clique em Add Device para criarmos nosso primeiro dispositivo virtual.

 

Tela de gerenciamento dos dispositivos
Figura 4: Tela de gerenciamento dos dispositivos

 

Aqui, criamos a identificação do dispositivo, podemos por uma breve descrição do mesmo e definimos uma chave credencial para acessar o dispositivo. A credencial pode ser gerada aleatoriamente caso preferir. Após preencher os três campos, basta criar em Add Device para que o mesmo passe a existir.

  

Criando o novo dispositivo virtual
Figura 5: Criando o novo dispositivo virtual
Após clicar em Add Device, essa mensagem deverá aparecer confirmando a criação do dispositivo
Figura 6: Após clicar em Add Device, essa mensagem deverá aparecer confirmando a criação do dispositivo

 

Clicando novamente em Devices, agora vemos nosso dispositivo criado e disponível para trabalharmos com ele. Para visualizarmos os detalhes que usaremos ao programar a NodeMCU na IDE do Arduino, clique no dispositivo, conforme mostrado abaixo:

  

Visualizando seu dispositivo
Figura 7: Visualizando seu dispositivo

 

Aqui podemos visualizar o status da placa, o endereço IP externo (aquele que é visível em toda a internet), os dados enviados e os dados recebidos. Como ainda não temos nosso dispositivo físico conectado, o status é Offline. Após programarmos nossa placa NodeMCU, voltaremos aqui para continuarmos a configurar nosso dispositivo virtual.

 

 

NodeMCU e IDE da Arduino

 

Na próxima figura mostramos como fazer a montagem da NodeMCU com o display OLED. O display usado aqui foi o de 0,96” 128x64.

 

Montagem de nosso projeto
Figura 8: Montagem de nosso projeto

 

Para usar a placa NodeMCU na IDE do Arduino, você precisa da biblioteca da mesma disponibilizada. Caso ainda não a tenha, poderá instalar a biblioteca seguindo os passos ensinados pelo nosso amigo Josemar Alves em seu artigo “Gravando o ESP8266-01 na IDE do Arduino.

 

Agora, as bibliotecas para uso do display OLED, recomendo instalar as das Adafruit. Nesse caso instalaremos a Adafruit SSD 1306 e a Adafruit GFX Library. Para os que estão iniciando, para instalar uma biblioteca na IDE do Arduino basta ir em Sketch – Incluir Biblioteca – Gerenciar Bibliotecas. Aqui podemos pesquisar pelas bibliotecas que usaremos. Nesse caso basta pesquisar pelos nomes citados acima e clicar em instalar que ficarão disponíveis.

 

Para conexão com o Thinger, precisamos instalar a biblioteca Thinger.io do mesmo modo.

 

O código fonte será explicado abaixo por partes:

 

 

Aqui estão a bibliotecas necessárias para o uso em nosso código-fonte. Uma observação importante está no uso da biblioteca Adafruit_GFX.h. É através dela que temos os textos e imagem criados para o display OLED. Funciona em suporte a outra biblioteca, a Adafruit_SSD1306.

 

 

A parte destinada às macros do código-fonte. Nessa etapa, na parte de conexão com o roteador, substitua os valores pelos relacionados à sua rede Wifi e na parte de conexão no Thinger use os dados do seu dispositivo virtual criado na plataforma Thinger anteriormente.

 

 

Nas inicializações, vamos dividir em duas etapas. Essa primeira é destinada à configuração e exibição da tela de boas-vindas de nosso dispositivo.

 

Tela de apresentação do display OLED
Figura 9: Tela de apresentação do display OLED
Tela de boas-vindas nosso.
Figura 10: Tela de boas-vindas nosso.

 

 

Continuando nosso código, na parte das inicializações, a segunda etapa é destinada à configuração e criação das interfaces de interação com a plataforma Thinger. Para quem interessar em se aprofundar sobre detalhes da plataforma, a documentação encontra-se neste site.

 

Primeiramente, mandamos a conexão com a rede Wifi. Em seguida, iremos criar um vetor com dois itens do tipo String. O nosso vetor aqui será chamado de twitter e conterá as variáveis de entrada sName e sTweet.

 

Aqui já colocamos para atualizar as informações no display dessas respectivas variáveis conforme vemos no código-fonte.

 

O loop principal de nosso programa é bem simples, pois apenas atualiza o status do Thinger.

 

 

Faça o download do código completo: NodeMCU _Tweet.ino

 

 

Thinger e IFTTT

 

Após terminar de carregar o programa na NodeMCU, se tudo foi feito corretamente, ao voltar na plataforma Thinger veremos que a placa indicará que está conectada.

 

 Status da placa conectada
Figura 11: Status da placa conectada

 

Clicando agora no dispositivo, veremos que as informações de nosso dispositivo mudaram, indicando a conexão e mostrando detalhes de funcionamento. Infelizmente o único navegador que não permite essa visualização é o Google Chrome.

 

Status da comunicação da placa com a plataforma Thinger, usado o Internet Explorer para visualizar
Figura 12: Status da comunicação da placa com a plataforma Thinger, usado o Internet Explorer para visualizar

 

Para testarmos se realmente temos o vetor Twitter, clique em View API. Se foi criado corretamente, esse vetor aparecerá conforme figura abaixo.

 

O vetor de entrada twitter apareceu na plataforma Thinger
Figura 13: O vetor de entrada twitter apareceu na plataforma Thinger

 

Clicando no twitter - Private, podemos testar se nossa API está configurada corretamente. Primeiro veremos se os dados estão no formato que precisamos (String) e colocaremos textos em seus campos. Após isso clicaremos em Run e veremos se esses dados serão exibidos em nosso display.

 

As variáveis apareceram corretamente, assim podemos testar se realmente mandamos os dados
Figura 14: As variáveis apareceram corretamente, assim podemos testar se realmente mandamos os dados
Funcionou nosso teste da API do Thinger
Figura 15: Funcionou nosso teste da API do Thinger

 

Agora criaremos a chave de acesso, token, que será a liberação de acesso a ser usado pelo IFTTT no Thinger para colocar o tweet no display OLED. No dispositivo na tela do Thinger, clique em +Add em Device Tokens.

 

Configurando o token que o IFTTT irá usar para acessar os dados que irão ser exibidos no display OLED
Figura 16: Configurando o token que o IFTTT irá usar para acessar os dados que irão ser exibidos no display OLED

 

Em Token Name dê um nome de identificação da funcionalidade desse token de acesso. Já em Token Access, selecione a segunda opção para limitar o uso dos recursos disponibilizados pela placa NodeMCU. Isso é muito útil quando temos mais recursos que serão usados por outras aplicações que imaginarmos.

 

Em Select or type the accessible resources while using this token, ao clicar no campo editável já veremos o nome do campo de acesso twitter. Basta selecionar este e por fim clicar em OK.

 

Antes de fechar a tela, copie o Device Token gerado, que usaremos no IFTTT para que funcione corretamente.

 

Device Token gerado para usarmos no IFTTT
Figura 17: Device Token gerado para usarmos no IFTTT

 

Clique no botão Close para concluir esse processo. Aqui concluímos a configuração do Thinger.

 

Para maiores detalhes de como criar a conta e como funciona o IFTTT, consulte o artigo de minha autoria “IFTTT – Uma plataforma simples para aplicações IoT”.

 

Na tela do IFTTT, clique em New Applet para começarmos a configurar a última etapa.

 

New Applet para uso de nossa placa com o twitter
Figura 18: New Applet para uso de nossa placa com o twitter
Configurando o Twitter em This
Figura 19: Configurando o Twitter em This

 

Selecionaremos o Twitter e a opção New Tweet by you. Assim monitoraremos apenas os próprios tweets.

 

New Tweet by you
Figura 20: New Tweet by you

 

Para esta configuração, marquei as opções de retweets e @replies para detectar todas as ações que tenho no Twitter.

 

Twitter configurado
Figura 21: Twitter configurado

 

Agora iremos configurar no That a nossa placa, através do thinger. Procure pela API Maker.

 

Procurando pela API Maker.
Figura 22 - Procurando pela API Maker.

 

Make a web request
Figura 23 - Make a web request

 

Selecionando Make a web request (única opção pelo Maker), teremos agora de configurar todos os itens do acesso entre o IFTTT e o Thinger. As informações estão disponibilizadas no Thinger clicando em View API do dispositivo, em twitter - Private e em Show Query.

 

Configurando  itens de acesso entre o IFTTT e o Thinger
Figura 24 - Configurando  itens de acesso entre o IFTTT e o Thinger

 

Assim, basta apenas usarmos o famoso CRTL+C e CRTL-V para configurarmos o IFTTT. Seguindo conforme abaixo.

 

Configuração do  IFTTT
Figura 25 - Configuração do  IFTTT

 

Copie o link visto no item Method e cole em URL*. Coloque a interrogação “?” no final do link e digite “authorization=”. Após cole o Device Token, que será a autorização para acesso ao Thinger. Caso não tenha copiado anteriormente, você poderá copiar em Authorization todo o conteúdo após a palavra Bearer.

 

Método POST
Figura 26 - Método POST

 

O método a ser usado será o POST, dado que o IFTTT irá postar as informações para o Thinger, e de lá para nosso display OLED através da NodeMCU. Para adequar ao que foi feito, em Content Type, selecione application/json.

 

Request Body do Thinger
Figura 27 - Request Body do Thinger

 

Copie e cole o conteúdo do Request Body do Thinger. Para configurar adequadamente, clique entre as aspas após a palavra Name, clique em +ingredient e selecione UserName. Já nas aspas após a palavra tweet clique em +ingredient e selecione Text. Após basta clicar em Create Action.

 

Clicando em +Ingredient você pode selecionar o item relacionado para exibição na placa NodeMCU
Figura 28: Clicando em +Ingredient você pode selecionar o item relacionado para exibição na placa NodeMCU

 

Após concluir, basta clicar em "Create action"
Figura 29: Após concluir, basta clicar em "Create action"

 

Pronto, podemos testar se realmente está funcionando. Abaixo nas imagens seguem os resultados.

 

Tweet enviado por mim
Figura 30: Tweet enviado por mim

 

Tweet visto pela NodeMCU
Figura 31: Tweet visto pela NodeMCU

 

 

Conclusões

 

Nesse artigo podemos ver a interação entre o hardware e duas plataformas trabalhando juntas: a nossa NodeMCU junto com a plataforma Thinger e a plataforma IFTTT. De um modo geral, a mescla do IFTTT com o Thinger nos abre inúmeras possibilidades de uso, como monitorar a temperatura e a umidade de um determinado local e usar por exemplo e-mail para receber notificações se algo sair fora do normal, ou contabilizar uma postagem específica do Facebook.

Deixe um comentário

Seja o Primeiro a Comentar!

Notificar
avatar
 
wpDiscuz