/* 
   Código demonstrativo para a aula de Sistemas Embarcados,
   Curso de Ciência da Computação e Engenharia da Computação
   EEP.
*/ 

#include <WiFi.h>
#include <HTTPClient.h>

// Substituir nome_dispositivo pelo nome do seu dispositivo.
const String url = "http://dweet.io/dweet/for/nome_dispositivo";

HTTPClient cliente;

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() {

  char payload[80];

  int value1 = analogRead(32);  
  int value2 = analogRead(33);  
  int value3 = analogRead(34);  
  int value4 = analogRead(35);  

  Serial.println("");   
  Serial.print("A0: ");
  Serial.println(value1);    
  Serial.print("A1: ");
  Serial.println(value2);    
  Serial.print("A2: ");
  Serial.println(value3);    
  Serial.print("A3: ");
  Serial.println(value4);    
  Serial.println("");

  Serial.println("Requisicao: POST");

  sprintf(payload,"{\"A0\":\"%d\",\"A1\":\"%d\",\"A2\":\"%d\",\"A3\":\"%d\"}",value1,value2,value3,value4);
  int contentLength  = strlen(payload);

  cliente.begin(url);

  cliente.addHeader("Content-Type","application/json");
  cliente.addHeader("Content-Length",String(contentLength));   

  int statusCode = cliente.POST(payload);
  String response = cliente.getString();

  Serial.print("Status: ");
  Serial.println(statusCode);
  Serial.print("Retorno: ");
  Serial.println(response);
  Serial.println();

  delay(15000);

}