Jump to content

WebPanel Open Source SVG and WebSocket Project Launched

Recommended Posts


WebPanel, an open-source monitoring and control framework based on Javascript, SVG, and WebSocket, is launched at Evexia. The download includes the code originally posted on the LabVIEW, WebSockets, and SVG thread with some minor script improvements and the addition of some new elements (plus removal of some old, sorry). The included LabVIEW server has been brought up to version 2011.

Here is a screenshot:


As with the original version, this first released version is intended as a demonstration of using Javascript+WebSocket+SVG for remote monitoring and control. Prefabricated graphical objects are imported into an SVG template using Inkscape and arranged by the user in WYSIWYG fashion. The SVG template contains the necessary elements for loading the script and using the prefab elements. As with the original version, the demo server is written in LabVIEW. I am planning an open-source server probably based on jWebSocket and Java. I am also planning on creating a WebSocket subprotocol for binary data streaming.

Obviously, the project is in transition right now. If you are interested, check back often both here and at Evexia. I will try to maintain the habit of posting new release information on this thread. if you are interested in contributing, message me. I have a subversion repository set up for the project that will remain at Evexia for the time being. In the future, it will probably move to a public, open-source hosting site.


  • Like 2
Link to comment

After releasing the WebPanel demo version, I have made some changes to the protocol and also tested with a wider array of browsers. Websocket failed on IE9 and Firefox. After updating the script to handle MozWebSocket in FF 10, I was able to get it working, but the performance was appalling. I have decided not to support Firefox until they get their act together. I get no problems from Chrome with high frequency messages up to 250 Hz. FF is slowwwww, lagging way behind the server on screen redraws and script handling. If anyone can get this working, I might consider working into the my script, otherwise, I don't have the time to deal with it. I downloaded and tested Safari 5.1.2 and it fails the handshake and closes the connection. I'll try to fix this when I get some free time, as I want to see what the performance is like. In the meantime, if anyone has any ideas about why it might be failing, let me know.

I am currently testing a protocol change. I have stated before that I would like to move to binary for value streaming, and text for attribute/property changes. I have moved to JSON data objects for now. I really like the JSON parsing interface and object notation. I'm keeping it for now, but will still be exploring binary for value streaming.

JSON example for DBL: {"type":"value","id":"myMeter","data":"62.45"}

JSON example for boolean: {"type":"value","id":"myLED","data":"1"}

JSON example for Graph: {"type":"value","id":"myGraph","data":{"x":[0,1,2,3,4],"y":[9.1,4.3,6.2,8.9,1.3]}}

I have moved the graph scaling to the client side, so you no longer have to convert your data in LabVIEW, or whatever server you are using. There are also changes to the LabVIEW server, such as more stable shut down, etc. I will be providing a link to the trunk version of the program, which will constantly be in flux, for anyone who is interested in toying with the latest changes.


Edited by smarlow
Link to comment

Tested Firefox 11 Beta, and the script connects no problem, and the need for "MozWebSocket" API calls has been eliminated. The script still runs really slow. Either that, or websocket is just slow on FF. I'll look into it when more when they officially release ver. 11. It seems Safari is still sending the hybi 00 handshake.

Link to comment
  • 2 weeks later...

Released version 0.2. I apologize there still is little or no documentation, but everything is in a state of flux. This release uses JSON strings for element attributes, and for data messages. It also uses jQuery. I will be changing the data message protocol to binary. There will be no more releases until that is complete. Of course, for those who are interested, there are links to the repository on the download page. There will always be the stuff in the trunk available there.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...

Important Information

By using this site, you agree to our Terms of Use.