HTTP
El nodo hace POST JSON a api/telemetria.php. Simple en Hostinger compartido. Cada envío abre conexión.
12 horas · RA4 · Wi-Fi, BLE, LPWAN, HTTP y MQTT
| Tecnología | Alcance típico | Consumo | Cuándo |
|---|---|---|---|
| Wi-Fi | Decenas de metros | Alto | Aula y hogar con router |
| BLE | Pocos metros | Muy bajo | Móvil, wearables, emparejado |
| Zigbee / Z-Wave | Malla doméstica | Bajo | Domótica con coordinador |
| LoRaWAN | Kilómetros | Muy bajo | Campo, ciudad, baja tasa |
| NB-IoT / Sigfox | Operador | Bajo | SIM o contrato LPWAN |
Evita hardcodear el SSID. El ESP32 levanta un AP DPIOT-ESP32 si no hay credenciales. El alumnado configura el Wi-Fi del instituto desde el móvil.
#include <WiFiManager.h>
void conectarWifi() {
WiFiManager gestorWifi;
gestorWifi.setConfigPortalTimeout(180);
if (!gestorWifi.autoConnect("DPIOT-ESP32")) {
delay(2000);
ESP.restart();
}
}
El nodo hace POST JSON a api/telemetria.php. Simple en Hostinger compartido. Cada envío abre conexión.
Publicar/suscribir en topics. Ideal con broker (Mosquitto). Mejor para comandos hacia el dispositivo. En hosting compartido no siempre hay puerto 1883.
#include <HTTPClient.h>
#include <ArduinoJson.h>
void enviarLectura(float temperatura, float humedad) {
JsonDocument documento;
documento["dispositivo"] = "esp32-aula-01";
documento["temperatura"] = temperatura;
documento["humedad"] = humedad;
documento["rssi"] = WiFi.RSSI();
String cuerpo;
serializeJson(documento, cuerpo);
HTTPClient http;
http.begin("https://unicarlos.es/MODULOS/DPIOT/api/telemetria.php");
http.addHeader("Content-Type", "application/json");
int codigo = http.POST(cuerpo);
http.end();
}
Si el hosting no fuerza HTTPS, prueba también la URL con http://. El certificado debe ser válido o HTTPClient fallará.