mirror of
https://github.com/jomjol/AI-on-the-edge-device.git
synced 2025-12-07 20:16:55 +03:00
* REST CPU temp: escape special character * REST CPUTemp+RSSI: remove units, output as int * REST handler sysinfo: CPU tempature as integer
260 lines
6.1 KiB
HTML
260 lines
6.1 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<link rel="icon" href="favicon.ico?v=$COMMIT_HASH" type="image/x-icon">
|
|
<title>Overview</title>
|
|
<meta charset="utf-8">
|
|
|
|
<style>
|
|
.tg {border-collapse:collapse;border-spacing:0;width:100%;color: darkslategray;border: inset;height:585px;}
|
|
.tg td{font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;}
|
|
.tg th{height: 50px;font-size:24px;font-weight:bold;text-align:left;padding:0px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;background-color:#f0f0f0}
|
|
.tg .tg-1{width:700px;font-size:20px;font-family:Arial, Helvetica, sans-serif !important;border: inset;}
|
|
.tg .tg-2{font-size:20px;font-family:Arial, Helvetica, sans-serif !important;border: inset;}
|
|
.tg .tg-3{height: 15px;font-size:14px;font-family:Arial, Helvetica, sans-serif !important;border: inset;}
|
|
</style>
|
|
|
|
</head>
|
|
|
|
<body style="font-family: arial">
|
|
|
|
<table class="tg">
|
|
<tr>
|
|
<td class="tg-1" rowspan="9" style="vertical-align: top"><div id="img"></div></td>
|
|
<th class="th">Value:</th>
|
|
</tr>
|
|
<tr>
|
|
<td class="tg-2">
|
|
<div id="value"></div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th class="th">Previous Value:</th>
|
|
</tr>
|
|
<tr>
|
|
<td class="tg-2">
|
|
<div id="prevalue"></div>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th class="th">Raw Value:</th>
|
|
</tr>
|
|
<tr>
|
|
<td class="tg-2">
|
|
<div id="raw"></div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th class="th">Status:</th>
|
|
</tr>
|
|
<tr>
|
|
<td class="tg-2">
|
|
<div id="error"></div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="tg-3">
|
|
<div id="statusflow" ></div>
|
|
<div id="timestamp" ></div>
|
|
<div id="cputemp" ></div>
|
|
<div id="rssi" ></div>
|
|
<div>
|
|
<span id="uptime" ></span>
|
|
<span id="round" ></span>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
|
|
<script type="text/javascript" src="jquery-3.6.0.min.js?v=$COMMIT_HASH"></script>
|
|
<script type="text/javascript" src="common.js?v=$COMMIT_HASH"></script>
|
|
<script type="text/javascript" src="readconfigcommon.js?v=$COMMIT_HASH"></script>
|
|
<script type="text/javascript">
|
|
|
|
function addZero(i) {
|
|
if (i < 10) {
|
|
i = "0" + i;
|
|
}
|
|
return i;
|
|
}
|
|
|
|
|
|
$(document).ready(function() {
|
|
LoadData();
|
|
LoadROIImage();
|
|
});
|
|
|
|
|
|
function LoadData(){
|
|
loadValue("value", "value");
|
|
loadValue("raw", "raw");
|
|
loadValue("prevalue", "prevalue");
|
|
loadValue("error", "error", "font-size:8px");
|
|
loadStatus();
|
|
loadCPUTemp();
|
|
loadRSSI();
|
|
loadUptime();
|
|
loadRoundCounter();
|
|
}
|
|
|
|
|
|
function LoadROIImage(){
|
|
var d = new Date();
|
|
var timestamp = d.getTime();
|
|
var h = addZero(d.getHours());
|
|
var m = addZero(d.getMinutes());
|
|
var s = addZero(d.getSeconds());
|
|
$('#img').html('<img src=' + getDomainname() + '/img_tmp/alg_roi.jpg?timestamp='+ timestamp +'" max-height:555px; display:block; margin-left:auto; margin-right:auto;"></img>');
|
|
$('#timestamp').html("Last Page Refresh:" + (h + ":" + m + ":" + s));
|
|
}
|
|
|
|
|
|
function Refresh() {
|
|
setTimeout (function() {
|
|
LoadData();
|
|
LoadROIImage();
|
|
Refresh();
|
|
}, 300000);
|
|
}
|
|
|
|
|
|
function loadStatus() {
|
|
url = domainname + '/statusflow';
|
|
var xhttp = new XMLHttpRequest();
|
|
xhttp.onreadystatechange = function() {
|
|
if (this.readyState == 4 && this.status == 200) {
|
|
var _rsp = xhttp.responseText;
|
|
$('#statusflow').html("State: " + _rsp);
|
|
}
|
|
}
|
|
xhttp.open("GET", url, true);
|
|
xhttp.send();
|
|
}
|
|
|
|
|
|
function loadCPUTemp() {
|
|
url = domainname + '/cpu_temperature';
|
|
var xhttp = new XMLHttpRequest();
|
|
xhttp.onreadystatechange = function() {
|
|
if (this.readyState == 4 && this.status == 200) {
|
|
var _rsp = xhttp.responseText;
|
|
$('#cputemp').html("CPU Temperature: " +_rsp + "°C");
|
|
}
|
|
}
|
|
xhttp.open("GET", url, true);
|
|
xhttp.send();
|
|
}
|
|
|
|
|
|
function loadRSSI() {
|
|
url = domainname + '/rssi';
|
|
var xhttp = new XMLHttpRequest();
|
|
xhttp.onreadystatechange = function() {
|
|
if (this.readyState == 4 && this.status == 200) {
|
|
var _rsp = xhttp.responseText;
|
|
|
|
if (_rsp >= -55) {
|
|
$('#rssi').html("WIFI Signal: Excellent (" + _rsp + "dBm)");
|
|
}
|
|
else if (_rsp < -55 && _rsp >= -67) {
|
|
$('#rssi').html("WIFI Signal: Good (" + _rsp + "dBm)");
|
|
}
|
|
else if (_rsp < -67 && _rsp >= -78) {
|
|
$('#rssi').html("WIFI Signal: Fair (" + _rsp + "dBm)");
|
|
}
|
|
else if (_rsp < -78 && _rsp >= -85) {
|
|
$('#rssi').html("WIFI Signal: Weak (" + _rsp + "dBm)");
|
|
}
|
|
else {
|
|
$('#rssi').html("WIFI Signal: Unreliable (" + _rsp + "dBm)");
|
|
}
|
|
}
|
|
}
|
|
xhttp.open("GET", url, true);
|
|
xhttp.send();
|
|
}
|
|
|
|
|
|
function loadUptime() {
|
|
url = domainname + '/uptime';
|
|
var xhttp = new XMLHttpRequest();
|
|
xhttp.onreadystatechange = function() {
|
|
if (this.readyState == 4 && this.status == 200) {
|
|
var _rsp = xhttp.responseText;
|
|
$('#uptime').html("Uptime: " + _rsp);
|
|
}
|
|
}
|
|
xhttp.open("GET", url, true);
|
|
xhttp.send();
|
|
}
|
|
|
|
|
|
function loadRoundCounter() {
|
|
url = domainname + '/info?type=Round';
|
|
var xhttp = new XMLHttpRequest();
|
|
xhttp.onreadystatechange = function() {
|
|
if (this.readyState == 4 && this.status == 200) {
|
|
var _rsp = xhttp.responseText;
|
|
$('#round').html("(Round: " + _rsp + ")");
|
|
}
|
|
}
|
|
xhttp.open("GET", url, true);
|
|
xhttp.send();
|
|
}
|
|
|
|
|
|
function loadValue(_type, _div, _style) {
|
|
url = domainname + '/value?all=true&type=' + _type;
|
|
var xhttp = new XMLHttpRequest();
|
|
xhttp.onreadystatechange = function() {
|
|
if (this.readyState == 4 && this.status == 200) {
|
|
var _rsp = xhttp.responseText;
|
|
var _split = _rsp.split("\r");
|
|
if (typeof _style == undefined)
|
|
out = "<table>";
|
|
else
|
|
out = "<table style=\"" + _style + "\">";
|
|
|
|
if (_split.length == 1)
|
|
{
|
|
var _zer = ZerlegeZeile(_split[0], "\t")
|
|
if (_zer.length > 1)
|
|
out = _zer[1];
|
|
else
|
|
out = "";
|
|
}
|
|
else
|
|
{
|
|
for (var j = 0; j < _split.length; ++j)
|
|
{
|
|
var _zer = ZerlegeZeile(_split[j], "\t")
|
|
if (_zer.length == 1)
|
|
out = out + "<tr><td>" + _zer[0] + "</td><td> </td></tr>";
|
|
else
|
|
out = out + "<tr><td>" + _zer[0] + "</td><td>" + _zer[1] + "</td></tr>";
|
|
}
|
|
out = out + "</table>"
|
|
|
|
}
|
|
document.getElementById(_div).innerHTML = out;
|
|
}
|
|
};
|
|
xhttp.open("GET", url, true);
|
|
xhttp.send();
|
|
}
|
|
|
|
|
|
function init(){
|
|
domainname = getDomainname();
|
|
Refresh();
|
|
}
|
|
|
|
|
|
init();
|
|
|
|
</script>
|
|
</body>
|
|
</html>
|