← サイトに戻る

コマンド

Do clique no painel à ação no hardware. Controle o que está ligado ou desligado pelo navegador ou celular.

Como funciona

Você clica no painel: "Ligar LED"
O servidor atualiza o estado: LED = Ligado
O ESP32 consulta: "qual é o estado atual?"
O ESP32 vê a mudança: acende o LED no pino correto
O ESP32 confirma: "LED ligado com sucesso"
O painel mostra: LED aparece como LIGADO

Tutorial: Controlando um LED pelo painel

📱 Seu Celular
Meu Dispositivo
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:

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. Mande o código para a placa e envie o comando

Após mandar o código para a placa, acesse o dispositivo no painel. Role até a seção Controles Rápidos. No campo Ação do Comando, digite o nome do comando (ex: led) e clique em Enviar. O LED físico acende e apaga em segundos.

📱
No celular: Na seção Botões do Usuário, clique em Criar APP para Celular. Configure botões com ações como "led". Instale o painel como aplicativo no celular. Um toque no botão liga ou desliga o LED.

Botões personalizados: Você pode criar botões fixos na seção Botões do Usuário — eles aparecem no painel e no app do celular. Cada botão tem um nome, uma ação e pode incluir dados extras.

Fluxo detalhado

  1. O dispositivo se registra: no setup(), dc.addCommand("led", "Liga/Desliga o LED") informa ao servidor quais comandos o dispositivo aceita.
  2. Você envia o comando: no painel do dispositivo, vá até Controles Rápidos, digite a ação (ex: "led") e clique em Enviar.
  3. O servidor atualiza o estado: o estado do dispositivo é alterado para refletir o novo valor (ligado/desligado).
  4. O dispositivo consulta: a cada dc.run(), o ESP32 consulta o servidor para saber o estado atual.
  5. O dispositivo detecta a mudança: o callback onCommand é chamado com a ação e o novo valor. digitalWrite(LED_PIN, value) aciona o hardware.
  6. O dispositivo confirma: dc.ack(cmdId, true) avisa o servidor que a ação foi executada com sucesso.
  7. O painel atualiza: o estado do LED é mostrado como Ligado ou Desligado no painel.

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)