COMPATIBILIDAD: PHP 5.6 y PHP 7/8, PDO MySQL. MySQL 5.6.4 o superior para DATETIME(3). ACTUALIZACIÓN: reemplaza guardar.php, historial.php y db.php. Conserva tu config.php con tus credenciales. No vuelvas a importar instalar.sql si la BD ya existe. Abre la misma dirección de la cabina y recarga para reintentar los pendientes. CABINA + PHP + MYSQL · WAMP · SIN PYTHON 1. Extrae la carpeta cabina_bd y colócala en C:\wamp64\www\cabina_bd. 2. Enciende WAMP (Apache y MySQL). 3. Abre phpMyAdmin e importa instalar.sql. Crea la BD cabina_linea_a con sesiones y registros. 4. Revisa config.php: MySQL 127.0.0.1, puerto 3306, usuario root y contraseña vacía son valores iniciales para tu WAMP; cambia los que correspondan. Se usa PDO MySQL. 5. Abre http://localhost/cabina_bd/cabina_linea_a.html. NO lo abras por doble clic/file://. 6. Conecta al ESP igual que antes (cabecera CORS en /getData), o prueba con Prueba manual. Observa el indicador de BD: debe aumentar el número de confirmados y reducir pendientes. 7. Pulsa Ver registros guardados y selecciona una sesión para comprobar velocidad, DIP y puertas. DATOS Cada lectura recibida se guarda: normalmente unas 5/s, según respuesta del ESP (no se repiten datos viejos para inventar lecturas). La prueba manual genera lecturas cada 200 ms. Fecha de captura y recepción del servidor se guardan en UTC. La velocidad es la recibida; distancia y posición son simuladas. Las puertas son indicadores visuales. Se registran inicio/fin, eventos de puertas, reinicio, configuración, sentido y fallos de conexión. No hay registro cuando la página está cerrada. El navegador puede limitar frecuencia en pestañas inactivas. PENDIENTES Los lotes se envían cada segundo. Si MySQL falla, se conservan en localStorage de ESTE navegador y origen y se reintentan. Cada entrada tiene ID único para evitar duplicación si se pierde la confirmación. No borres los datos del navegador ni cambies de dirección durante un fallo. Exportar pendientes descarga una copia JSON (no los elimina). Al llegar a 20,000 pendientes o sin espacio local se avisa y se detiene el registro; recarga después de recuperar capacidad/BD para reanudar. La telemetría visual sigue funcionando. Antes de cerrar, pulsa Desconectar y espera pendientes=0. El envío al cerrar es un intento, no una garantía; ante cierre abrupto la sesión puede quedar sin fin. El historial lo muestra como Sin cierre. ALCANCE Este paquete está preparado para el WAMP local, pues no se confirmó otro servidor. PHP necesita ejecutarse en el servidor y MySQL debe estar disponible allí. No incluye autenticación: úsalo para la prueba local. Antes de publicarlo en el servidor existente, integra sus permisos de acceso. No expongas credenciales config.php fuera de PHP.