162 lines
6.2 KiB
HTML
162 lines
6.2 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<link rel="stylesheet" href="res/styles.css">
|
|
<link rel="stylesheet" href="res/iconsfont.css">
|
|
<script src="res/main.js"></script>
|
|
<script src="res/res.js"></script>
|
|
<title>~name~</title>
|
|
</head>
|
|
<body>
|
|
<script>PageSurround();</script>
|
|
<!--========== CONTENTS ==========-->
|
|
<main>
|
|
<section>
|
|
<div class="ml">
|
|
|
|
<div class="mlp">
|
|
<div class="mlpc">
|
|
<form name="syst" method="post">
|
|
<div class="mlhdr">SYSTEM</div>
|
|
<table class='cntr'><script>PrintTextInputNoReg('Имя устройства:','nam','~dname~', 3, 31 );
|
|
PrintTextInput('User name:','lgn','~login~', 3, 31 );
|
|
PrintTextInput('User password:','psn','~pass~', 5, 31 );
|
|
PrintSep();
|
|
PrintLabel('Device model:','~name~');
|
|
PrintLabel('Hardware rev:','~hrev~');
|
|
PrintLabel('Firmware version:','~fver~');
|
|
PrintLabel('IDF version:','~idfver~');
|
|
PrintLabel('Built date:','~builddate~');
|
|
PrintLabel('Serial number:','~serial10~');</script></table>
|
|
<script>PrintSaveFail('~status_fail~');</script>
|
|
<button type="submit" class ='btn' name='rst' value='prs'>Reboot</button>
|
|
<script>PrintSaveBtn('syst'); PrintApplyBtn('syst');</script>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="mlp">
|
|
<div class="mlpc">
|
|
<form name="syst" method="post">
|
|
<div class="mlhdr">FIRMWARE UPDATE</div>
|
|
<table class='cntr'><script>
|
|
PrintSwitch('Reset config on OTA update','otarst','~otarst~',null);
|
|
PrintSwitch('Enable OTA auto update','ota','~ota~',null);
|
|
PrintInt('Auto update check period','otaint','~otaint~',1,65534);
|
|
</script></table>
|
|
<table class='cntr'><tr><td align="center">Update firmware URL:</td></tr></table>
|
|
<table class='cntr'><tr><td><textarea type="text" raws="5" name='otaurl' title="128 символов" ">~otaurl~</textarea></td></tr>
|
|
|
|
</table><table class='cntr'>
|
|
<tr><td class='rl lab'>Current firmware version:</td><td><span id='fvr'>?</span></td></tr>
|
|
<tr><td class='rl lab'>Available firmware version:</td><td><span id='afvr'>?</span></td></tr>
|
|
<tr><td class='rl lab'>Current status:</td><td><span id='upst'>?</span></td></tr>
|
|
</table>
|
|
<button type="button" class ='btn' name='upd' onclick="fwupd()">Update manual</button>
|
|
<script>PrintSaveBtn('syst'); PrintApplyBtn('syst');</script>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="mlp">
|
|
<div class="mlpc">
|
|
<form name="stat" method="post">
|
|
<div class="mlhdr">STAT</div>
|
|
<div class='cntr' style='text-align:center;margin-top:20px'>
|
|
<span id='localtime'>?</span><br/>
|
|
Uptime:<span id='uptime'>?</span><br/><br/>
|
|
Signal WiFi:<span id='wlev' style="color:#0099ff;font-weight:bold">?</span><br/>
|
|
<br/>
|
|
</div>
|
|
<table class='cntr'>
|
|
<tr><td class='rl lab'>Ethernet:</td><td><span id='eth'>?</span></td></tr>
|
|
<tr><td class='rl lab'>WiFi:</td><td><span id='wfi'>?</span></td></tr>
|
|
<tr><td class='rl lab'>GPRS:</td><td><span id='gpr'>?</span></td></tr>
|
|
<tr><td height='20px'></td></tr>
|
|
<tr><td class='rl lab'>Current net adapter:</td><td><span id='adp'>?</span></td></tr>
|
|
<tr><td height='20px'></td></tr>
|
|
<tr><td class='rl lab'>MQTT connection 1:</td><td><span id='mq1'>?</span></td></tr>
|
|
<tr><td class='rl lab'>MQTT connection 2:</td><td><span id='mq2'>?</span></td></tr>
|
|
<tr><td height='20px'></td></tr>
|
|
<tr><td class='rl lab'>Free RAM:</td><td><span id='mem'>?</span></td></tr>
|
|
<tr><td class='rl lab'>Minimal free RAM :</td><td><span id='mmem'>?</span></td></tr>
|
|
</table>
|
|
<button type="button" class ='btn' name='rtos' onclick="getrtos()">RTOS stat</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
<div class="mlp">
|
|
<div class="mlpc">
|
|
<form name="apear" method="post">
|
|
<div class="mlhdr">APPEARANCE</div>
|
|
<table class='cntr'>
|
|
<tr><td class='rl'>Color scheme:</td>
|
|
<td><select name="colscheme">
|
|
<option value="1" ~colchm(1)~>Scheme 1 (Light)</option>
|
|
<option value="2 "~colchm(2)~>Scheme 2 (Dark)</option>
|
|
</select></td>
|
|
</tr>
|
|
</table>
|
|
<script>PrintSaveBtn('syst'); PrintApplyBtn('syst');</script>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</section>
|
|
</main>
|
|
<script>
|
|
function cmd(n) {
|
|
PostData("cmd="+n, "system.html",false ,false, false);
|
|
}
|
|
function fwupd() {
|
|
PostData("upd=prs", "system.html",false ,false, false);
|
|
}
|
|
function getrtos(){
|
|
PostJSONData("rtos=prs", "system.html",false ,false, false);
|
|
}
|
|
showMenu('header-toggle','navbar');
|
|
</script>
|
|
</body>
|
|
<script>
|
|
function secondsToHms(d) {
|
|
d = Number(d);
|
|
var dd = Math.floor(d/86400);
|
|
var h = Math.floor(d%86400/3600);
|
|
var m = Math.floor(d%3600/60);
|
|
var s = Math.floor(d%3600%60);
|
|
return (' '+dd+'d '+(h<10?"0":"")+h+":"+(m<10?"0":"")+m+":"+(s<10?"0":"")+s); }
|
|
function updateStatus(data) {
|
|
var dat = JSON.parse(data);
|
|
try
|
|
{
|
|
theDate = new Date(dat.time * 1000);
|
|
sec = dat.uptime;
|
|
document.getElementById('localtime').innerHTML=(theDate.toString()).slice(0,34);
|
|
document.getElementById('uptime').innerHTML= secondsToHms(sec);
|
|
document.getElementById('wlev').innerHTML= dat.wlev;
|
|
document.getElementById('eth').innerHTML= dat.ethstat;
|
|
document.getElementById('wfi').innerHTML= dat.wfstat;
|
|
document.getElementById('gpr').innerHTML= dat.gsmstat;
|
|
document.getElementById('adp').innerHTML= dat.defadp;
|
|
document.getElementById('mq1').innerHTML= dat.mqtt1st;
|
|
document.getElementById('mq2').innerHTML= dat.mqtt2st;
|
|
document.getElementById('mem').innerHTML= dat.freeram;
|
|
document.getElementById('mmem').innerHTML= dat.minram;
|
|
|
|
document.getElementById('fvr').innerHTML= dat.fver;
|
|
document.getElementById('afvr').innerHTML= dat.fverav;
|
|
document.getElementById('upst').innerHTML= dat.updstat;
|
|
|
|
}
|
|
catch(e){return;}
|
|
}
|
|
function ReadAndUpdate() {
|
|
GetDataFile("/api/stat.json", function(data){updateStatus(data);});
|
|
}
|
|
ReadAndUpdate();
|
|
setInterval("ReadAndUpdate()",1000);
|
|
</script>
|
|
</html> |