Novidade

Plataforma de IoT: Tutorial para começar com Arduino Cloud e ESP32

Criar um projeto de Internet das Coisas (IoT) é mais fácil do que parece.
Depois de montar o circuito, o próximo passo é programar a placa e conectar o projeto à internet para visualizar os dados e controlar os dispositivos remotamente.
É nesse último ponto que entram as plataformas de IoT, responsáveis por reunir, armazenar e exibir as informações enviadas pelos sensores.

Hoje, existem diversas opções gratuitas e acessíveis para quem está começando.
Entre as mais conhecidas estão a Adafruit IO, Blynk, ThingSpeak e Arduino Cloud.
Cada uma tem suas particularidades, mas todas permitem compreender, de forma prática, como funciona o fluxo de dados na Internet das Coisas.


O que são plataformas de IoT?

As plataformas de IoT são ambientes online que atuam como uma ponte entre o mundo físico e o digital.
Elas recebem os dados capturados pelos sensores, armazenam essas informações e exibem tudo em gráficos, indicadores ou painéis interativos.
Além disso, permitem enviar comandos para a placa, possibilitando o controle remoto de dispositivos conectados. O funcionamento segue a lógica:

  1. O sensor coleta informações — como temperatura, umidade, luz ou movimento.
  2. A placa processa os dados e envia as informações pela rede (geralmente via Wi-Fi).
  3. A plataforma recebe os dados e os organiza em painéis, gráficos ou indicadores.
  4. O usuário visualiza e interage com as informações, podendo também enviar comandos de volta para o dispositivo.

Esse ciclo forma a base de qualquer sistema IoT. O diferencial de cada plataforma está nas ferramentas que ela oferece e na facilidade de uso para iniciantes.


Plataforma Arduino Cloud

A Arduino Cloud é uma plataforma online que permite conectar dispositivos físicos à internet, transformando o experimento em uma aplicação prática de Internet das Coisas (IoT).É a plataforma oficial da Arduino para o desenvolvimento de projetos conectados. Ela permite enviar e receber dados, visualizar gráficos e controlar dispositivos diretamente pelo navegador, sem a necessidade de softwares adicionais.

Com a Arduino Cloud, é possível:

• Criar dashboards personalizados para visualização dos dados.

Monitorar sensores e controlar dispositivos pela internet.

Conectar várias placas, como Arduino e ESP, em um mesmo ambiente.


Usando ESP32 para monitorar temperatura no ArduinoCloud

Neste tutorial, será montado um projeto IoT utilizando a placa ESP32 para controlar um LED e monitorar a temperatura e a umidade por meio do sensor DHT11. O projeto será integrado ao Arduino Cloud.

Com o Arduino Cloud, será possível ligar e desligar o LED remotamente e acompanhar em tempo real os dados de temperatura e umidade coletados pelo sensor, tanto pelo navegador web quanto pelo aplicativo Arduino IoT Cloud Remote no celular. Assim, a ESP32 funcionará como o elo entre o circuito físico e o ambiente digital, demonstrando de forma acessível como a IoT permite monitorar e controlar objetos à distância.


MATERIAIS NECESSÁRIOS

1 x Protoboard;

1x ESP32 DevKit V1

1x Cabo Micro USB

1x LED Azul 5mm

1x Resistor 220Ω

1x Sensor de Umidade e Temperatura DHT11 ou 1x Módulo Sensor DHT11

Fios de jumper macho-macho.


ESQUEMÁTICO DE LIGAÇÃO

Antes de iniciar a montagem elétrica do circuito, certifique-se de que a ESP32 esteja desligada.

Em seguida, monte o circuito conforme o esquemático abaixo, utilizando a protoboard, o LED, o sensor DHT11, resistores e fios.

Figura 1 – Circuito com ESP32, LED, e sensor DHT11.

Ao montar o circuito na protoboard, observe os seguintes pontos:

  • Você pode utilizar fios de cores diferentes ou furos diferentes na protoboard, mas deve assegurar que os componentes e fios estejam conectados na mesma ordem da simulação;
  • O ânodo (+) do LED deve ser conectado à porta D19;
  • O cátodo (-) do LED deve ser conectado ao GND utilizando um resistor de 220Ω;
  • O pino 1 (VCC) do sensor DHT11 será ligado a alimentação de 3.3 V da placa Arduino;
  • O pino 2 (DATA) deve ser conectado à porta D4;
  • O pino 3 (NC) não será utilizado;
  • E o pino 4 (GND) deve ser conectado ao GND (terra);
  • Um resistor pull-up de 10 kΩ deve ser inserido no pino 2 do DHT11.

PASSO A PASSO COMO UTILIZAR O ARDUINO CLOUD

  1. Realizar login

Ao realizar o cadastro/login, você será direcionado para o site do Arduino Cloud.

Figura 2 – Tela inicial do Arduino Cloud (Web).

2. Clique em “Things” para começar a fazer o projeto.

Figura 3 – Primeiro passo para iniciar o projeto.

3. Clique em “ADD” para adicionar as variáveis.

Figura 4 – Adicionar variáveis.

4. Adicione as variáveis led, temperatura e umidade, como mostrado a seguir.

  • led:
Gif 1 – Adicionando a variável led.
  • temperatura:
Gif 2 – Adicionando a variável temperatura.
  • umidade:
Gif 3 – Adicionando a variável umidade.

Após adicionar as variáveis, mostrará na tela as informações.

Figura 5 – Informações das variáveis.

5. Adicionar a ESP32

Na área “Associated Devide”, clique no botão acima de “Select Device”.

Figura 6 – Adicionar dispositivo.

Clique em “Compatible device”.

Figura 7 – Área Setup Device.

Selecione a opção ESP32, o tipo “DOIT ESP32 DEVKIT V1” e depois defina o nome “ESP32”.

Figura 8 – Informações do dispositivo.

Faça o download das informações da placa.

Figura 9 – Informaçõs da placa adicionada.

Adicione a internet na ESP32.

Figura 10 – Adicionar internet na ESP32.

Clique em WiFi (& secret).

Figura 11 – Informações da ESP32.

Adicione o nome do seu WiFi, senha, e a secret key do arquivo de informações da placa baixado. Após adicionar, clique em “Go to sketch”.

No Sketch, clique na aba “thingProperties.h” e adicione o nome do Wifi, senha a secret key no lugar indicado.

Figura 12 – Adicionar internet na ESP32 via código.

Observação:

Coloque o essas informações entre aspas (“”).


6. Código para monitorar temperatura e acender um LED

Vá na aba do arquivo com extensão “.ino” e adicione as bibliotecas e funções para ler a temperatura.

Figura 13 – Aquivo do código principal.

No nosso circuito, o pino 4 está conectado no sensor DHT11, e o pino 19 está conectado no LED. O código é:

#include "thingProperties.h"
#include "DHT.h" //Inclui a biblioteca DHT Sensor Library

#define DHTPIN 4
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE); //Inicializando o objeto dht do tipo DHT passando como parâmetro o pino (DHTPIN) e o tipo do sensor (DHTTYPE)

void setup() {
 Serial.begin(115200); //Inicializa a comunicação serial
 pinMode(19, OUTPUT); //Define o pino 19 como saída
 dht.begin(); //Inicializa o sensor DHT11
 delay(1500); //Intervalo de 1500 milissegundos
 // Definido em thingProperties.h
 initProperties();
 //Conecta o Arduino IoT Cloud
 ArduinoCloud.begin(ArduinoIoTPreferredConnection);
 /*
 A função a seguir permite obter mais informações relacionadas ao estado da
 conexão de rede e da Nuvem IoT, bem como erros.
 Quanto maior o número, mais detalhadas serão as informações obtidas.
 O padrão é 0 (somente erros).
 O máximo é 4.
 */
 setDebugMessageLevel(2);
 ArduinoCloud.printDebugInfo();
}

void loop() {
 ArduinoCloud.update();
 leituraSensor(); //Chama a função leituraSensor()
 delay(2000); //Intervalo de 2000 milissegundos
}

void onLedChange() {
 if (led==1){
 digitalWrite(19,HIGH); //Liga o LED
 }
 else{
 digitalWrite(19,LOW); //Desliga o LED
 }
}

void leituraSensor() {
 float h = dht.readHumidity(); //lê o valor da umidade e armazena na variável h do tipo float (aceita números com casas decimais)
 float t = dht.readTemperature(); //lê o valor da temperatura e armazena na variável t do tipo float (aceita números com casas decimais)
 if (isnan(h) || isnan(t)) { //Verifica se a umidade ou temperatura são ou não um número
 Serial.println("Falha ao ler o sensor DHT11!");
 return; //Caso não seja um número retorna
 }
 temperatura = t;
 umidade = h;
}

7. Configurar Dashboard

Vá em Dashboards, e clique em “+ CREATE DASHBOARD”, como indicado na imagem.

Figura 14 – Criar Dashboard.

Em nossa Dashboard, vamos adicionar os seguintes Widgets:

  • 1x Switch – para o Led;
  • 1x Gauge – para a Temperatura;
  • 1x Pergentage – para a Umidade;
  • 2x Chart – um para Temperatura e um para Umidade.

O gif a seguir mostra como adicionar um Widgets Switch para o Led, que segue o mesmo padrão para adicionar outros tipos de Widgets.

  • Widget Switch para Led
Gif 4 – Adicionando widget switch para a variavel led.

  • Widget Gauge para Temperatura
Figura 15 – Adicionando widget Gauge para a variavel temperatura.

  • Widget Percentage para Umidade
Figura 16 – Adicionando widget Percentage para a variavel umidade.

  • Widget Chart para Temperatura
Figura 17 – Adicionando widget Chart para a variavel temperatura.

  • Widget Chart para Umidade
Figura 18 – Adicionando widget Chart para a variavel umidade.

Após adicionar, modifique o tamanho dos Widgets (na versão web e mobile) da forma que desejar, e de clique em “DONE”.

8. Acessar a Dashboard pelo celular

Baixe o aplicativo “Arduino IoT Cloud Remote”, disponivel na Google Play e na App Store. Depois de baixar, abra o aplicativo e faça o login com a mesma conta utilizada no site do Arduino Cloud.

Após isso, o aplicativo mostrará o arquivo da Dashboard criada, clique nela para ter acesso a sua Dashboard.

Gif 5 – Utilizando a Dashboard no aplicativo Arduino IoT Cloud Remote.

Se todas as etapas forem seguidas conforme o tutorial, será possível monitorar a temperatura e a umidade, além de ligar e desligar o LED diretamente pelo celular ou pela Web. Essa experiência demonstra, na prática, uma aplicação simples de Internet das Coisas (IoT) utilizando a placa ESP32, conectando o mundo físico ao digital por meio da plataforma Arduino Cloud.

Espero que tenha gostado do tutorial. Caso tenha dúvidas ou sugestões, deixe um comentário abaixo.

Valeu!

Graduando em Engenharia da Computação.

Matheus Caires

Graduando em Engenharia da Computação.

Deixe um comentário

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.