tools.js


A tools.js JavaScript megkönnyíti a programozást, átláthatóbbá teszi a kódot.



Példák

WebSocket kapcsolat létrehozása.

Egyszerre max 4 WebSocket kapcsolatot tud kezelni a rendszer!

startWS(0);
Ez a függvény létrehoz egy WebSocket kapcsolatot. A kapcsolat megszakadását nem kezeli.

startWS(1);
A ReconnectingWebSocket('ws://....'); függvény segítségével csatlakozik. Sikertelen küldés után automatikusan újracsatlakozik. Ez ~10 sec.

startWS(2);
Ez is a fenti függvényt használja, a HEART paranccsal kombinálva. Ha nem kap a modultól 2.5 másodpercen belül egy (HEART) üzenetet, újracsatlakozik.

startWS(3);
Létrehoz egy kapcsolatot. Ha kikerül az oldal a fókuszból bezárja a kapcsolatot, ha újra fókuszba kerül, újranyitja.

startWS(4);
Létrehoz egy kapcsolatot, ha a document.getElementById("wspw").value értéke egyezik a Setup/Password menüben beállított WebSocket jelszóval. A function onMessage(msg) működik egyezés nélkül is.

closeWS();
Bezárja a kapcsolatot.

sendWS("Message");
Message üzenetet elküldi a modulnak.


function onOpen() { }
{ } végrehajtódik sikeres csatlakozás után.

function onClose() { }
{ } végrehajtódik, ha megszakadt a kapcsolat.

function onMessage(msg) { }
{ } végrehajtódik, ha üzenet érkezett a modultól.

function onExit() { }
{ } végrehajtódik az oldal bezárása előtt.

Ezeket a függvényeket csak akkor kell beleírni a kódba, ha szükség van rájuk. Nem okoz hibát, ha valamelyik nincs benne.
<html> <body> <H1>WebSocket startWS(2)</H1> <H2 id="con"></H2> <button type="button" onclick="press();">Send</button> <br><br> <H2 id="wsdata"></H2> <script type="text/javascript" src="tools.js"></script> <script> startWS(2); function onOpen() { document.getElementById("con").innerHTML = "CONNECTED"; document.getElementById("con").style.color = "#00FF00"; sendWS("STR[0]=blablabla"); sendWS("LED(ON)"); } function onClose() { document.getElementById("con").innerHTML = "DISCONNECTED"; document.getElementById("con").style.color = "#FF0000"; } function onExit() { sendWS("LED(OFF)"); } function onMessage(msg) { document.getElementById("wsdata").innerHTML = msg; } function press() { document.getElementById("wsdata").innerHTML = ""; sendWS("STR[0]@") } </script> </body> </html> <html> <body> <H1>WebSocket startWS(3)</H1> <H2 id="con"></H2> <br><br> <script type="text/javascript" src="tools.js"></script> <script> startWS(3); function onOpen() { document.getElementById("con").innerHTML = "CONNECTED"; document.getElementById("con").style.color = "#00FF00"; sendWS("LED(ON)"); } function onClose() { document.getElementById("con").innerHTML = "DISCONNECTED"; document.getElementById("con").style.color = "#FF0000"; sendWS("LED(OFF)"); } </script> </body> </html> <html> <body> <H1>WebSocket startWS(4)</H1> <input type="password" id="wspw" placeholder="WS password" autocomplete="off"/> <button type="button" onclick="startWS(4);">Connect</button> <br><br> <button type="button" onclick="sendWS('LED(TOGGLE)@');">LED TOGGLE</button> <br><br> <H2 id="wsdata"></H2> <script type="text/javascript" src="tools.js"></script> <script> function onMessage(msg) { document.getElementById("wsdata").innerHTML = msg; } </script> </body> </html>

Fájl betöltése változóba.

getFile("filename");
A függvény visszatérő értéke a fájl tartalma. Ha a fájl nem létezik, "Error 404" jön vissza.

STR[0]=blablabla|
STR[0]#example.txt

<html> <body> <H1>FILE</H1> <H2 id="str"></H2> <script type="text/javascript" src="tools.js"></script> <script> var filedata = getFile("example.txt"); document.getElementById("str").innerHTML = filedata; </script> </body> </html>

Sdiv

Egy teljesen testreszabható keretben (Sdiv) lehet létrehozni feliratot (Slabel), nyomógombot (Sbutton), kapcsolót (Stoggle), lámpát (Slamp), csúszkát (Srange), állapotjelzőt (Sbar), skálás műszert (Smeter), színválasztót (Scolor), grafikont (Sgraph), felugró figyelmeztetést (Salert). Példák a plugins mappában levő Sdemo.tar feltöltése után érhetők el.