WebGUI - ALMOST USEFUL !!!

The WebGUI will be the future interface for MRL.  This will allow for more simple remote control access, and user defined GUIs. There are the beginnings of a plethora of HTML5 widgets (JMWidgets,RGraph, Wijmo) which can be easily integrated with MRL using a simple text editor ! 

WebGUI is currently missing a lot of functionality, but the gap is closing quickly!

So if you dare to try out the pre-beta-beta ;)  here are the instructions to get up and running.

Step 1

Download the latest release - when you unzip it you'll find 2 new script files.  

Step 2

Start the appropriate webgui.bat or webgui.sh depending on your operating system.

If all goes well :) 
It should automatically spawn a browser, open the myrobotlab.html page, and connect via websockets.  Be aware that only Browsers which currently support websockets will be able to use WebGUI. All "modern" browsers (IE9 is not a modern browser) should work - here is a list - http://caniuse.com/websockets

This is what it should look like - go to Trouble-Shooting if it doesn't

These are the 3 default services you get with the webgui script file.  It's called a Jquery Accordion - and each entry contains more stuff.  They can be selected by mouse or tapped on a touch enabled device.

 

Now the browser is connected - you can see there is another browser connected to (2 clients).  Currently, there are 2 buttons - "rest methods" and "release all" - release all is supposed to shutdown mrl (but it doesnt always work) 

The rest methods opens another API to MRL.  Instead of websockets - the rest methods uses URLs to activate nearly any method. 

When the button is pressed the service's method is invoked with parameters - It becomes a URL which you can save as a bookmark.  A bookmarked set of commands can be very useful.

The following url will make the jython service execute a print 'Hello World'
http://127.0.0.1:7777/services/python/exec/print%20'Hello%20World'

The Python GUI has the beginnings of an editor. There currently is no "save" buttons, but a script can be copied in and executed with the Run button. There is also no console for Python output, but that is coming.

This one I copied in from the Clock service page.

The runtime gui allows you to start other services and get information about available services.

The WebGui's interface is not so exciting - potentially you can change ports on the http or websocket servers.. but its never been tested ;)

The messages are inbound MRL messages - you can see info and sometimes errors as it dynamically updates. You will be able to see a lot of "cause" and "effect" here soon.

Trouble-Shooting

If you see this

Its likely caused by 2 WebGUI's running at once - check the processes on Linux with 

ps aux | grep java

or on Windows use the Task Manager

Only one WebGUI service can run at a time unless you move them on different ports.

And now adding an Arduino service...... <to be continued>

 


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
beetlejuice's picture

What a job !! it's amazing,

What a job !! it's amazing, you sleep sometime ? wink

GroG's picture

Bah ! Sleep is for sissys !

Thanks, hopefully you'll find it useful soon...

Alessandruino's picture

That's freaking awsome

That's freaking awsome GroG...i'll test it soon.... i would like to finish with my prusa.... just purchased ABS, heated bed and kapton tape...

Alessandruino's picture

YAY :D ONE SOFTWARE TO RULE

YAY :D ONE SOFTWARE TO RULE THEM ALL :D

GroG's picture

Last update should have an

Last update should have an output window ..  so now you can see cause --->  effect