#include "Arduino.h"
#include "WiFi.h"
#include <HTTPClient.h>
HTTPClient client;
char nomeWifi[] = "Wokwi-GUEST";
char senhaWifi[] = "";
char serverAddress[] = "https://api.tago.io/data";
char contentHeader[] = "application/json";
char tokenHeader[] = "7f7a07e4-a019-48d7-adf2-641cef4985ba";
int const PINO_SGAS = 33;
int LED_VERDE = 5;
int LED_AMARELO = 17;
int LED_VERMELHO = 32;
int valor = 0;
void setup() {
pinMode(LED_VERDE, OUTPUT);
pinMode(LED_AMARELO, OUTPUT);
pinMode(LED_VERMELHO, OUTPUT);
pinMode(PINO_SGAS, INPUT);
Serial.begin(9600);
init_wifi();
}
void loop() {
valor = analogRead(PINO_SGAS);
send_valor();
delay(250);
valor = map(valor, 0, 4095, 0, 1000);
if (valor > 0 && valor <= 370) {
digitalWrite(LED_VERDE, HIGH);
digitalWrite(LED_AMARELO, LOW);
digitalWrite(LED_VERMELHO, LOW);
} else if (valor > 370 && valor <= 696) {
digitalWrite(LED_VERDE, LOW);
digitalWrite(LED_AMARELO, HIGH);
digitalWrite(LED_VERMELHO, LOW);
} else if (valor > 696) {
digitalWrite(LED_VERDE, LOW);
digitalWrite(LED_AMARELO, LOW);
digitalWrite(LED_VERMELHO, HIGH);
}
}
void init_wifi() {
Serial.println("Conectando WiFi");
Serial.print("Wifi: ");
Serial.println(nomeWifi);
WiFi.begin(nomeWifi, senhaWifi);
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
}
Serial.println("WiFi Conectado");
Serial.print("Meu IP eh: ");
Serial.println(WiFi.localIP());
}
void send_valor() {
char anyData[30];
char postData[300];
char anyData1[30];
char bAny[30];
int statusCode = 0;
strcpy(postData, "{\n\t\"variable\": \"valor\",\n\t\"value\": ");
dtostrf(valor, 6, 2, anyData);
strncat(postData, anyData, 100);
strcpy(anyData1, ",\n\t\"unit\": \"C\"\n\t}\n");
strncat(postData, anyData1, 100);
Serial.println(postData);
client.begin(serverAddress);
client.addHeader("Content-Type", contentHeader);
client.addHeader("Device-Token", tokenHeader);
statusCode = client.POST(postData);
delay(2000);
Serial.print("Status code: ");
Serial.println(statusCode);
Serial.println("End of POST to TagoIO");
Serial.println();
}