Comandos
Do clique no painel à ação no hardware. O ciclo completo de controle remoto.
Como funciona
Você clica no painel: "Ligar LED"
O servidor armazena: comando pendente para seu dispositivo
O ESP32 consulta: "tem comando pra mim?"
O ESP32 executa: acende o LED no pino correto
O ESP32 confirma: "comando executado com sucesso"
O painel atualiza: LED aparece como LIGADO
O servidor armazena: comando pendente para seu dispositivo
O ESP32 consulta: "tem comando pra mim?"
O ESP32 executa: acende o LED no pino correto
O ESP32 confirma: "comando executado com sucesso"
O painel atualiza: LED aparece como LIGADO
Tutorial: Controlando um LED pelo painel
📱 Seu Celular (PWA)
LED
ESP32_DadosCorp.ino
#include <DadosCorp.h> DadosCorp dc("WiFi","Senha", "DEVICE_KEY","SECRET"); // Cada dc.run() consulta comandos void loop() { dc.run(); delay(100); }
▶ Serial Monitor
Conectado ao WiFi...
Dispositivo registrado no DadosCorp.
Pressione Ligar LED no celular.
1. Monte o circuito
Conecte um LED ao ESP32:
- Ânodo (+) do LED → resistor 220Ω → GPIO 26 (ESP32)
- Cátodo (–) do LED → GND (ESP32)
Para testar sem componentes externos, use o LED embutido do ESP32: altere LED_PIN para 2.
2. Instale a biblioteca
Arduino IDE → Ferramentas → Gerenciar Bibliotecas → pesquisar DadosCorp → Instalar.
3. Copie o código
#define LED_PIN 26
#include <DadosCorp.h>
DadosCorp dc("NOME_DA_REDE", "SENHA_WIFI", "DEVICE_KEY", "SECRET_KEY");
void setup() {
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, LOW);
dc.addCommand("led", "Liga/Desliga o LED");
dc.onCommand([](const char* action, int value, uint32_t cmdId) {
if (strcmp(action, "led") == 0) {
digitalWrite(LED_PIN, value ? HIGH : LOW);
}
dc.ack(cmdId, true);
});
dc.info(true);
dc.begin();
}
void loop() {
dc.run();
delay(100);
}
4. Faça upload e veja no painel
Após o upload, acesse o dispositivo no dashboard. A aba Comandos mostra um botão "led". Clique para alternar entre Ligado e Desligado. O LED físico acende e apaga instantaneamente.
No celular (PWA): instale o painel como aplicativo. O botão "led" aparece como um toggle. Um toque → LED acende no ESP32.
Na IDE (MCP): agentes de IA podem enviar
Na IDE (MCP): agentes de IA podem enviar
dc_send_command diretamente para controlar o dispositivo sem intervenção humana.
Fluxo detalhado
- O dispositivo se registra: no
setup(),dc.addCommand("led", "...")informa ao servidor quais comandos aceita. O painel cria os botões automaticamente. - Você clica no botão: o painel envia
POST /api/projects/.../commandcom{"action":"led","value":1}. - O servidor armazena: o comando fica aguardando até o dispositivo consultar.
- O dispositivo consulta: a cada
dc.run(), o ESP32 fazGET /commandpara ver se há comandos novos. - O dispositivo executa: o callback
onCommandrecebe a ação e o valor.digitalWrite(LED_PIN, value)aciona o hardware. - O dispositivo confirma:
dc.ack(cmdId, true)enviaPOST /command/ackcom status de sucesso. - O painel atualiza: o comando aparece como executado, e o estado do LED reflete o valor real.
MicroPython — Código equivalente
from dadoscorp_upy import DadosCorpClient
from machine import Pin
import time
led = Pin(26, Pin.OUT)
dc = DadosCorpClient("https://dadoscorp.com.br", "DEVICE_KEY", "SECRET_KEY")
dc.send_metadata(
variables=[],
commands=[{"name": "led", "type": "boolean"}]
)
while True:
cmd = dc.poll_command()
if cmd and cmd.get("action") == "led":
led.value(cmd.get("value", 0))
dc.ack_command(cmd["command_id"], ok=True)
time.sleep(1)