Hello,

 Matt Shaver pinged me that I should post an update on Rockhopper, Little 
Penguin and Emperor (all projects named after penguin types, in case you're not 
up on your penguin trivia).  

 I think Rockhopper is exactly what has been described: a web
    interface for LinuxCNC, written in Python, that allows JSON based
    communications.  It supports the users choice of Websocket
    connection, a REST HTML interface, or a REST interface with JSONP. 
    I've made a slew of updates to Rockhopper, but need to push them to
    the github server -- sometimes I need some prodding to interact with
    the outside world ;-)  I'll push the latest up over the weekend.

 Rockhopper is currently using halcmd to poll the hal pins.  It's an
    ugly way to do things, but it works fine.  If there were a prettier
    python interface to the hal layer, that would be the thing to use,
    but I haven't really had time to delve into the internals of
    linuxCNC and add that.

 As mentioned, Rockhopper also has a HAL graph visualizer.  It would
    be simple enough to divorce this from the web server, but right now
    I'll leave that as an exercise for the reader ;-)

 As for a network-based interface, for me that is the Emperor
    project.  I've spent a lot of time exploring different cross
    platform environments, including Java, Qt, Mozilla XUL, HTML, and a
    bunch of others I can't remember at the moment.  I could talk at
    length about each of these, and their strengths and weaknesses as a
    cross platform solution. In any event, after quite a few false
    starts, I've finally settled on doing a remote interface using
    HTML/CSS/Javascript.  In other words, a single-page-application for
    the web.

 Here's a picture of what I have running now, running full screen on
    a 1024x768 monitor (higher resolution would look better, but this
    gives you the idea):
 
  http://peterjjensen.com/Emperor/Emperor.png

 I've also written a tablet version for Android that has the same
    features, but looks a bit different.  That's the Little Penguin
    project.  Here's some pictures of that running on my Nexus 7 Android
    tablet:

http://peterjjensen.com/Emperor/LP1.png
http://peterjjensen.com/Emperor/LP2.png
http://peterjjensen.com/Emperor/LP3.png

 So, to summarize:

        * Rockhopper is a web server that runs on the LinuxCNC machine and 
allows remote control.  It also includes some web pages for configuring 
LinuxCNC (see documentation on the wiki), including a HAL graph visualizer that 
works quite well for "reasonable" sized HAL setups. 

        * Emperor is a desktop client web page, which is written in Javascript, 
HTML and CSS.  The idea is to make an easy-to-use interface that can be run on 
any desktop platform, including the Linux system running LinuxCNC (connection 
over localhost). Emperor uses Rockhopper as the server.  

        * Little Penguin is an Android app which remotely controls the 
Rockhopper server, just like Emperor except it's on a tablet.  Little Penguin 
is written in Java because that is the standard for android native apps (I 
couldn't get the performance I wanted from a web-app on this platform).  Little 
Penguin is intended to be used primarily as an MPG, but also has features for 
doing most everything else you might need to do.
        * I also made a little Webmin plugin that allows starting and stopping 
the linuxCNC system and Rockhopper.  That project is too small to have it's own 
name ;-)


 Ok, so now the tough part: how to get it?  My last post was
      soliciting advice on how to license things, and I haven't really
      spent much time thinking about legal stuff since then.  Basically,
      I want to give as much to the LinuxCNC community as possible, but
      I also need to feed my daughter.  Any advice on how to best
      achieve those two goals simultaneously will be considered ;-)  All
      this will be handled through Machinery Science, LLC, which is Matt
      Shaver, Tom Easterday, and myself.

        *  Rockhopper is currently available on github.  I expect that it will 
ultimately be released under GPL, although I've been to busy coding stuff to 
actually think about legal stuff.  

        *  Emperor will probably also be sold for a fee, although I don't know 
what that fee will be.  Cheap enough to make it a no-brainer, I hope.  
        *  Little Penguin will be put up on the Google Play store, and I think 
we'll ask a small fee to use it ($10 or so?).


Matt convinced me I should go to the LinuxCNC Fest in Wichita
      later this month, so hopefully I'll get to meet a lot of y'all
      there and get feedback on all of the above.  I'm not good about
      reading the newsgroups, but I will respond to e-mails, and will
      try to follow this thread a bit more closely ;-)  


Cheers,

-Peter

 
--
Peter J. Jensen
------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. A cloud service to automate IT design, transition and operations
2. Dashboards that offer high-level views of enterprise services
3. A single system of record for all IT processes
http://p.sf.net/sfu/servicenow-d2d-j
_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to