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