wifi scan integrated into wifi settings

This commit is contained in:
Bogdan Pilyugin 2023-01-29 17:58:34 +02:00
parent eabed85bf4
commit 17f0bbe079
3 changed files with 144 additions and 149 deletions

View File

@ -15,7 +15,6 @@
<main> <main>
<section> <section>
<div class="ml"> <div class="ml">
<div class="mlp ~hide_eth~"> <div class="mlp ~hide_eth~">
<div class="mlpc"> <div class="mlpc">
<form name="eth" method="post"> <form name="eth" method="post">
@ -30,7 +29,8 @@
PrintIPInput('DNS1:','dns1','~edns~'); PrintIPInput('DNS1:','dns1','~edns~');
PrintIPInput('DNS2:','dns2','~bkedns~'); PrintIPInput('DNS2:','dns2','~bkedns~');
PrintIPInput('DNS3:','dns3','~fledns~'); PrintIPInput('DNS3:','dns3','~fledns~');
PrintMACInput('MAC:','mac','~emacadr~');</script> PrintMACInput('MAC:','mac','~emacadr~');
</script>
<tr> <tr>
<td></td> <td></td>
</tr> </tr>
@ -51,15 +51,15 @@
<script> <script>
PrintCheckBox('Включить LoRaWAN','lren','~lren~',null); PrintCheckBox('Включить LoRaWAN','lren','~lren~',null);
PrintHexInput('ID устройства:','lrdvid','~lrdvid~',16,16); PrintHexInput('ID устройства:','lrdvid','~lrdvid~',16,16);
PrintHexInput('ID приложения:','lrapid','~lrapid~',16,16);</script> PrintHexInput('ID приложения:','lrapid','~lrapid~',16,16);
</script>
</table> </table>
<table> <table>
<tr> <tr>
<td align="center">Ключ приложения:</td> <td align="center">Ключ приложения:</td>
</tr> </tr>
<tr> <tr>
<td align="center"><input type="text" size="40" <td align="center"><input type="text" size="40" name='lrapkey' value="~lrapkey~"
name='lrapkey' value="~lrapkey~"
title="64 символа A-H,a-h,0-9" pattern="^[0-9a-hA-H]{32}$" /></td> title="64 символа A-H,a-h,0-9" pattern="^[0-9a-hA-H]{32}$" /></td>
</tr> </tr>
</table> </table>
@ -78,12 +78,20 @@
<td class='rl'>Включить WiFi</td> <td class='rl'>Включить WiFi</td>
<td><input type="checkbox" name="wifien" value="1" ~wfen~/></td> <td><input type="checkbox" name="wifien" value="1" ~wfen~/></td>
</tr> </tr>
<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> <tr>
<td class='rl'>Режим WiFi:</td> <td class='rl'>Режим WiFi:</td>
<td><input name="netm" type="radio" value="2" <td><input name="netm" type="radio" value="2" onclick="configIPBoxes()"~cln~>Клиент(CLN)</input></br>
onclick="configIPBoxes()"~cln~>Клиент(CLN)</input></br> <input <input name="netm" type="radio" value="1" onclick="configIPBoxes()"~apn~>Точка
name="netm" type="radio" value="1" доступа(AP)</input></td>
onclick="configIPBoxes()"~apn~>Точка доступа(AP)</input></td>
</tr> </tr>
<script>PrintTextInput('Имя WiFi сети(AP):','wfiap','~ssidap~',3,31); <script>PrintTextInput('Имя WiFi сети(AP):','wfiap','~ssidap~',3,31);
PrintTextInput('Ключ WiFi сети(AP):','wfpap','~wkeyap~',8,31); PrintTextInput('Ключ WiFi сети(AP):','wfpap','~wkeyap~',8,31);
@ -98,7 +106,8 @@
PrintIPInput('DNS2:','dns2','~dns2~'); PrintIPInput('DNS2:','dns2','~dns2~');
PrintIPInput('DNS3:','dns3','~dns3~'); PrintIPInput('DNS3:','dns3','~dns3~');
PrintMACInput('MAC(CLN):','mac','~macadr~'); PrintMACInput('MAC(CLN):','mac','~macadr~');
PrintMACInput('MAC(AP):','mac2','~apmacadr~');</script> PrintMACInput('MAC(AP):','mac2','~apmacadr~');
</script>
<tr> <tr>
<td></td> <td></td>
</tr> </tr>
@ -131,30 +140,10 @@
PrintSep(); PrintSep();
</script> </script>
</table> </table>
<script>PrintSaveFail('~status_fail~'); <script>PrintSaveFail('~status_fail~');PrintSaveBtn('gprs'); PrintApplyBtn('gprs');</script>
PrintSaveBtn('gprs'); PrintApplyBtn('gprs');</script>
</form> </form>
</div> </div>
</div> </div>
<div class="mlp ~hide_wifiscan~">
<div class="mlpc">
<div class="mlhdr">WiFiSCAN</div>
<form name="wifiscan" method="post">
<table class='cntr'>
<tr>
<td><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>
<table class='cntr' id="nets"></table>
</form>
</div>
</div>
</div> </div>
</section> </section>
</main> </main>
@ -162,22 +151,29 @@
var array; var array;
function Connect(n) function Connect(n)
{ {
alert("Connect to network "+array[n].ssid); let key = prompt('Enter WiFi key for '+array[n].ssid);
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) function PrintNetworks(data)
{ {
document.getElementById("nets").innerHTML = data; document.getElementById("nets").innerHTML = data;
array = JSON.parse(data); array = JSON.parse(data);
var i=0; var i=0;
var out = "<tr><td>CHANNEL</td><td>SSID</td><td>RSSI</td></tr>"; var out = "<table class='cntr'><tr><td>SSID</td><td>RSSI</td><td>CH</td></tr>";
for (i=0; i<array.length; ++i) for (i=0; i<array.length; ++i)
{ {
if(array[i].ssid != "") if(array[i].ssid != "")
{ {
out += "<tr><td>"+array[i].ch+"</td><td>"+array[i].ssid+"</td><td>"+array[i].rssi+" dBm</td>"; out += "<tr><td>"+array[i].ssid+"</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 += "<td><button type=\"button\" class ='btn' onclick=\"Connect("+i+")\">Connect</button></tr>";
} }
} }
out +="</table>";
document.getElementById("nets").innerHTML = out; document.getElementById("nets").innerHTML = out;
} }
async function StartScan(){ async function StartScan(){

View File

@ -372,9 +372,8 @@ input[type="radio"] { margin-top: -1px; vertical-align: middle;}
.scanbar { .scanbar {
visibility: hidden; visibility: hidden;
width: 300px; height: 20px;
height: 50px; margin: 0 10px;
margin: 0 20px;
} }
.clerr { .clerr {

@ -1 +1 @@
Subproject commit 82a2328571205dd3f11ab67560d0ca032b262bac Subproject commit 5778bee9b27470be8fe1c0173ebc676b86a3c3c2