<?php
// Configuración de conexión a la base de datos
$host = 'localhost';
$dbname = 'pasbol2';
$username = 'root';
$password = '';

$conn = new mysqli($host, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Error de conexión: " . $conn->connect_error);
}

// IP del dispositivo que quieres monitorear
$device_ip = "192.168.0.150";

// Ejecutar un ping al dispositivo
$ping_result = shell_exec("ping -c 1 -W 1 $device_ip"); // En Linux/Unix
// Para Windows: $ping_result = shell_exec("ping -n 1 $device_ip");

// Determinar el estado del dispositivo basado en el resultado del ping
$is_connected = strpos($ping_result, '1 received') !== false || strpos($ping_result, 'TTL') !== false;

// Obtener la hora actual
$last_seen = date("Y-m-d H:i:s");

// Actualizar el estado del dispositivo en la base de datos
if ($is_connected) {
    $sql = "INSERT INTO device_status (ip_address, last_seen, status)
            VALUES ('$device_ip', '$last_seen', 'conectado')
            ON DUPLICATE KEY UPDATE last_seen = '$last_seen', status = 'conectado'";
} else {
    $sql = "INSERT INTO device_status (ip_address, last_seen, status)
            VALUES ('$device_ip', NULL, 'desconectado')
            ON DUPLICATE KEY UPDATE last_seen = NULL, status = 'desconectado'";
}

if (!$conn->query($sql)) {
    echo "Error al actualizar el estado del dispositivo: " . $conn->error;
} else {
    echo "Estado del dispositivo actualizado correctamente: " . ($is_connected ? "Conectado" : "Desconectado");
}

$conn->close();
