#include "detaBaseArduinoESP32.h"
#include <WiFiClientSecure.h>
#include <ArduinoJson.h>
#define LED 2
#define LED1 4
#define botao 13
char* apiKey = "b0eoyx13_Dgz6QtkNvHAUbcKu2BH2gNro8xbszang ";
char* detaID = "b0eoyx13";
char* detaBaseName = "BASE_TESTE";
const char * ssid = "Wokwi-GUEST"; //MENO WiFi SIETE
bool canal = 0;
bool statusAnt = 0;
bool statusAtual = 0;
bool tempo_envio;
unsigned long agora;
unsigned long ultimo_envio;
unsigned long frequencia = 10000;
WiFiClientSecure cliente;
DetaBaseObject detaObj(cliente, detaID, detaBaseName, apiKey, false);
StaticJsonDocument<200> doc;
void setup() {
Serial.begin(115200);
Serial.println("Inicializando...");
pinMode(LED, OUTPUT);
pinMode(LED1, OUTPUT);
pinMode(botao, INPUT_PULLUP);
digitalWrite(LED, LOW);
digitalWrite(LED1, LOW);
WiFi.begin(ssid); //pripoj sa na wifi siet s heslom
Serial.println("Aguardando se conectar ao Wi-Fi");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println();
Serial.println("conectado!!");
digitalWrite(LED, HIGH);
}
void loop() {
statusAtual = digitalRead(botao);
if (statusAtual != statusAnt && statusAtual == 0) {
canal = !canal;
Serial.print("botão pressionado, ");
if(canal){
detaObj.putObject("{\"items\":[{\"key\":\"MOD_01\",\"DADOS\":1}]}");
Serial.println("dados enviado = 1");
}else{
detaObj.putObject("{\"items\":[{\"key\":\"MOD_01\",\"DADOS\":0}]}");
Serial.println("dados enviado = 0");
}
}
statusAnt = statusAtual;
agora = millis();
tempo_envio = agora - ultimo_envio > frequencia;
if (tempo_envio) {
Serial.print("recebendo dados, ");
result myResult = detaObj.getObject("MOD_02");
DeserializationError error = deserializeJson(doc, myResult.reply);
String dados = doc["DADOS"];
if (dados == "1") {
digitalWrite(LED1, HIGH);
} else {
digitalWrite(LED1, LOW);
}
Serial.print("dados recebido = ");
Serial.print(dados);
Serial.print(" fim da consulta \n");
ultimo_envio = millis();
}
}