← Volver al sitio

Documentación DadosCorp

Todo lo que necesitas para conectar hardware a la web.

🌐
O que é DadosCorp?
Uma ponte entre seu hardware e a internet. Você conecta sensores (temperatura, umidade, presença) a um ESP32 ou Arduino. O DadosCorp recebe esses dados e mostra em gráficos profissionais no navegador ou no celular. Você também pode controlar dispositivos remotamente: aperta um botão no painel e o LED acende do outro lado da cidade. Funciona com conta gratuita (5 dispositivos), sem cartão de crédito, sem instalar servidor. É só copiar o código de exemplo, colar na Arduino IDE e fazer upload. Em breve, muitas outras novidades.

Veja funcionando — exemplos interativos

Clique em Ligar LED no celular simulado abaixo. Você verá o código sendo executado e o terminal mostrando todo o ciclo de comunicação entre o dispositivo e o servidor.

Comandos — Controle remoto pelo celular

📱 Seu Celular (PWA)
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.

Telemetria — DHT22 enviando dados ao dashboard

📊 Dashboard personalizado no site
[SYS]Aguardando dados do dispositivo...
DHT22_DadosCorp.ino
#include <DadosCorp.h>
#include <DHT.h>

DHT dht(4, DHT22);
DadosCorp dc("WiFi","Senha",
             "KEY","SECRET");

// Cada chave do JSON aparece no terminal
void loop() {
  float t = dht.readTemperature();
  float h = dht.readHumidity();
  dc.send("{"temperatura":"+String(t)
    +","umidade":"+String(h)+"}");
  dc.run();
  delay(10000);
}
▶ Serial Monitor — ESP32
Conectado ao WiFi...
Dispositivo registrado no DadosCorp.
Enviando dados a cada 10 segundos...

Dashboard personalizado — Gráficos em tempo real

🎨 Dashboard personalizado no site
Sensor Estufa — Dashboard #1
Temperatura
Umidade
LED Status
Desligado
DHT22_DadosCorp.ino
#include <DadosCorp.h>
#include <DHT.h>

DHT dht(4, DHT22);
DadosCorp dc("WiFi","Senha",
             "KEY","SECRET");

// Cada chave vira um widget no dashboard
void loop() {
  float t = dht.readTemperature();
  float h = dht.readHumidity();
  dc.send("{"temperatura":"+String(t)
    +","umidade":"+String(h)+"}");
  dc.run();
  delay(10000);
}
▶ Serial Monitor — ESP32
Conectado ao WiFi...
Enviando dados...

Início rápido — Instale a biblioteca

  1. Abra Arduino IDE y vaya a Herramientas → Gestionar Bibliotecas (o Sketch → Incluir Biblioteca → Gestionar Bibliotecas)
  2. Busque DadosCorp o DadosCorpCore
  3. Haga clic en Instalar en la biblioteca deseada
  4. ¡Listo! Use #include <DadosCorp.h> o #include <DadosCorpCore.h>

Nota: mantenga su Arduino IDE actualizada (versión 2.x). Las versiones antiguas pueden no mostrar las bibliotecas más recientes.

Descarga manual (.zip)

Alternativamente, descargue el .zip e instálelo mediante Sketch → Incluir Biblioteca → Añadir Biblioteca .ZIP...:

⬇ DadosCorp.zip (18 KB) ⬇ DadosCorpCore.zip (12 KB)

GitHub

🔗 github.com/edilsonmaia/DadosCorp 🔗 github.com/edilsonmaia/DadosCorpCore

Crie sua conta

  1. Acesse dadoscorp.com.br/cadastro e preencha nome, e-mail e senha.
  2. Confirme seu e-mail (verifique a caixa de spam). O link expira em 1 hora.
  3. Faça login em dadoscorp.com.br/login.
  4. No painel, clique em Novo Projeto e dê um nome.
  5. Dentro do projeto, clique em Novo Dispositivo. Dê um nome (ex: "Sensor Estufa").
  6. Copie DEVICE_KEY e SECRET_KEY — aparecem uma única vez. Guarde com segurança.
  7. Cole essas credenciais no código de exemplo e faça upload para o ESP32.
  8. Pronto! Seu dispositivo aparece no painel com gráficos automáticos.

Exemplos de código — copie e cole

🔒
Para entender o código (explicação para leigos):

HMAC é um cadeado digital. Seu ESP32 tem uma chave secreta. A cada mensagem, ele usa essa chave para criar um "carimbo" único. O servidor confere se o carimbo é legítimo. Ninguém no meio do caminho consegue forjar. Você não precisa entender criptografia — a biblioteca faz tudo.

Telemetria são os dados que o sensor envia (temperatura, umidade). É como se o dispositivo mandasse mensagens de texto para o servidor.

Comandos são o contrário: você manda uma mensagem do painel para o dispositivo dizendo "acenda o LED". Ele recebe, executa e confirma.

JSON é o formato das mensagens. Pares nome:valor entre chaves. {"temperatura":23.5} significa temperatura é 23.5. Simples assim.

Enviar telemetria (Arduino / ESP32)

Após instalar a biblioteca, abra Arquivo → Exemplos → DadosCorp → Minimo na Arduino IDE:

#include <DadosCorp.h>

DadosCorp dc("NOME_DA_REDE", "SENHA_WIFI", "DEVICE_KEY", "SECRET_KEY");

void setup() {
    dc.addVariable("temperatura", "float", "Temperatura em Celsius");
    dc.addVariable("umidade", "float", "Umidade relativa do ar");
    dc.begin();  // conecta WiFi, registra metadados, sincroniza estado
}

void loop() {
    dc.send("{\"temperatura\":23.5, \"umidade\":68}");
    dc.run();  // verifica comandos pendentes
    delay(10000);
}

O que cada bloco faz

BlocoExplicação
DadosCorp dc(...)Cria o cliente. Parâmetros: nome da rede WiFi, senha, Device Key e Secret Key (do painel).
dc.addVariable(...)Declara o que o dispositivo envia. O painel cria gráficos automaticamente. Parâmetros: nome, tipo (float/int/string), descrição.
dc.begin()Inicia tudo: conecta WiFi, envia metadados, sincroniza último estado. Só chama no setup().
dc.send(json)Envia telemetria. Cada chave do JSON vira uma linha no gráfico. HMAC incluso automaticamente.
dc.run()Verifica se há comandos pendentes do painel. Chame sempre no loop().
delay(10000)Aguarda 10 segundos. Conta gratuita: 1 envio a cada 10s.

Receber comandos (Arduino / ESP32)

Abra Arquivo → Exemplos → DadosCorp → Comandos_LED:

#include <DadosCorp.h>

DadosCorp dc("NOME_DA_REDE", "SENHA_WIFI", "DEVICE_KEY", "SECRET_KEY");

void setup() {
    pinMode(LED_PIN, OUTPUT);
    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);  // confirma ao servidor
    });

    dc.begin();
}

void loop() {
    dc.run();
    delay(100);
}

O que cada bloco faz

BlocoExplicação
dc.addCommand(...)Registra um comando que o dispositivo aceita. Nome + descrição. O painel cria um botão automaticamente.
dc.onCommand(...)Callback chamado quando um comando chega. action = nome do comando, value = 0 ou 1, cmdId = ID único.
dc.ack(cmdId, true)Confirma que o comando foi executado. false se falhou. O painel mostra o status.

Biblioteca universal — DadosCorpCore

Para microcontroladores sem WiFi (STM32, Teensy, Arduino Uno). Você fornece o WiFi, ela fornece o HMAC:

#include <DadosCorpCore.h>

DadosCorpCore dc("DEVICE_KEY", "SECRET_KEY");
String body = "{\"temperatura\":23.5}";
String authHeader = dc.authHeader(body, String(millis()));
// Use authHeader no header Authorization do seu HTTP client

Referência completa

📊 Telemetria

Tutorial DHT22, gráficos em tempo real, Arduino e MicroPython.

⚡ Comandos

Controle remoto pelo painel ou celular. Ciclo completo.

🎨 Dashboards

Editor drag-drop, widgets, compartilhar publicamente.

📱 Dispositivos

Criar device, credenciais, vincular ao projeto.

📖 API

Endpoints, autenticação, 21 error codes em 7 idiomas.

📱 PWA

Instalar como app, ícone, botões, notificações.