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''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.


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



GroG's picture

Last update should have an

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