Skip to content

Instantly share code, notes, and snippets.

@seyyah
Last active July 28, 2018 10:51
Show Gist options
  • Save seyyah/babf6917e1b3ccff55f7a11f87d2c831 to your computer and use it in GitHub Desktop.
Save seyyah/babf6917e1b3ccff55f7a11f87d2c831 to your computer and use it in GitHub Desktop.
Serial Port JSON Server - Minimal Websocket Client Example
<!DOCTYPE html>
<meta charset="utf-8" />
<title>WebSocket Test</title>
<script language="javascript" type="text/javascript">
//var wsUri = "ws://echo.websocket.org/";
var wsUri = "ws://SERVER_IP_ADDRESS:8989/ws";
var output;
function init()
{
output = document.getElementById("output");
testWebSocket();
}
function testWebSocket()
{
websocket = new WebSocket(wsUri);
websocket.onopen = function(evt) { onOpen(evt) };
websocket.onclose = function(evt) { onClose(evt) };
websocket.onmessage = function(evt) { onMessage(evt) };
websocket.onerror = function(evt) { onError(evt) };
}
function onOpen(evt)
{
writeToScreen("CONNECTED");
// doSend('list');
// https://github.com/johnlauer/serial-port-json-server/pull/54/files#diff-04c6e90faac2675aa89e2176d2eec7d8R177
// https://github.com/chilipeppr/serial-port-json-server/issues/16
doSend('open /dev/ttyUSB0 9600 8 NONE 1');
}
function onClose(evt)
{
writeToScreen("DISCONNECTED");
}
function onMessage(evt)
{
writeToScreen('<span style="color: blue;">RESPONSE: ' + evt.data+'</span>');
//websocket.close();
}
function onError(evt)
{
writeToScreen('<span style="color: red;">ERROR:</span>' + evt.data);
}
/*
doSend('open /dev/ttyUSB1 9600 8 NONE 1')
doSend('sendjson {"Cmd":"Write", "P":"/dev/ttyUSB1","Data":[{"D":"1"}]}')
*/
function doSend(message)
{
writeToScreen("SENT:" + message);
websocket.send(message);
}
function writeToScreen(message)
{
var pre = document.createElement("p");
pre.style.wordWrap = "break-word";
pre.innerHTML = message;
//output.prependChild(pre);
output.innerHTML = message + "<br>" + output.innerHTML;
}
window.addEventListener("load", init, false);
</script>
<h2>WebSocket Test</h2>
<div id="output"></div>
@seyyah
Copy link
Author

seyyah commented Feb 14, 2017

Thanks a lot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment