167 lines
3.6 KiB
PHP
167 lines
3.6 KiB
PHP
<?php
|
|
|
|
require_once __DIR__ . '/../config/database.php';
|
|
|
|
$db = new Database();
|
|
$conn = $db->getConnection();
|
|
|
|
$login_url = "http://10.255.254.21/login";
|
|
$cookie = __DIR__ . "/cookie.txt";
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| LOGIN
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
$ch = curl_init();
|
|
|
|
curl_setopt_array($ch, [
|
|
CURLOPT_URL => $login_url,
|
|
CURLOPT_POST => true,
|
|
CURLOPT_POSTFIELDS => http_build_query([
|
|
"username" => "root",
|
|
"password" => "@lokal234"
|
|
]),
|
|
CURLOPT_RETURNTRANSFER => true,
|
|
CURLOPT_COOKIEJAR => $cookie,
|
|
CURLOPT_COOKIEFILE => $cookie,
|
|
]);
|
|
|
|
$login = curl_exec($ch);
|
|
|
|
echo "<h3>LOGIN</h3>";
|
|
echo htmlspecialchars($login);
|
|
|
|
curl_close($ch);
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| PREPARE INSERT
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
$stmt = $conn->prepare("
|
|
INSERT INTO onu_daily_history
|
|
(
|
|
sn,
|
|
ont_name,
|
|
rx_power,
|
|
voltage,
|
|
min_rx,
|
|
max_rx,
|
|
min_voltage,
|
|
max_voltage,
|
|
sample_count,
|
|
log_date
|
|
)
|
|
VALUES
|
|
(
|
|
:sn,
|
|
:ont_name,
|
|
:rx_power,
|
|
:voltage,
|
|
:min_rx,
|
|
:max_rx,
|
|
:min_voltage,
|
|
:max_voltage,
|
|
1,
|
|
CURDATE()
|
|
)
|
|
ON DUPLICATE KEY UPDATE
|
|
|
|
ont_name = VALUES(ont_name),
|
|
|
|
rx_power = VALUES(rx_power),
|
|
voltage = VALUES(voltage),
|
|
|
|
min_rx = LEAST(min_rx, VALUES(rx_power)),
|
|
max_rx = GREATEST(max_rx, VALUES(rx_power)),
|
|
|
|
min_voltage = LEAST(min_voltage, VALUES(voltage)),
|
|
max_voltage = GREATEST(max_voltage, VALUES(voltage)),
|
|
|
|
sample_count = sample_count + 1,
|
|
|
|
updated_at = NOW()
|
|
");
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| PORT GPON
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
$ports = [1, 2];
|
|
|
|
foreach ($ports as $port_id) {
|
|
|
|
$url = "http://10.255.254.21/gponmgmt?form=optical_onu&port_id=" . $port_id;
|
|
|
|
$ch = curl_init();
|
|
|
|
curl_setopt_array($ch, [
|
|
CURLOPT_URL => $url,
|
|
CURLOPT_RETURNTRANSFER => true,
|
|
CURLOPT_HTTPHEADER => [
|
|
//ini token akan selalu berubah kalo beda web
|
|
"x-token: eb5d9d8f66242c63dc353342d3896a95"
|
|
]
|
|
]);
|
|
|
|
$response = curl_exec($ch);
|
|
|
|
curl_close($ch);
|
|
|
|
$json = json_decode($response, true);
|
|
|
|
echo "<h3>PON {$port_id}</h3>";
|
|
|
|
if (!isset($json['data']) || empty($json['data'])) {
|
|
echo "Tidak ada ONU ditemukan<br>";
|
|
continue;
|
|
}
|
|
|
|
foreach ($json['data'] as $onu) {
|
|
|
|
$sn = trim($onu['ont_sn'] ?? '');
|
|
|
|
if (empty($sn)) {
|
|
continue;
|
|
}
|
|
|
|
$name = trim($onu['ont_name'] ?? '');
|
|
|
|
$rx = (float) preg_replace(
|
|
'/[^0-9\.\-]/',
|
|
'',
|
|
$onu['receive_power'] ?? '0'
|
|
);
|
|
|
|
$voltage = (float) preg_replace(
|
|
'/[^0-9\.]/',
|
|
'',
|
|
$onu['work_voltage'] ?? '0'
|
|
);
|
|
|
|
try {
|
|
|
|
$stmt->execute([
|
|
':sn' => $sn,
|
|
':ont_name' => $name,
|
|
':rx_power' => $rx,
|
|
':voltage' => $voltage,
|
|
':min_rx' => $rx,
|
|
':max_rx' => $rx,
|
|
':min_voltage' => $voltage,
|
|
':max_voltage' => $voltage
|
|
]);
|
|
|
|
echo "SAVE : {$sn} | RX={$rx} | V={$voltage}<br>";
|
|
|
|
} catch (PDOException $e) {
|
|
|
|
echo "ERROR {$sn} : " . $e->getMessage() . "<br>";
|
|
}
|
|
}
|
|
}
|
|
|
|
echo "<hr>";
|
|
echo "<b>SELESAI</b>"; |