Sobre el proyecto

Este es un proyecto de página web de monitorización remota para el dispositivo de geocerca ESP32-S3 + SIM7670G 4G. La página está hospedada en GitHub Pages y puede abrirse desde un teléfono móvil en cualquier red (4G/5G/WiFi). Sus funciones principales incluyen: mostrar la ubicación en tiempo real del dispositivo en el mapa (actualizada cada 2 minutos); presentar el estado de alarma de entrada a la cerca mediante un banner rojo y una luz de estado; permitir hacer clic en el mapa para dibujar un polígono de geocerca y enviarlo al dispositivo con un botón; admitir la introducción manual de coordenadas para enviar una geocerca; permitir borrar la geocerca; y mostrar el número de satélites y la distancia a la geocerca. En cuanto a la arquitectura, el navegador del teléfono accede a la página de GitHub Pages, lee position.json mediante fetch (escrito por GitHub Actions cada 2 minutos), obtiene los datos a través del TCP de Bemfa Cloud (bemfa.com:8344) con cmd=3 y llega finalmente al dispositivo ESP32-S3 por 4G (el dispositivo informa sus coordenadas cada 30 segundos). La ruta de envío de instrucciones de geocerca es: página web → Bemfa Cloud HTTP sendMessage → recepción TCP del dispositivo → actualización de la geocerca y guardado en NVS. Para el despliegue es necesario configurar BEMFA_UID (clave privada de Bemfa Cloud) y BEMFA_TOPIC (nombre del tema geofence001) como secretos de GitHub Actions. Al mismo tiempo, las constantes BEMFA_UID / TOPIC en la parte superior de index.html deben coincidir con los valores reales. En cuanto al mantenimiento, el archivo .github/workflows/sync-position.yml sincroniza la ubicación automáticamente cada 2 minutos, obteniendo las coordenadas del dispositivo y escribiéndolas en position.json; también se puede ejecutar manualmente el flujo de trabajo Sync device position desde la página de Actions.