Need some help? Check out our new Help Centre

Ethernet / wifi connectivity

Has anybody tried any of the possible options to connect to the Emblaser over wifi / ethernet?

Obvious options seem to be Octoprint (using a Raspberry Pi), or a network USB print server. I'm thinking that Octoprint may work quite nicely, and I have a Raspberry Pi lying around somewhere...

Comments

  • Well, it seems that Octoprint doesn't actually work very nicely at all ... or indeed at all. GCode clearly ain't GCode.

    When attempting to connect, Octoprint returns:

    Connected to: Serial(port='/dev/ttyACM0', baudrate=115200, bytesize=8, parity='N', stopbits=1, timeout=10.0, xonxoff=False, rtscts=False, dsrdtr=False), starting monitor
    Changing monitoring state from 'Opening serial port' to 'Connecting'
    Send: M110
    Recv:
    Recv: Grbl Darkly Labs A3 Ver1.8 ['$' for help]
    Recv: ['$H'|'$X' to unlock]
    Recv: error: Alarm lock
    Changing monitoring state from 'Connecting' to 'Closed'
    Changing monitoring state from 'Connecting' to 'Closed'
    Connection closed, closing down monitor

    So it's clearly talking to the Emblaser, but it doesn't like what it sees. This may be able to be fixed with a printer profile ... but that's going to take some work.
  • I am now enlightened to the fact that Grbl (which Emblaser uses) != GCode, and this is why Octoprint simply does not work.

    While there is a fork of Octoprint that does support Grbl, it hasn't been updated since 2013, so I'm off looking for another alternative.

    I am currently experimenting with Chilipeppr, which is a fascinating combination of a web-based app, which includes a GCode / Grbl visualiser, a local serial port server, and all the cool HTML5 smarts that pretty much completely replaces the somewhat goofy and troublesome Java based Universal GCode Sender.

    All I did to get Chilipeppr working was to install the Serial Port JSON server onto my Raspberry Pi (which is still built to run Octoprint - I didn't bother changing anything). After booting the Emblaser, I pointed the Chilipeppr web app to my Raspberry Pi's IP address, and up popped the serial port. Connecting Chilipeppr to the correct port displayed all the expected GRBL info that you get with the Universal GCode Sender, and it was quite happy to visualise and send the Melbourne Map to the Emblaser. What's more, you can configure a startup sequence after you connect to the Emblaser to do the homing command and get online without manual intervention.

    This combination of tools looks to be the best network-connection solution at the moment, however the one thing that this doesn't do is simplify the control path to the system.

    While Octoprint allows you to upload the GCode directly to the local Raspberry Pi storage and have the Pi control printing completely autonomously (so you can switch your PC off after you initiate printing), the Chilipeppr solution introduces even more points of failure into the mix - not only does the serial port server need to be running, but so does the originating PC, its web browser, and the browser tab that points to the Chilipeppr website (and probably the internet connection and everything else that goes along with this). Anything going wrong with any of that pipeline could spell disaster for the cut, which is a little worrying. Still, this seems to be a very slick solution that certainly avoids my 5 metre USB cable that was running across the floor of my study to connect my PC to the Emblaser.

    Time will tell if this is a good and reliable long term solution.
  • Forgot to attach the screen shot of the Chilipepper web app printing the Melbourne map.
  • edited August 2015
    Hey zylantha,
    I've also been using a raspi, but not with Octoprint. That's one I haven't tried.
    I tried a few options but the one that works best is the simplest option:
    https://github.com/grbl/grbl/blob/master/doc/script/stream.py

    Here's what my workflow is like now that it's all set up:
    * Output .nc file from Cut2D
    * Edit the .nc file to insert a $h on the first line (or $x if you just want to enable and zero the emblaser without homing first).
    * Copy the file to my raspberry pi ( >$ scp theFile.nc pi@raspberrypi:/home/pi/cutfiles/ )
    * SSH into the raspberry pi ( >$ ssh pi@raspberrypi ). I have ssh set up using key files and no passwords, so I don't need to type much. It also automatically starts 'screen': an essential program to ensure the file doesn't get interrupted when there's network lag.
    * Start the lasers! ( >$ ./stream.sh cutfiles/theFile.nc ) I've set up stream,sh to always use the same USB port. It never seems to change, thankfully.

    That's it. Now I can turn off my computer or do something else with it. The pi is in control.
    Oh, I can also ssh into the pi remotely from my phone too and see (by watching the line count on the streaming gcode) the current progress.
    If you or someone else is interested, I can write up some instructions on how to set all that up. I'm also open to switching to a better alternative.

    Eoin Griffin
Sign In or Register to comment.