78 lines
2.5 KiB
PHP
78 lines
2.5 KiB
PHP
<?php
|
|
require_once __DIR__ . "/api/protecao.php";
|
|
|
|
try {
|
|
$pdo = new PDO("mysql:host=localhost;dbname=cagalhao;charset=utf8mb4", "master", "master", [
|
|
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
|
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
|
|
]);
|
|
|
|
// Se submeteu o formulário
|
|
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|
$uid = $_POST['uid'] ?? '';
|
|
$cmd = $_POST['cmd'] ?? '';
|
|
|
|
if ($uid && $cmd) {
|
|
$stmt = $pdo->prepare("INSERT INTO comandos (uid, cmd, status, queued_at) VALUES (?, ?, 'pending', NOW())");
|
|
$stmt->execute([$uid, $cmd]);
|
|
$msg = "✅ Comando '$cmd' enviado para o dispositivo $uid!";
|
|
} else {
|
|
$msg = "⚠️ Escolhe um dispositivo e um comando.";
|
|
}
|
|
}
|
|
|
|
// Buscar lista de devices
|
|
$devices = $pdo->query("SELECT uid FROM contadores ORDER BY uid ASC")->fetchAll();
|
|
|
|
} catch (Exception $e) {
|
|
die("Erro: " . $e->getMessage());
|
|
}
|
|
?>
|
|
<!DOCTYPE html>
|
|
<html lang="pt">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>Enviar Comandos</title>
|
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
|
|
</head>
|
|
<body class="p-5 bg-light">
|
|
<div class="container">
|
|
<h2 class="mb-4">🛠️ Enviar Comando</h2>
|
|
|
|
<?php if (!empty($msg)): ?>
|
|
<div class="alert alert-info"><?= htmlspecialchars($msg) ?></div>
|
|
<?php endif; ?>
|
|
|
|
<form method="POST" class="card p-4 shadow-sm">
|
|
<div class="mb-3">
|
|
<label class="form-label">Dispositivo</label>
|
|
<select name="uid" class="form-select" required>
|
|
<option value="">-- Escolhe --</option>
|
|
<?php foreach ($devices as $d): ?>
|
|
<option value="<?= htmlspecialchars($d['uid']) ?>"><?= htmlspecialchars($d['uid']) ?></option>
|
|
<?php endforeach; ?>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="mb-3">
|
|
<label class="form-label">Comando</label>
|
|
<select name="cmd" class="form-select" required>
|
|
<option value="">-- Seleciona --</option>
|
|
<option value="RESTART">RESTART</option>
|
|
<option value="UPDATE">UPDATE</option>
|
|
<option value="LED_ON">LED_ON</option>
|
|
<option value="LED_OFF">LED_OFF</option>
|
|
<option value="RESET">RESET</option>
|
|
</select>
|
|
</div>
|
|
|
|
<button type="submit" class="btn btn-primary w-100">🚀 Enviar</button>
|
|
</form>
|
|
|
|
<div class="mt-4">
|
|
<a href="api/menu.php" class="btn btn-secondary">⬅️ Voltar ao Menu</a>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|