Pular para o conteúdo

ThingSpeak com ESP8266 – Guia Completo de Integração IoT:

ThingSpeak com ESP8266 permite armazenar, processar e analisar dados de forma remota. Integrar o ESP8266 com a nuvem pode expandir significativamente as capacidades dos seus projetos, permitindo monitoramento e controle em tempo real de qualquer lugar do mundo.

Introdução aos Serviços de Nuvem

Os serviços de nuvem permitem armazenar, processar e analisar dados de forma remota. A integração do ThingSpeak com ESP8266 pode expandir significativamente as capacidades dos seus projetos, permitindo monitoramento e controle em tempo real de qualquer lugar do mundo.

A integração com serviços de nuvem utilizando ThingSpeak com ESP8266 e o Arduino IDE permite a criação de projetos IoT (Internet das Coisas) eficientes e acessíveis. Neste artigo, vamos explorar como enviar dados de temperatura e umidade para o ThingSpeak, um serviço de nuvem popular, utilizando apenas o ESP8266.

Serviços de Nuvem Populares

Existem vários serviços de nuvem que podem ser integrados com o Arduino, incluindo:

  • ThingSpeak: Uma plataforma IoT que permite coletar, armazenar e visualizar dados de sensores.
  • Firebase: Uma plataforma de desenvolvimento de aplicativos que oferece banco de dados em tempo real.
  • AWS IoT: Um serviço da Amazon Web Services para conectar dispositivos IoT à nuvem.

Esquema de Ligação do Hardware para Integrar o ThingSpeak com ESP8266

Material necessário:

Nosso site cresce com seu apoio! Ao visitar as ofertas abaixo e realizar suas compras pelos links de afiliados, você nos ajuda a manter o conteúdo atualizado e gratuito. Aproveite as melhores ofertas da Amazon!
Componentes necessários:Compre aqui:
1x ESP8266 (como NodeMCU, ou Wemos D1-Mini)Amazon
1x Sensor de Temperatura e Umidade DHT22Amazon
1x ProtoboardAmazon
1x Kit Cabos JumperAmazon
Esquema ligação do DHT22 no ESP8266
ThingSpeak com ESP8266
Esquema ligação do DHT22 no ESP8266

Conexões:

  1. Conecte o pino VCC do sensor DHT ao 3.3V do ESP8266.
  2. Conecte o pino GND do sensor DHT ao GND do ESP8266.
  3. Conecte o pino de dados do DHT (geralmente marcado como OUT ou DATA) ao pino D4 (GPIO2) do ESP8266.
  4. Se necessário, adicione um resistor pull-up de 10kΩ entre o pino de dados e o pino VCC do DHT

Configuração do Software

1. Instale a Biblioteca DHT:
  • No Arduino IDE, clique no ícone de Gerenciador de Bibliotecas na barra lateral esquerda.
  • Na barra de busca, digite “DHT sensor library” e clique em Instalar.
2. Instale a Biblioteca ThingSpeak:
  • No Arduino IDE, clique no ícone de Gerenciador de Bibliotecas na barra lateral esquerda.
  • Na barra de busca, digite “ThingSpeak” e clique em Instalar.

Configuração do ThingSpeak

Pàssos para configurar o ThingSpeak:
  1. Acesse o ThingSpeak e crie uma conta.
  2. Faça login e clique em “Channels” > “New Channel“.
  3. Nomeie o canal e configure dois campos:
    • Field 1: Temperatura
    • Field 2: Umidade
  4. Salve as configurações e copie:
    • O Channel ID.
    • A Write API Key (encontrada na aba API Keys).

Código Completo para o Projeto: Integrando o ThingSpeak com ESP8266

#include <DHT.h> // Inclui a biblioteca para o sensor DHT
#include <ESP8266WiFi.h> // Inclui a biblioteca para a conexão Wi-Fi no ESP8266
#include <ThingSpeak.h> // Inclui a biblioteca para comunicação com o ThingSpeak

#define DHTPIN D4 // Define o pino digital onde o sensor DHT está conectado
#define DHTTYPE DHT22 // Define o tipo de sensor DHT (DHT11 ou DHT22)

DHT dht(DHTPIN, DHTTYPE); // Inicializa o sensor DHT
WiFiClient client; // Cria um cliente Wi-Fi

const char* ssid = "SEU_SSID"; // Define o SSID da rede Wi-Fi
const char* password = "SUA_SENHA"; // Define a senha da rede Wi-Fi
unsigned long myChannelNumber = YOUR_CHANNEL_NUMBER; // Define o número do canal ThingSpeak
const char* myWriteAPIKey = "YOUR_API_KEY"; // Define a chave de API para escrita no ThingSpeak

void setup() {
  Serial.begin(115200); // Inicializa a comunicação serial a 115200 bps
  dht.begin(); // Inicializa o sensor DHT
  WiFi.begin(ssid, password); // Conecta à rede Wi-Fi

  while (WiFi.status() != WL_CONNECTED) { // Aguarda a conexão Wi-Fi ser estabelecida
    delay(500); // Espera 500ms
    Serial.print("."); // Imprime um ponto na serial para indicar que está tentando conectar
  }
  ThingSpeak.begin(client); // Inicializa a comunicação com o ThingSpeak
}

void loop() {
  float h = dht.readHumidity(); // Lê a umidade do sensor DHT
  float t = dht.readTemperature(); // Lê a temperatura do sensor DHT

  if (isnan(h) || isnan(t)) { // Verifica se a leitura do sensor falhou
    Serial.println("Failed to read from DHT sensor!"); // Imprime uma mensagem de erro na serial
    return; // Sai da função loop se a leitura falhou
  }

  ThingSpeak.setField(1, t); // Define o campo 1 do ThingSpeak com o valor da temperatura
  ThingSpeak.setField(2, h); // Define o campo 2 do ThingSpeak com o valor da umidade
  ThingSpeak.writeFields(myChannelNumber, myWriteAPIKey); // Envia os dados para o ThingSpeak

  delay(20000); // Espera 20 segundos antes de fazer uma nova leitura e envio
}

C

Enviando Dados para o ThingSpeak com ESP8266

Com o código acima, o ESP8266 se conecta à rede Wi-Fi e envia dados de temperatura e umidade para o ThingSpeak a cada 20 segundos.

Lembre-se e Substitua:

  • SEU_SSID e SUA_SENHA pelos dados da sua rede Wi-Fi.
  • YOUR_CHANNEL_NUMBER e YOUR_API_KEY pelos valores fornecidos pelo ThingSpeak.

Solução de Problemas ao usar ThingSpeak com ESP8266

Problemas comuns e soluções:

1. Falhas na conexão Wi-Fi:
  • Verifique o SSID e a senha.
  • Certifique-se de que o roteador está funcionando e que o ESP8266 está dentro do alcance.
2. Erro na leitura do sensor (nan):
  • Confira as conexões do sensor DHT.
  • Certifique-se de que o tipo do sensor está configurado corretamente no código.
3. Erro ao enviar dados ao ThingSpeak com ESP8266:
  • Confirme se o número do canal e a chave de API estão corretos.
  • Verifique se o ThingSpeak não está limitando a frequência de envios (15 segundos para contas gratuitas).

Melhorias e Extensões Futuras

  • Adicionar mais sensores: Expanda o projeto para incluir sensores como pressão barométrica (BMP180) ou luminosidade (LDR).
  • Notificações em tempo real: Integre o projeto com serviços como IFTTT ou Firebase para alertas em casos de valores críticos.
  • Visualização avançada: Use os gráficos e widgets do ThingSpeak para criar dashboards interativos.

Otimizando o Consumo de Energia

Para projetos alimentados por bateria, considere utilizar os modos de baixa potência do ESP8266, como o deep sleep, que pode ser ativado entre as medições para economizar energia.

ESP.deepSleep(20e6);  // Dorme por 20 segundos
C++

Conclusão

Integrando o ThingSpeak com ESP8266 e a plataforma Arduino IDE é uma maneira poderosa de monitorar e registrar dados ambientais. O ThingSpeak facilita a visualização e análise desses dados, tornando-o uma excelente escolha para projetos IoT. Com as práticas descritas, você pode criar sistemas robustos e escaláveis para diversas aplicações..

Links úteis:

Conheça mais…

Logo Oficial Habilidade Sem Limites
Integrando o ESP8266 com o ThingSpeak
Índice