/*
Código demonstrativo para a aula de Bancos de Dados aplicados à Internet das Coisas,
Curso de Engenharia e Administração de Sistemas de Banco de Dados,
Faculdade de Tecnologia - UNICAMP.
*/
#include <WiFi.h>
#include <HTTPClient.h>
char dispositivo[10] = "hwxx";
char data[80];
// Substitua sua_url pela url fornecida pelo InfluxDB (Cluster URL - Host Name) localizada em Organizacion Profile
// Substitua sua_organizacao pela fornecida pelo InfluxDB (Name) localizada em Organizacion Profile
// Substitua seu_bucket pela fornecida pelo InfluxDB localizada em Load Data - Buckets
const char* influxUrl = "https://sua_url/api/v2/write?org=sua_organizacao&bucket=seu_bucket&precision=s";
// Substitua seu_token pelo fornecido pelo InfluxDB em Load Data - API Token
const char* token = "seu_token";
void setup() {
Serial.begin(115200);
while (!Serial) { }
WiFi.begin("Wokwi-GUEST", "");
while (WiFi.status() != WL_CONNECTED) {
delay(250);
}
Serial.println("-----------------------------------------------");
Serial.print("Endereco IP: ");
Serial.println(WiFi.localIP());
Serial.println("-----------------------------------------------");
delay(1000);
}
void loop() {
int a0 = 0, a1 = 0, a2 = 0, a3 = 0;
a0 = analogRead(33);
a1 = analogRead(32);
a2 = analogRead(35);
a3 = analogRead(34);
Serial.println();
Serial.print("Dispositivo: ");
Serial.println(dispositivo);
Serial.println("-----------------------------------------------");
Serial.print("A0: ");
Serial.println(a0);
Serial.print("A1: ");
Serial.println(a1);
Serial.print("A2: ");
Serial.println(a2);
Serial.print("A3: ");
Serial.println(a3);
Serial.println();
if (WiFi.status() == WL_CONNECTED) {
HTTPClient http;
http.begin(influxUrl);
http.addHeader("Authorization", "Token " + String(token));
http.addHeader("Content-Type", "text/plain");
// "measurement,tag=value field1=value,field2=value,field3=value,filed4=value
sprintf(data, "valores,dispositivo=%s a0=%d,a1=%d,a2=%d,a3=%d", dispositivo, a0, a1, a2, a3);
int httpResponseCode = http.POST(data);
Serial.print("Código de resposta: ");
Serial.println(httpResponseCode);
Serial.println();
http.end();
} else {
Serial.println("Wi-Fi desconectado");
}
delay(30000);
}