#include <WiFi.h>
#include <HTTPClient.h>
#include <ArduinoJson.h>
const char* ssid = "Wokwi-GUEST"; // Nombre de la red Wi-Fi
const char* password = ""; // Contraseña de la red Wi-Fi
// const char* endpoint = "http://127.0.0.1:8000/mediciones";
const char* serverName = "127.0.0.1"; // Dirección IP de la API
const int serverPort = 8000; // Puerto de la API
const char* endpoint = "/mediciones";
void setup() {
Serial.begin(115200);
Serial.println();
Serial.print("Conectando a ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(".");
}
IPAddress ip(127, 0, 0, 100); // Nueva dirección IP
IPAddress gateway(127, 0, 0, 1); // Dirección IP de la puerta de enlace
IPAddress subnet(255, 255, 255, 0); // Máscara de subred
WiFi.config(ip, gateway, subnet);
Serial.println("");
Serial.println("Conexión a Wi-Fi establecida");
Serial.print("Dirección IP: ");
Serial.println(WiFi.localIP());
}
void loop() {
// Aquí se puede colocar el código del programa
// Crear un objeto JSON con los datos que deseas enviar
// DynamicJsonDocument json(1024);
// json["id"] = "1";
// json["longitud"] = 9;
// json["latitud"] = 2;
// json["humedad"] = 5;
// json["temperatura"] = 6;
// // Convertir el objeto JSON a una cadena de texto
// String jsonString;
// serializeJson(json, jsonString);
// Crear un objeto HTTPClient
// HTTPClient http;
// http.begin(endpoint);
// // http.addHeader("Content-Type", "application/json");
// int httpResponseCode = http.POST(jsonString);
// if (httpResponseCode > 0) {
// Serial.printf("HTTP response code: %d\n", httpResponseCode);
// String response = http.getString();
// Serial.println(response);
// } else {
// Serial.printf("HTTP error code: %d\n", httpResponseCode);
// Serial.println(jsonString);
// }
// http.end();
// delay(10000);
if (WiFi.status() == WL_CONNECTED) {
WiFiClient client;
const int capacity = JSON_OBJECT_SIZE(2);
DynamicJsonDocument json(capacity);
json["temperature"] = 25.0;
json["humidity"] = 60.0;
String jsonString;
serializeJson(json, jsonString);
if (client.connect(serverName, serverPort)) {
Serial.println("Connected to server");
client.println("POST " + String(endpoint) + " HTTP/1.1");
client.println("Host: " + String(serverName));
client.println("Content-Type: application/json");
client.println("Content-Length: " + String(jsonString.length()));
client.println();
client.println(jsonString);
} else {
Serial.println("Connection failed");
}
} else {
Serial.println("WiFi disconnected");
}
delay(10000);
}