sync web pages and dynamic variables
This commit is contained in:
parent
5d090ec18e
commit
a5aa43d594
|
|
@ -5,14 +5,8 @@ favicon.ico
|
|||
gendata.json
|
||||
head.inc
|
||||
index.html
|
||||
index20.html
|
||||
index21.html
|
||||
index22.html
|
||||
index23.html
|
||||
index30.html
|
||||
index31.html
|
||||
index32.html
|
||||
index33.html
|
||||
index40.html
|
||||
index41.html
|
||||
ioscr.js
|
||||
|
|
@ -29,6 +23,12 @@ reboot.html
|
|||
set1.json
|
||||
set2.json
|
||||
set3.json
|
||||
set_eth.html
|
||||
set_gprs.html
|
||||
set_mqtt.html
|
||||
set_sys.html
|
||||
set_time.html
|
||||
set_wifi.html
|
||||
stat.json
|
||||
status.json
|
||||
style.css
|
||||
|
|
|
|||
|
|
@ -7,36 +7,11 @@
|
|||
Home|State[<span id='dn'>?</span>]
|
||||
</div>
|
||||
<div style='text-align:center;margin-top:20px'>
|
||||
<span id="name" ><div class='hdr1'>Станция 'Etherbox-07'</div></span>
|
||||
<span id="name" ><div class='hdr1'>Your device name'</div></span>
|
||||
<span id='localtime'>?</span><br/>
|
||||
Время работы:<span id='uptime'>?</span><br/><br/>
|
||||
Входное напряжение:<span id='volt2'>?</span> В<br/>
|
||||
Системное напряжение:<span id='volt'>?</span> В<br/>
|
||||
Напряжение батареи:<span id='volt3'>?</span> В<br/>
|
||||
Уровень WiFi:<span id='wlev' style="color:#0099ff;font-weight:bold">?</span><br/>
|
||||
</div>
|
||||
<div class='stg indic'>
|
||||
<table><tr><td>
|
||||
<table>
|
||||
<tr><td align='right'>Район 1</td><td align='left'><span class='dot' id='led1'></span></td></tr>
|
||||
<tr><td align='right'>Район 2</td><td align='left'><span class='dot' id='led2'></span></td></tr>
|
||||
<tr><td align='right'>Район 3</td><td align='left'><span class='dot' id='led3'></span></td></tr>
|
||||
<tr><td align='right'>Район 4</td><td align='left'><span class='dot' id='led4'></span></td></tr>
|
||||
<tr><td align='right'>Район 5</td><td align='left'><span class='dot' id='led5'></span></td></tr>
|
||||
<tr><td align='right'>Район 6</td><td align='left'><span class='dot' id='led6'></span></td></tr>
|
||||
<tr><td align='right'>Район 7</td><td align='left'><span class='dot' id='led7'></span></td></tr>
|
||||
<tr><td align='right'>Район 8</td><td align='left'><span class='dot' id='led8'></span></td></tr>
|
||||
</table>
|
||||
</td><td valign='top'>
|
||||
<table>
|
||||
<tr><td align='right'><span class='dot' id='sys1'></span></td><td align='left'>Система</td></tr>
|
||||
<tr><td align='right'><span class='dot' id='sys2'></span></td><td align='left'>Питание</td></tr>
|
||||
<tr><td align='right'><span class='dot' id='sys3'></span></td><td align='left'>Батарея</td></tr>
|
||||
<tr><td align='right'><span class='dot' id='sys4'></span></td><td align='left'>Связь</td></tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
|
@ -45,56 +20,18 @@ var tmr;
|
|||
function updateStatus(xmlData) {
|
||||
var dat = JSON.parse(xmlData);
|
||||
var theDate,sec,wl,volt,dnam;
|
||||
var zr,zy,zg;
|
||||
var sr,sy,sg;
|
||||
try{
|
||||
theDate = new Date(dat.time * 1000);
|
||||
sec = dat.uptime;
|
||||
wl = dat.wlev;
|
||||
volt = dat.vlsys;
|
||||
volt2 = dat.vlin;
|
||||
volt3 = dat.vlbat;
|
||||
dnam = dat.dname;
|
||||
zr = dat.zred;
|
||||
zy = dat.zyel;
|
||||
zg = dat.zgrn;
|
||||
sr = dat.sred;
|
||||
sy = dat.syel;
|
||||
sg = dat.sgrn;
|
||||
}
|
||||
catch(e){return;}
|
||||
|
||||
volt = (volt*4.7/1000).toFixed(1);
|
||||
volt2 = (volt2*11/1000+1.4).toFixed(1);
|
||||
volt3 = (volt3*6.8/1000).toFixed(1);
|
||||
|
||||
document.getElementById('localtime').innerHTML = (theDate.toString()).slice(0,34);
|
||||
document.getElementById('uptime').innerHTML= secondsToHms(sec);
|
||||
document.getElementById('volt').innerHTML= volt;
|
||||
document.getElementById('volt2').innerHTML= volt2;
|
||||
document.getElementById('volt3').innerHTML= volt3;
|
||||
document.getElementById('wlev').innerHTML= wl;
|
||||
document.getElementById('dn').innerHTML= dnam;
|
||||
for(i=1; i<=8; ++i)
|
||||
{
|
||||
document.getElementById('led'+i).style.backgroundColor = '#d0d0d0'
|
||||
if(zg & 1) document.getElementById('led'+i).style.backgroundColor = '#00cc00';
|
||||
if(zy & 1) document.getElementById('led'+i).style.backgroundColor = '#ffff00';
|
||||
if(zr & 1) document.getElementById('led'+i).style.backgroundColor = '#ff0000';
|
||||
zg >>=1;
|
||||
zy >>=1;
|
||||
zr >>=1;
|
||||
}
|
||||
for(i=1;i<=4;++i)
|
||||
{
|
||||
document.getElementById('sys'+i).style.backgroundColor = '#d0d0d0'
|
||||
if(sg & 8) document.getElementById('sys'+i).style.backgroundColor = '#00cc00';
|
||||
if(sy & 8) document.getElementById('sys'+i).style.backgroundColor = '#ffff00';
|
||||
if(sr & 8) document.getElementById('sys'+i).style.backgroundColor = '#ff0000';
|
||||
sg <<=1;
|
||||
sy <<=1;
|
||||
sr <<=1;
|
||||
}
|
||||
|
||||
function secondsToHms(d) {
|
||||
d = Number(d);
|
||||
var dd = Math.floor(d/86400);
|
||||
|
|
|
|||
|
|
@ -30,14 +30,14 @@ document.write("<li><a href='index41.html'>Статистика</a></li></ul></l
|
|||
|
||||
document.write("<li><a href='#'>Настройки</a><ul>");
|
||||
document.write("<li><a href='index30.html'>Панель</a></li>");
|
||||
document.write("<li><a href='index31.html'>Станция</a></li>");
|
||||
document.write("<li><a href='index32.html'>Система</a></li>");
|
||||
document.write("<li><a href='index33.html'>Время</a></li></ul></li>");
|
||||
document.write("<li><a href='set_mqtt.html'>MQTT</a></li>");
|
||||
document.write("<li><a href='set_sys.html'>System</a></li>");
|
||||
document.write("<li><a href='set_time.html'>Time</a></li></ul></li>");
|
||||
|
||||
document.write("<li><a href='#'>Сеть</a><ul>");
|
||||
document.write("<li><a href='index20.html'>Ethernet</a></li>");
|
||||
document.write("<li><a href='index21.html'>WiFi</a></li>");
|
||||
document.write("<li><a href='index22.html'>GPRS</a></li>");
|
||||
document.write("<li><a href='set_eth.html'>Ethernet</a></li>");
|
||||
document.write("<li><a href='set_wifi.html'>WiFi</a></li>");
|
||||
document.write("<li><a href='set_gprs.html'>GPRS</a></li>");
|
||||
document.write("<li><a href='index23.html'>LoRaWAN</a></li></ul></li>");
|
||||
document.write("</ul></nav></div>");}
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit 4b8b8a36d327713a0c08998a7d11b538fd3a8a06
|
||||
Subproject commit f4ee6c25c7c93db384e47fdf0cac1027498e87de
|
||||
|
|
@ -28,11 +28,6 @@ static void HTTPPrint_DEF(char *VarData, void *arg)
|
|||
snprintf(VarData, MAX_DYNVAR_LENGTH, "#DEF");
|
||||
}
|
||||
|
||||
void HTTPPrint_topic2(char *VarData, void *arg)
|
||||
{
|
||||
snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", "custom-dyn_var");
|
||||
}
|
||||
|
||||
static void HTTPPrint_status_fail(char *VarData, void *arg)
|
||||
{
|
||||
snprintf(VarData, MAX_DYNVAR_LENGTH, "none");
|
||||
|
|
@ -41,7 +36,6 @@ static void HTTPPrint_status_fail(char *VarData, void *arg)
|
|||
dyn_var_handler_t HANDLERS_ARRAY_CUST[] = {
|
||||
|
||||
/*ERROR report*/
|
||||
{ "topic2", sizeof("topic2") - 1, &HTTPPrint_topic2 },
|
||||
{ "status_fail", sizeof("status_fail") - 1, &HTTPPrint_status_fail },
|
||||
|
||||
};
|
||||
|
|
@ -50,33 +44,13 @@ dyn_var_handler_t HANDLERS_ARRAY_CUST[] = {
|
|||
int HTTPPrintCustom(httpd_req_t *req, char *buf, char *var)
|
||||
{
|
||||
char VarData[MAX_DYNVAR_LENGTH];
|
||||
const char incPat[] = "inc:";
|
||||
const int incPatLen = sizeof(incPat) - 1;
|
||||
if (!memcmp(var, incPat, incPatLen))
|
||||
{
|
||||
const char rootFS[] = "/";
|
||||
char filename[32];
|
||||
filename[0] = 0x00;
|
||||
var += incPatLen;
|
||||
strcat(filename, rootFS);
|
||||
strcat(filename, var);
|
||||
espfs_file_t *file = espfs_fopen(fs, filename);
|
||||
struct espfs_stat_t stat;
|
||||
if (file)
|
||||
{
|
||||
espfs_fstat(file, &stat);
|
||||
int readBytes = espfs_fread(file, buf, stat.size);
|
||||
espfs_fclose(file);
|
||||
return readBytes;
|
||||
}
|
||||
}
|
||||
|
||||
bool fnd = false;
|
||||
char *p2 = var + strlen(var) - 1; //last var symbol
|
||||
int arg = 0;
|
||||
//searching for tag in handles array
|
||||
for (int i = 0; i < (sizeof(HANDLERS_ARRAY_CUST) / sizeof(HANDLERS_ARRAY_CUST[0])); ++i)
|
||||
{
|
||||
//Try to extract integer parameter from dynamic variable
|
||||
if (*p2 == ')')
|
||||
{ //found close brace
|
||||
char *p1 = p2;
|
||||
|
|
@ -90,6 +64,7 @@ int HTTPPrintCustom(httpd_req_t *req, char *buf, char *var)
|
|||
arg = atoi(p1);
|
||||
}
|
||||
}
|
||||
|
||||
if (strcmp(var, HANDLERS_ARRAY_CUST[i].tag) == 0
|
||||
&& HANDLERS_ARRAY_CUST[i].HandlerRoutine != NULL)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user