WebguiappTemplate/HTML/adapters.html

198 lines
7.7 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 ~hide_eth~">
<div class="mlpc">
<form name="eth" method="post">
<div class="mlhdr">ETHERNET</div>
<table class='cntr'>
<tr>
<script>PrintSwitch('ETHERNET enabled','ethen','~ethen~','configIPBoxes()');
PrintSwitch('DHCP enabled','dhcp','~ecbdh~','configIPBoxes()');
PrintIPInput('IP address:','ipa','~eip~');
PrintIPInput('Subnet mask:','mas','~emsk~');
PrintIPInput('Gateway address:','gte','~egate~');
PrintIPInput('DNS1:','dns1','~edns~');
PrintIPInput('DNS2:','dns2','~bkedns~');
PrintIPInput('DNS3:','dns3','~fledns~');
PrintMACInput('MAC:','mac','~emacadr~');
</script>
<tr>
<td></td>
</tr>
</table>
<br />
<script>PrintSaveFail('~status_fail~');
PrintSaveBtn('eth'); PrintApplyBtn('eth');</script>
</form>
</div>
</div>
<div class="mlp ~hide_lora~">
<div class="mlpc">
<div class="mlhdr">LORAWAN</div>
<form name="gprs" method="post">
<table class='cntr'>
<table>
<script>
PrintSwitch('LoRaWAN enabled','lren','~lren~',null);
PrintHexInput('Device ID:','lrdvid','~lrdvid~',16,16);
PrintHexInput('Application ID:','lrapid','~lrapid~',16,16);
</script>
</table>
<table>
<tr>
<td align="center">Application key:</td>
</tr>
<tr>
<td align="center"><input type="text" size="40" name='lrapkey' value="~lrapkey~"
title="64 symbols A-H,a-h,0-9" pattern="^[0-9a-hA-H]{32}$" /></td>
</tr>
</table>
<script>PrintSaveFail('~status_fail~');
PrintSaveBtn('lora'); PrintApplyBtn('lora');</script>
</form>
</div>
</div>
<div class="mlp ~hide_wifi~">
<div class="mlpc">
<form name="wifi" method="post">
<div class="mlhdr">WiFi</div>
<table class='cntr'>
<script>
PrintSwitch('WiFi enable','wifien','~wfen~',null);
</script>
<tr>
<td class='rl'><button type="button" class='btn' name='upd' onclick="StartScan()">Scan
WiFi</button></td>
<td><progress id="pbar" class="scanbar" value="0" max="100"></progress></td>
</tr>
</table>
<p id="nets"></p>
<table class='cntr'>
<tr><td class='rl'>WiFi mode:</td>
<td><select name="wfmode">
<option value="sta"~wfmode(1)~>Station (STA)</option>
<option value="ap"~wfmode(2)~>Access point (AP)</option>
<option value="apsta"~wfmode(3)~>Mixed(AP+STA)</option>
</select></td>
</tr>
<script>
PrintInt('Max power, dBm','wifipwr','~wifipwr~',2,21);
PrintTextInput('WiFi network name(AP):','wfiap','~ssidap~',3,31);
PrintTextInput('WiFi network key(AP):','wfpap','~wkeyap~',8,31);
PrintIPInput('IP address(AP):','ipaap','~ipap~');
PrintTextInput('WiFi network name(CLN):','wfi','~ssid~',3,31);
PrintTextInput('WiFi network key(CLN):','wfp','~wkey~',8,31);
PrintSwitch('DHCP enabled','dhcp','~cbdh~','configIPBoxes()');
PrintIPInput('IP address(CLN):','ipa','~ip~');
PrintIPInput('Subnet mask(CLN):','mas','~msk~');
PrintIPInput('Gateway address(CLN):','gte','~gate~');
PrintIPInput('DNS1:','dns','~dns~');
PrintIPInput('DNS2:','dns2','~dns2~');
PrintIPInput('DNS3:','dns3','~dns3~');
PrintMACInput('MAC(CLN):','mac','~macadr~');
PrintMACInput('MAC(AP):','mac2','~apmacadr~');
</script>
<tr>
<td></td>
</tr>
</table>
<br />
<script>PrintSaveFail('~status_fail~');
PrintSaveBtn('wifi'); PrintApplyBtn('wifi');</script>
</form>
</div>
</div>
<div class="mlp ~hide_gprs~">
<div class="mlpc">
<div class="mlhdr">GPRS</div>
<form name="gprs" method="post">
<table class='cntr'>
<script>
PrintSwitch('GSM enable','gsmen','~gsmen~',null);
PrintLabel('Module type:','~gsmmod~');
PrintLabel('Provider name:','~gsmopr~');
PrintLabel('IMEI:','~gimei~');
PrintLabel('IMSI:','~gimsi~');
PrintLabel('IP address:','~gsmip~');
PrintLabel('Subnet mask:','~gsmmsk~');
PrintLabel('Gateway address:','~gsmgate~');
PrintLabel('DNS1:','~gsmdns~');
PrintLabel('DNS2:','~bkgsmdns~');
PrintLabel('DNS3:','~flgsmdns~');
PrintSep();
</script>
</table>
<script>PrintSaveFail('~status_fail~');PrintSaveBtn('gprs'); PrintApplyBtn('gprs');</script>
</form>
</div>
</div>
</div>
</section>
</main>
<script>
var array;
function Connect(n)
{
let key = prompt("Enter key for \""+array[n].ssid+"\" network:");
if(key != null){
var payload = "wfi="+array[n].ssid+"&wfp="+key+"&wifisave=prs";
PostData(payload, 'adapters.html',false ,false, false);
var str = document.location.toString();
var ref = str.substring(0,str.lastIndexOf('/adapters.html'))+"/reboot.html";
window.location=ref;}
}
function PrintNetworks(data)
{
document.getElementById("nets").innerHTML = data;
array = JSON.parse(data);
var i=0;
var out = "<table class='cntr'><tr><td>SSID</td><td>RSSI</td><td>CH</td></tr>";
for (i=0; i<array.length; ++i)
{
if(array[i].ssid != "")
{
var trimssid = ((array[i].ssid).length > 16)?((array[i].ssid).substring(0,13)+"..."):(array[i].ssid);
out += "<tr><td>"+trimssid+"</td><td style=\"color:#0099ff;\">"+array[i].rssi+"dBm</td><td>"+array[i].ch+"</td>";
out += "<td><button type=\"button\" class ='btn' onclick=\"Connect("+i+")\">Connect</button></tr>";
}
}
out +="</table>";
document.getElementById("nets").innerHTML = out;
}
async function StartScan(){
PostData('wifisc=prs', 'adapters.html',false ,false, false);
console.log('start wifi scan');
b = document.getElementById("pbar");
b.value = 0;
b.style.visibility = "visible";
for (i = 0; i<=100; ++i){
await new Promise(resolve => setTimeout(resolve, 100));
b.value = i;
}
b.style.visibility = "hidden";
console.log('stop wifi scan');
GetDataFile("/api/wifiscan.json", function(data){PrintNetworks(data);});
}
showMenu('header-toggle','navbar');
</script>
</body>
</html>