ESP32: Integração à Nuvem via MQTT - Guia Prático!

Integrar o ESP32O que é o ESP32: Introdução e Conceitos BásicosO que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia! com serviços em nuvem é uma maneira poderosa de expandir as capacidades dos seus projetos, permitindo monitoramentoSegurança e Autenticação em APPsSegurança e Autenticação em APPsDescubra estratégias essenciais para implementar HTTPS, autenticação JWT e segurança robusta em APPs conectados ao ESP32 para IoT. e controle remotos, armazenamento de dados e muito mais. Neste artigo, vamos abordar como conectar o ESP32 a serviços em nuvem utilizando o protocolo MQTTIntrodução ao MQTT: Conceitos Básicos e Benefícios para o ESP32Introdução ao MQTT: Conceitos Básicos e Benefícios para o ESP32Aprenda os fundamentos do MQTT para ESP32, explorando conceitos, benefícios e exemplos práticos para projetos robustos em IoT e automação., um dos pilares da Internet das CoisasIntegração do ESP32 com Plataformas de Automação Residencial (ex: Home Assistant)Integração do ESP32 com Plataformas de Automação Residencial (ex: Home Assistant)Aprenda a integrar o ESP32 com Home Assistant de forma prática e segura, configurando Wi-Fi, MQTT, sensores e atuadores para uma casa inteligente. (IoT).

Introdução🔗

A Internet das CoisasIntegração do ESP32 com Plataformas de Automação Residencial (ex: Home Assistant)Integração do ESP32 com Plataformas de Automação Residencial (ex: Home Assistant)Aprenda a integrar o ESP32 com Home Assistant de forma prática e segura, configurando Wi-Fi, MQTT, sensores e atuadores para uma casa inteligente. está transformando a forma como interagimos com dispositivos e sistemas, conectando tudo à internet para coletar dados e automatizar tarefas. O ESP32O que é o ESP32: Introdução e Conceitos BásicosO que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia!, com sua capacidade de se conectar a redes Wi-Fi e grande poder de processamento, é uma escolha popular para projetos de IoTVantagens do Uso do ESP32 em Projetos de IoTVantagens do Uso do ESP32 em Projetos de IoTDescubra os principais benefícios do ESP32 para IoT, como conectividade, baixo consumo, dual-core e segurança, e impulsione seus projetos conectados.. Ao integrá-lo com serviços em nuvem, podemos ampliar ainda mais suas funcionalidades, permitindo que dados sejam acessados e controlados de qualquer lugar do mundo.

O que é o MQTT?🔗

MQTTIntrodução ao MQTT: Conceitos Básicos e Benefícios para o ESP32Introdução ao MQTT: Conceitos Básicos e Benefícios para o ESP32Aprenda os fundamentos do MQTT para ESP32, explorando conceitos, benefícios e exemplos práticos para projetos robustos em IoT e automação. (Message Queuing Telemetry TransportIntrodução ao MQTT: Conceitos Básicos e Benefícios para o ESP32Introdução ao MQTT: Conceitos Básicos e Benefícios para o ESP32Aprenda os fundamentos do MQTT para ESP32, explorando conceitos, benefícios e exemplos práticos para projetos robustos em IoT e automação.) é um protocolo de comunicação leve, projetado para dispositivos com recursos limitados e redes de baixa largura de banda. Ele utiliza o modelo publicador/assinanteIntrodução ao MQTT: Conceitos Básicos e Benefícios para o ESP32Introdução ao MQTT: Conceitos Básicos e Benefícios para o ESP32Aprenda os fundamentos do MQTT para ESP32, explorando conceitos, benefícios e exemplos práticos para projetos robustos em IoT e automação. (publish/subscribe), onde dispositivos podem publicar mensagens em tópicos específicos e assinar tópicos para receber mensagens.

Como Funciona o MQTT?

Essa arquitetura desacoplada permite uma comunicação eficiente e escalável entre inúmeros dispositivos.

Por que Integrar o ESP32 com Serviços em Nuvem?🔗

Integrar o ESP32O que é o ESP32: Introdução e Conceitos BásicosO que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia! com serviços em nuvem traz diversos benefícios:

Ao utilizar o MQTT, essa integraçãoIntegração com Aplicativos Móveis e WebIntegração com Aplicativos Móveis e WebDescubra como integrar ESP32 com aplicativos móveis e dashboards web, garantindo interatividade, controle remoto e segurança em seus projetos IoT. torna-se rápida e eficiente, devido à sua leveza e simplicidade.

Escolhendo um Serviço em Nuvem🔗

Existem diversos serviços em nuvem que suportam o MQTTIntrodução ao MQTT: Conceitos Básicos e Benefícios para o ESP32Introdução ao MQTT: Conceitos Básicos e Benefícios para o ESP32Aprenda os fundamentos do MQTT para ESP32, explorando conceitos, benefícios e exemplos práticos para projetos robustos em IoT e automação.. Alguns exemplos são:

Para este artigo, utilizaremos o CloudMQTT devido à sua simplicidade e oferta de planos gratuitos.

Configurando o Ambiente🔗

Criando uma Conta no CloudMQTT

1. Acesse o site do CloudMQTT e crie uma conta.

2. Crie uma nova instância:

  • Selecione o plano Cute Cat (gratuito).
  • Dê um nome à sua instância.

3. Anote as Credenciais:

Essas informações serão utilizadas para configurarInstalando o Arduino IDE para ESP32 no macOSInstalando o Arduino IDE para ESP32 no macOSAprenda passo a passo a instalar e configurar o Arduino IDE no macOS para programar o ESP32. Siga dicas essenciais para solucionar problemas comuns. o ESP32.

Configurando o Arduino IDE para o ESP32

Certifique-se de ter o Arduino IDEInstalando o Arduino IDE para ESP32 no WindowsInstalando o Arduino IDE para ESP32 no WindowsEste tutorial passo a passo ensina como instalar o Arduino IDE e configurar o ESP32 no Windows, garantindo um ambiente ideal para IoT. instalado e configurado para programar o ESP32O que é o ESP32: Introdução e Conceitos BásicosO que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia!.

Implementação Prática🔗

Vamos desenvolver um projeto onde o ESP32O que é o ESP32: Introdução e Conceitos BásicosO que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia!:

Montagem do Circuito

Código Fonte

A seguir, apresentamos o códigoDesafios Práticos: Experimentando com Múltiplos LEDsDesafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! completo com explicações detalhadas.

#include <WiFi.h>
#include <PubSubClient.h>
// Configurações da rede Wi-Fi
const char* ssid = "SEU_SSID";
const char* password = "SUA_SENHA";
// Configurações do MQTT
const char* mqtt_server = "seu_servidor.cloudmqtt.com";
const int mqtt_port = 1883;
const char* mqtt_user = "seu_usuario";
const char* mqtt_password = "sua_senha";
// Configurações do ESP32
WiFiClient espClient;
PubSubClient client(espClient);
long lastMsg = 0;
char msg[50];
int value = 0;
const int ledPin = 2;
void setup()
{
  pinMode(ledPin, OUTPUT);
  Serial.begin(115200);
  setup_wifi();
  client.setServer(mqtt_server, mqtt_port);
  client.setCallback(callback);
}
void setup_wifi()
{
  delay(10);
  Serial.println();
  Serial.print("Conectando-se a ");
  Serial.println(ssid);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED)
  {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi conectado");
  Serial.print("Endereço IP: ");
  Serial.println(WiFi.localIP());
}
void callback(char* topic, byte* payload, unsigned int length)
{
  Serial.print("Mensagem recebida [");
  Serial.print(topic);
  Serial.print("]: ");
  String message;
  for (int i = 0; i < length; i++)
  {
    message += (char)payload[i];
  }
  Serial.println(message);
  if (String(topic) == "esp32/led")
  {
    if (message == "on")
    {
      digitalWrite(ledPin, HIGH);
      Serial.println("LED ligado");
    }
    else if (message == "off")
    {
      digitalWrite(ledPin, LOW);
      Serial.println("LED desligado");
    }
  }
}
void reconnect()
{
  while (!client.connected())
  {
    Serial.print("Tentando se conectar ao MQTT...");
    if (client.connect("ESP32Client", mqtt_user, mqtt_password))
    {
      Serial.println("conectado");
      client.subscribe("esp32/led");
    }
    else
    {
      Serial.print("falhou, rc=");
      Serial.print(client.state());
      Serial.println(" tentando novamente em 5 segundos");
      delay(5000);
    }
  }
}
void loop()
{
  if (!client.connected())
  {
    reconnect();
  }
  client.loop();
  long now = millis();
  if (now - lastMsg > 2000)
  {
    lastMsg = now;
    float t = random(20, 30); // Simulando uma temperatura
    snprintf(msg, 50, "Temperatura: %.2f °C", t);
    Serial.print("Publicando mensagem: ");
    Serial.println(msg);
    client.publish("esp32/temperatura", msg);
  }
}

Detalhes do Código

Configurando suas Credenciais

Executando o Projeto

1. Compile e Carregue o códigoDesafios Práticos: Experimentando com Múltiplos LEDsDesafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! no ESP32.

2. Abra o Monitor SerialConfigurando a Conexão Wi-Fi no ESP32: Guia Passo a PassoConfigurando a Conexão Wi-Fi no ESP32: Guia Passo a PassoAprenda passo a passo a conectar seu ESP32 à rede Wi-Fi com segurança e estabilidade. Descubra dicas práticas e estratégias de otimização.:

  • Observe as mensagens de conexão e publicação.

3. Acesse o Painel do CloudMQTT:

4. Visualize os Dados:

5. Controle o LEDDesafios Práticos: Experimentando com Múltiplos LEDsDesafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis!:

Integração com Outros Serviços em Nuvem🔗

Embora o CloudMQTT seja excelente para testes e projetos menores, integrar o ESP32 com serviços em nuvem mais robustos oferece vantagens adicionais, como maior escalabilidade, ferramentas de análise e integraçãoIntegração com Aplicativos Móveis e WebIntegração com Aplicativos Móveis e WebDescubra como integrar ESP32 com aplicativos móveis e dashboards web, garantindo interatividade, controle remoto e segurança em seus projetos IoT. com outros serviços.

AWS IoT Core

Google Cloud IoT Core

Azure IoT Hub

Aplicações Práticas🔗

A integraçãoIntegração com Aplicativos Móveis e WebIntegração com Aplicativos Móveis e WebDescubra como integrar ESP32 com aplicativos móveis e dashboards web, garantindo interatividade, controle remoto e segurança em seus projetos IoT. do ESP32 com serviços em nuvem permite desenvolver soluções inovadoras em diversos setores:

Considerações Finais🔗

Conectar o ESP32 a serviços em nuvem através do MQTT é uma maneira eficaz de levar seus projetos ao próximo nível. Com a capacidade de publicar e assinar tópicos, você pode criar sistemas interativos e responsivos que se comunicam em tempo realExibindo Dados no Monitor Serial com ESP32Exibindo Dados no Monitor Serial com ESP32Aprenda a configurar e exibir dados no Monitor Serial com ESP32, utilizando exemplos práticos e técnicas de depuração para otimizar seus projetos IoT.. Ao explorar diferentes serviços em nuvem, você pode encontrar a solução que melhor se adapta às necessidades do seu projeto, seja ele um protótipo simples ou uma implementação em larga escala.


Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.

Referências🔗

Compartilhar artigo

Artigos Relacionados