Hero Image
Controlar un LED con ESP32 y MQTT

MQTT es un protocolo ligero de mensajería ideal para IoT. Con un ESP32 y un broker local o en un VPS puedes controlar actuadores desde cualquier lugar del mundo. Preparar el broker Opción local (Mosquitto) sudo apt update sudo apt install mosquitto mosquitto-clients sudo systemctl enable --now mosquitto Opción VPS Contrata un VPS ligero (1 vCPU, 1 GB RAM). Instala Mosquitto y configura autenticación básica en /etc/mosquitto/conf.d/seguro.conf: allow_anonymous false password_file /etc/mosquitto/passwd listener 8883 cafile /etc/letsencrypt/live/tu-dominio/fullchain.pem keyfile /etc/letsencrypt/live/tu-dominio/privkey.pem certfile /etc/letsencrypt/live/tu-dominio/fullchain.pem Genera certificados TLS con Let’s Encrypt y crea usuarios con mosquitto_passwd. Firmware ESP32 (Arduino core) #include <WiFi.h> #include <PubSubClient.h> const char* ssid = "TuRed"; const char* password = "TuClave"; const char* mqtt_server = "broker.tudominio.com"; const int mqtt_port = 8883; WiFiClientSecure espClient; PubSubClient client(espClient); const int ledPin = 2; void callback(char* topic, byte* payload, unsigned int length) { String mensaje; for (unsigned int i = 0; i < length; i++) mensaje += (char)payload[i]; digitalWrite(ledPin, mensaje == "ON" ? HIGH : LOW); } void reconnect() { while (!client.connected()) { if (client.connect("esp32-led", "usuario", "password")) { client.subscribe("casa/sala/led"); } else { delay(2000); } } } void setup() { pinMode(ledPin, OUTPUT); Serial.begin(115200); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); } espClient.setCACert("-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n"); client.setServer(mqtt_server, mqtt_port); client.setCallback(callback); } void loop() { if (!client.connected()) reconnect(); client.loop(); } Para conexiones sin TLS ajusta el puerto 1883 y elimina setCACert, pero prioriza seguridad en despliegues reales.

Hero Image
Meshtastic explicado

Meshtastic es un firmware open source que transforma radios LoRa de bajo costo en redes malladas para mensajería y telemetría sin infraestructura celular. Es ideal para actividades al aire libre, resiliencia ante desastres y proyectos comunitarios. Arquitectura básica Radios LoRa basados en chip SX1262/SX1276 que operan en bandas ISM (433, 868, 915 MHz). Firmware Meshtastic sobre microcontroladores ESP32, nRF52 o RP2040. Topología mesh: cada nodo reenvía mensajes de manera asincrónica usando enrutamiento oportunista. Aplicaciones móviles (Android/iOS) y clientes CLI/desktop que se conectan vía Bluetooth o USB. Tipos de nodos Nodos personales: dispositivos portátiles con pantalla (LilyGO T-Beam, T-Echo) que envían textos y ubicación GPS. Nodos de infraestructura: placas alimentadas continuamente para ampliar cobertura (antenas externas, alta potencia). Nodos sensores: integran telemetría (temperatura, humedad, relés) y reportan periódicamente. Configuración inicial Instala el firmware con Meshtastic Flasher o meshtastic --flash. Empareja el dispositivo con la app móvil mediante Bluetooth o USB. Ajusta canal, región y potencia según normativa local (duty cycle, ERP). Define roles (router, client) y habilita características como MQTT bridge o almacenamiento en tarjeta SD. Funciones destacadas Mensajería encriptada con AES-CTR y claves compartidas. Posicionamiento GPS y compartición de coordenadas con iconos personalizados. Bridge MQTT/HTTP para integrar con servidores o dashboards remotos. Telemetría extendida a través de plugins Python (meshtastic-python). Casos de uso Equipos de senderismo, ciclismo o rescate que requieren comunicación sin cobertura celular. Redes comunitarias de alerta temprana (incendios, inundaciones). IoT rural con nodos alimentados por energía solar. Eventos temporales donde se necesita mensajería descentralizada. Buenas prácticas Utiliza antenas calibradas y respeta la polarización para maximizar alcance. Configura intervalos de retransmisión adecuados para evitar congestión en mallas densas. Documenta claves y canales en un gestor seguro para tu equipo. Mantén el firmware actualizado y participa en la comunidad de GitHub/Discord para aprovechar nuevas funciones. Con esta visión podrás planear una red Meshtastic confiable y adaptarla a tus necesidades de comunicación de largo alcance.