Octoprint and Ultimaker 2, A couple of month's experience

1
abstract 3D printing enthusiast Level: 13 Points: 98
Posts: 45

Printers: Ultimaker 2
Posted by
abstract

Posted Dec 23, 2013 - 4:44 PM  

After a couple of months experience using UM2, and Octoprint, I thought I would share some of the info.

I have my UM2 outside in a garage, connected to a Raspberry Pi running Octoprint (octopi). I try to reduce the number of trips in and out using Octoprint to do some of the work. Primarily Octoprint is used for the Camera, which is a logitech WebCam which hangs from the top front of the UM2 from a little bracket I printed.

The camera works pretty well, although I can't see the while bed from that position and it can't focus on the front part of the bed. However, it gives me a pretty good picture of roughly what is happening, including failure and completion.

I have previously posted about my challenges with cold startup - sometimes the UM2 refuses to start because the temperature of the print head is 5 degrees or less. In this case I have to warm the head a bit with a hair dryer - only takes a few seconds, then UM2 starts OK.

The major thing I try to optimise is how much time I have to spend stood in front of the UM2 waiting for the bed to warm up. This can take quite some time to go from 5 degrees to 75 degrees. One technique is based on starting the UM2 (optional hairdryer sequence), and using the Advanced menu to manually warm the bed to 75 degrees. (this is trip 1 outside). Then I go in and wait for a while, perhaps prepare an SD card. Then on trip 2, I can often insert the card, and hit print - because the bed is already hot, I can generally wait a little while and babysit the startup of the print. I try to do this due to fairly common issues with startup such as nothing coming out (too much PLA dripped out during head warmup) or avoiding mess contaminating the print when the pre-extrusion PLA gets involved in the print.

Another option is to simply start the print, and let the UM2 sort out heating up the bed from cold, and the new firmware now delays the head heat up. This can often work, although a number of times I have found that the print simply doesn't start (not sure why) and I go out to find the head front left, bed up, but no printing started. Hence, my babysitting.

Now, to the Octoprint : This is a great tool, and running on a Raspberry PI it is very convenient.

I use the Octoprint for 3 jobs.

1) Camera

2) Manual Warm up, before a UM2 front panel print

3) Complete Print jobs.

1) I have already talked about above

2) If the UM2 is already turned on, from a previous print, I will often connect with the Octoprint and set the bed to warm up to 75 degrees. This allows me to monitor the warm up from inside, then only go out and start a front panel print (babysitting startup) when the UM2 is almost ready to go

3) Sometimes I will do the entire print from Octoprint. Note that this requires you to make a machine setting in Cura which outputs RepRap instead of UM2 code, since it requires some extra steps which the UM2 front panel normally inserts. In this case I manually warm up the bed, then manually warm the head, export RepRap GCode from Cura, drop into the Octoprint web page, then start the print. Quite often this will work nicely. I have observed that the retraction in RepRep mode is not as good as the native UM2 language retraction, so I usually only use method 3) when I don't need any retraction. Also, by default, the RepRap code doesn't lower the bed, although no big deal.

Overall, the Octoprint adds a lot of extra flexibility and limits the number of trips I make out to the garage. Once you get used to all the variables its pretty easy to juggle these different methods.

One thing which I can't really get around is the need to wait for the bed to cool before removing a print, then warming it up again. This adds quite a bit of time between prints. Trying to remove a print with a hot bed is tricky and usually results in you damaging the print. Pops off nicely when cool tho (especially in a cold environment). I clean the glass in warm water once in a while, then apply a full coating of gluestick, then carry on with that for a few days - I don't bother re-applying it, since it seems to leave a residue even after a print which serves the next one.

I have tried PLA from a few companies so far. The UM2 blue was nice, good prints, I then got 100M of Black and White PLA from Faberdashery and was astonished to find it didn't come on a spool. So I ended up unspooling all the blue and manually winding on the Black (that was a chore I can tell you). So, a tip - make sure your PLA comes on a spool !!!

I also got 100m of white PLA/PHA from ColorFabb (which did come on a spool) but that led to some blockage, and I have abandoned that reel.

I have also got some 10m samples of PLA and ABS from 3D Filaprint, but not tested those yet.

The Faberdashery 3mm PLA material has printed *great*, but I still need to find a good UK supplier with quality filament *on a reel*.

Outside of the UM2 ecosystem, (I am mostly making engineering parts) I am using Sketchup Pro on Mac, with a couple of plug ins : susolid and a STL import / exporter. SuSolid is a great tool and let's you easily visualise model glitches, which can be essential if you want to make 'solids' which can be combined by Sketchup. I had been using Blender to convert .stl to .dae to import stuff into Sketchup, but I have now found a good STL Import plug in which is working great.

The very best thing I have bought (apart from the UM2) is a 3DConnexion Space Navigator 3D mouse. This works really well with Sketchup and *transforms* the experience of 3D Modelling.

Hope all this info helps people new to Ultimaker.

39 replies
 15216 1
Sort 
illuminarti You can trust this guy Level: 63 Points: 3496
Posts: 2795
Location: Memphis, United States Printers: Ultimaker 2, Ultimaker Original, Ultimaker Original+, Ultimaker 2 Extended, Ultimaker 2 Go, Ultimaker 2+, Ultimaker 2 Extended+, Ultimaker 3, Ultimaker 3 Extended
Posted by
illuminarti

Posted Dec 23, 2013 - 5:11 PM

Excellent info!! Thanks for taking the time to write it up. I started assembling my Octoprint RPi last night, and am excited to try it out.

As I've mentioned elsewhere recently, I quite like the loose coils of filament from faberdashery. I find that I get much better results with those than with any spooled filament attached to the printer. The radius of curvature on a typical spool is often too tight to unwind and feed easily, and if the spool is mounted on the printer, it's too easy to get poor lines in the print where the filament stuck on the spool and impaired feeding for a few seconds.

Generally I will put the coil of faberdashery filament, or spool if the filament is on one, on a lazy Susan turntable, on the floor below and to the side of the printer. Then I can have several meters of loosely coiled filament hanging in the air between the lazy Susan and the printer. That way I get really smooth feeding. As with any feed mechanism it needs to be checked on every now and then - but that's how I did my long slow prints recently, and was able to leave the printer unattended for upto 8 hours at a time, and only then straighten out any kinks that had developed, and free up enough loose plastic for the next 8 hours or so.

gr5 Moderator Points: 15691
Posts: 9570
Location: Boston, United States Printers: Ultimaker 2, Ultimaker Original, Ultimaker 2 Extended, Ultimaker 2 Go, Ultimaker 3
Posted by
gr5

Posted Dec 23, 2013 - 6:33 PM

It probably would cost you less than 1 penny per day to keep the bed and nozzle at 10C. What do you think of never turning it off when not in use?

Since you are in "reprap" mode anyway - it's easy to mess with the start and end gcodes. You could probalby set the end gcode to leave the bed and nozzle at 10C. At least when the weather is forecast to be below 5C.

As far as letting parts cool - the glass temp of PLA is around 55C. If the bed temp is below 50C it should be safe to pry the part off with a putty knife. But above 60C it's not worth the risk.

Alternatively, I have placed the glass under hot water (I made sure the water was at max temp before letting it touch the 60C glass). This dissolves the gluestick glue and makes it easier to pop the part off once you get a square millimeter of corner up and let water in. Also alternatively I have removed the glass with gloves and waved it around in the air up and down to speed up cooling yet still cool evenly (glass tends to shatter if you cool it unevenly - UM doesn't use pyrex).

3
3dmaker4u 3D printing enthusiast Level: 15 Points: 223
Posts: 103
Posted by
3
3dmaker4u

Posted Dec 26, 2013 - 6:54 PM

What I found to be even more useful about RPi and OctoPrint is that you can run multiple instances of the OP daemon and control more printers, each in another browser tab/instance. If you connect a regular 4-port USB hub to one of the RPi's USB port (and perhaps an WiFi dongle to the other) you can run a pool of 4 printers! Each printer daemon being configurable independently. I don't know yet if it works with 3 printers and a camera

N
nick-foley I know my way around here Level: 29 Points: 610
Posts: 496
Posted by
N
nick-foley

Posted Dec 27, 2013 - 7:34 AM

Quote by 3Dmaker4U

What I found to be even more useful about RPi and OctoPrint is that you can run multiple instances of the OP daemon and control more printers, each in another browser tab/instance. If you connect a regular 4-port USB hub to one of the RPi's USB port (and perhaps an WiFi dongle to the other) you can run a pool of 4 printers! Each printer daemon being configurable independently. I don't know yet if it works with 3 printers and a camera

How do you differentiate between the printers from the browser? Does OctoPrint sort this out for you?

SandervG Team Ultimaker Points: 7564
Posts: 4213
Location: Geldermalsen, Netherlands Printers: Ultimaker Original+, Ultimaker 2+
Posted by
SandervG

Posted Dec 27, 2013 - 9:57 AM

Quote by gr5

Also alternatively I have removed the glass with gloves and waved it around in the air up and down to speed up cooling yet still cool evenly

Would have loved to see this

Would be even funnier if you printed a bird and yelled, 'Fly!! ..Why won't you fly away!!'

If you have your UM2 in a very cold room, you also may want to make sure your rods stay lubricated.

And If you do not preheat your head, your nozzle will not run empty and you can easily select a job on the SD card and walk away. When the head heats after the bed, and you have a skirt enabled, your print should start fine.

I think faberdasherry is great filament and always gives me super surface finish, however (especially with a larger batch') I end up with tangled filament. I am not very lucky on that regard.

3
3dmaker4u 3D printing enthusiast Level: 15 Points: 223
Posts: 103
Posted by
3
3dmaker4u

Posted Dec 28, 2013 - 7:02 PM

Quote by Nick Foley

How do you differentiate between the printers from the browser? Does OctoPrint sort this out for you?

Well, once in browser, all is simple: you can give it a name and make the header of the page a distinctive color.

But you have to get there, and this requires some configuration in Raspbian and a bit in OctoPrint.

I'll prepare a short guide in a couple of days and post it here. The basic idea is to use the USB device identification codes (usually stored in the EEPROM, e.g. for a FTDI FT232RL) and map the code to a particular name for each printer. Then the name is used to configure the http daemon of OctoPrint.

L.E. Here is a config guide for multiple printers on OctoPrint/RPi, pretty long, but hopefully detailed and clear enough.

Configuring RPi and OctoPrint for multiple printers is neither too simple, nor too complicated. Besides the specific steps below, there are some prerequisites that you should/shall fulfil:

  • install and update/upgrade Raspbian
  • configure a fixed IP address for RPi
  • install and test OctoPrint in default configuration
Once all the above are in place and working we have to perform the following steps:

  • discover the unique codes of the serial interfaces for all printers
  • define names for every printer and map them to codes
  • create the configuration file for each OctoPrint daemon
  • create quick links in browser
Let's have a more detailed look to these steps.

To find the codes of interest, after RPi boots up, issue the following command to dump the kernel message buffer:

<pre class="_prettyXprint">

dmesg</pre>

There will be a pretty long listing of messages pertaining whatever has happened during the boot process. Scroll down to find the beginning of the USB devices tree. In the example below, there are:

  • one 4-port USB 2-0 hub connected to the third USB port (well, yes, the first is internally used to provide the Ethernet port, while the next two are available physically to connect USB external devices)
  • four printers connected to the four ports of the USB hub, each equipped with a FTDI FT232RL chip
<pre class="_prettyXprint">

...

[ 3.531762] usb 1-1.3: new high-speed USB device number 5 using dwc_otg

[ 3.680789] usb 1-1.3: Product: USB2.0 Hub

...

[ 4.002011] usb 1-1.3.1: new full-speed USB device number 6 using dwc_otg

[ 4.142434] usb 1-1.3.1: New USB device found, idVendor=0403, idProduct=6001

[ 4.190939] usb 1-1.3.1: Product: FT232R USB UART

[ 4.206725] usb 1-1.3.1: Manufacturer: FTDI

[ 4.214382] usb 1-1.3.1: SerialNumber: A10248WD

...

[ 4.311927] usb 1-1.3.2: new full-speed USB device number 7 using dwc_otg

[ 4.459478] usb 1-1.3.2: New USB device found, idVendor=0403, idProduct=6001

[ 4.490897] usb 1-1.3.2: Product: FT232R USB UART

[ 4.541582] usb 1-1.3.2: Manufacturer: FTDI

[ 4.547665] usb 1-1.3.2: SerialNumber: A102499T

...

[ 4.671972] usb 1-1.3.3: new full-speed USB device number 8 using dwc_otg

[ 4.829533] usb 1-1.3.3: New USB device found, idVendor=0403, idProduct=6001

[ 4.881350] usb 1-1.3.3: Product: FT232R USB UART

[ 4.904643] usb 1-1.3.3: Manufacturer: FTDI

[ 4.910623] usb 1-1.3.3: SerialNumber: A10248W3

...

[ 5.141922] usb 1-1.3.4: new full-speed USB device number 9 using dwc_otg

[ 5.285609] usb 1-1.3.4: New USB device found, idVendor=0403, idProduct=6001

[ 5.319118] usb 1-1.3.4: Product: FT232R USB UART

[ 5.332834] usb 1-1.3.4: Manufacturer: FTDI

[ 5.338718] usb 1-1.3.4: SerialNumber: A90197ZC

...

</pre>

Please note that could be other lines besides those kept in the listing above.

For each printer, write down idVendor, idProduct and SerialNumber . Each set makes up the unique identification code of one printer.

Now, we need to create some mapping rules that will assign a more human readable name to each printer. To do that, issue the following command, to create and edit a rules file:

<pre class="_prettyXprint">

sudo nano /etc/udev/rules.d/10-local.rules</pre>

For each printer, we need to enter one line, as in the example below:

<pre class="_prettyXprint">

SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="A90197ZC" SYMLINK+="Huxy1"

SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="A10248W3" SYMLINK+="Huxy2"

SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="A102499T" SYMLINK+="Huxy3"

SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="A10248WD" SYMLINK+="Huxy5"</pre>

Well, you have to select names in a way that will enable further configuration. There should be a common root of all the names used. Later on, OctoPrint will have to select each printer out of a bunch of devices, and this is accomplished by filtering out the name strings based on this common root, then looking for an exact match. The example above is appropriate in case it's about the same type of printer, so that just an index could differentiate them. In case of a pool of different printers, it would be adequate to use the printer name, prefixed by something, e.g. the nickname of the owner.

Be sure to use the exact syntax or the rule will be entirely ignored. Once everything is fine, save the file and reboot RPi.

That's all about Raspbian setup, now let's prepare OctoPrint as well.

Having more printers, we have to create and setup a configuration file (config.yaml like) for each. Among many other options, here are the ones that we are interested in, as an example for Huxy1 above:

<pre class="_prettyXprint">

serial:

# Instead of Huxy1, use a name for your printer

port: /dev/Huxy1

# Default is false, but configuring it to true will do the job, well, not really always

autoconnect: true

# Instead of Hux, use you specific prefix

additionalPorts:

- /dev/Hux

server:

# Use a different port number for each printer

port: 5001

appearance:

# Give each of your printer a suggestive name that will appear in the title and navigation bars

name: Huxy 1

# Customize the color of the navigation bar (limited choice of colors)

color: blue</pre>

Obviously, there many other options that deserve some attention, but these are part of other interesting features of OctoPrint.

After each configuration file has been defined, start the corresponding http daemon (or restart it, if already made the configuration for automatic startup).

There is one more step, to create a quick link (favorite) to each printer in the preferred browser.

Assuming that RPi will be a dedicated print server, you'll have to configure automatic startup of all http daemons. This and many other useful setup and configuration instructions are available on OctoPrint wiki pages.

N
nick-foley I know my way around here Level: 29 Points: 610
Posts: 496
Posted by
N
nick-foley

Posted Jan 6, 2014 - 11:37 PM

Quote by 3Dmaker4U

That's all about Raspbian setup, now let's prepare OctoPrint as well.

Having more printers, we have to create and setup a configuration file (config.yaml like) for each. Among many other options, here are the ones that we are interested in, as an example for Huxy1 above:

<pre class="_prettyXprint">

serial:

# Instead of Huxy1, use a name for your printer

port: /dev/Huxy1

# Default is false, but configuring it to true will do the job, well, not really always

autoconnect: true

# Instead of Hux, use you specific prefix

additionalPorts:

- /dev/Hux

server:

# Use a different port number for each printer

port: 5001

appearance:

# Give each of your printer a suggestive name that will appear in the title and navigation bars

name: Huxy 1

# Customize the color of the navigation bar (limited choice of colors)

color: blue</pre>

Obviously, there many other options that deserve some attention, but these are part of other interesting features of OctoPrint.

After each configuration file has been defined, start the corresponding http daemon (or restart it, if already made the configuration for automatic startup).

There is one more step, to create a quick link (favorite) to each printer in the preferred browser.

Assuming that RPi will be a dedicated print server, you'll have to configure automatic startup of all http daemons. This and many other useful setup and configuration instructions are available on OctoPrint wiki pages.

^ This is where I get lost. Where do I put this configuration file? What do I do with it when it's created? I have both printers connected, and can connect to one or the other through Octoprint if I choose ACM0 or ACM1 when connecting. Would love a little more help. Thanks!!!

Nicolinux Moderator Points: 3559
Posts: 2410
Location: Wiesbaden, Germany Printers: Ultimaker 2
Posted by
Nicolinux

Posted Jan 7, 2014 - 1:34 PM

Nick, you can configure most of this things via the interface. Click on the settings wrench a the top right. Alternatively you can place it in the home directory where you installed OctoPrint. If you use Linux and went with the stanrdard pi user, then it is ~/.octoprint/config.yaml (or more verbosely: /home/pi/.octoprint/config.yaml).

N
nick-foley I know my way around here Level: 29 Points: 610
Posts: 496
Posted by
N
nick-foley

Posted Jan 7, 2014 - 9:41 PM

Doesn't seem like you can access anything related to having multiple printers via the web interface.

What is the structure for adding multiple printers to this config.yaml file? The instructions above make it seem like each printer needs its own config.yaml file. What do those files end up getting named in that case?

Nicolinux Moderator Points: 3559
Posts: 2410
Location: Wiesbaden, Germany Printers: Ultimaker 2
Posted by
Nicolinux

Posted Jan 7, 2014 - 11:21 PM

I don't think it is possible to have multiple printers with one OctoPrint instance yet. There is this issue from eight months ago: (https://github.com/foosel/OctoPrint/issues/113). Gina (the dev) suggests run multiple OctoPrint instances...

N
nick-foley I know my way around here Level: 29 Points: 610
Posts: 496
Posted by
N
nick-foley

Posted Jan 7, 2014 - 11:28 PM

Which is exactly what I'm trying to do, by following the instructions in post #7. What's the secret? Do I just need to add the line referenced in your link: ~/oprint/bin/python ~/OctoPrint/run --daemon start --port 5001 --pid /tmp/octoprint2 --basedir ~/.octoprint2

Nicolinux Moderator Points: 3559
Posts: 2410
Location: Wiesbaden, Germany Printers: Ultimaker 2
Posted by
Nicolinux

Posted Jan 7, 2014 - 11:30 PM

To me it looks like this starts the second instance. Of course you'd have to have ~/.octoprint2 (with standard settings for the second printer). So you can use one base directory of your OctoPrint installation and when you start the daemon, point the second one to a new port and another directory with octoprint settings (~/.octoprint2).

U
uma 3D printing enthusiast Level: 11 Points: 132
Posts: 32
Posted by
U
uma

Posted Jan 8, 2014 - 6:35 AM

Can we control the UM2 using Octoprint? I tried connecting OctoPrint to UM2 and after setting the serial and baud rate to Auto the status message was operational. But i couldnt move or heat the bed using OctoPrint. At this point i am not sure whether UM2 is supported or not? Will it be coming in the future?

Nicolinux Moderator Points: 3559
Posts: 2410
Location: Wiesbaden, Germany Printers: Ultimaker 2
Posted by
Nicolinux

Posted Jan 8, 2014 - 9:51 AM

The UM2 supports a new style of gcode (UltiGCode) that OctoPrint doesn't support yet. So in order to use it now you have to switch to regular gcode in Cura. (Menu -> Machine -> Machine settings -> GCode Flavor).

I have not tried it yet myself, I am using OctoPrint only for its webcam streaming for now.

U
uma 3D printing enthusiast Level: 11 Points: 132
Posts: 32
Posted by
U
uma

Posted Jan 8, 2014 - 3:26 PM

Nicolinux, Octoprint works perfectly with UM2. The baud rate needs to be 250000. I did not expect the Raspi and octprint to be so responsive.

The real time Gcode Viewer is not working though.

Uma

Nicolinux Moderator Points: 3559
Posts: 2410
Location: Wiesbaden, Germany Printers: Ultimaker 2
Posted by
Nicolinux

Posted Jan 8, 2014 - 6:31 PM

What do you mean? Can you print with OctoPrint on an UM2 without changing the gcode flavor in Cura?

3
3dmaker4u 3D printing enthusiast Level: 15 Points: 223
Posts: 103
Posted by
3
3dmaker4u

Posted Jan 8, 2014 - 7:56 PM

Oops, was not here for a while

Having more printers, we have to create and setup a configuration file (config.yaml like) for each

So, you need ONE config file for EACH printer. You name them, e.g. config1.yaml, config2.yaml, etc. Then, when you write the daemon start command line, you just mention the corresponding config file, as indicated in the main instructions of the github repository

You can also specify the configfile or the base directory (for basing off the uploads, timelapse and logs folders), e.g.:

<pre class="_prettyXprint">

./run --config /path/to/another/config.yaml --basedir /path/to/my/basedir

</pre>

See run --help for further information.

Actually, you may want to write one such a line for each printer in the file used for automatic start up, as indicated in the wiki. Config (yaml) files are by default in ~/.octoprint, but you may place them elsewhere.

To recap:

  • one config file for each printer
  • one daemon started for each printer, the command line to start it having to specify the corresponding config file
As an example, here is my octoprint-start file that the RPi is executed automatically at the end of the boot sequence:

<pre class="_prettyXprint">

OCTOPRINT_HOME=/home/pi/OctoPrint

$OCTOPRINT_HOME/run -c /home/pi/.octoprint/huxy1.yaml --daemon start --pid /tmp/huxy1.pid

$OCTOPRINT_HOME/run -c /home/pi/.octoprint/huxy2.yaml --daemon start --pid /tmp/huxy2.pid

$OCTOPRINT_HOME/run -c /home/pi/.octoprint/huxy3.yaml --daemon start --pid /tmp/huxy3.pid

$OCTOPRINT_HOME/run -c /home/pi/.octoprint/huxy5.yaml --daemon start --pid /tmp/huxy5.pid

</pre>

N
nick-foley I know my way around here Level: 29 Points: 610
Posts: 496
Posted by
N
nick-foley

Posted Jan 8, 2014 - 10:12 PM

Thanks! I feel like I'm closer. It's still not working, though. I created the .yaml files and put them in .octoprint, and added lines which run them to the octoprint-start file...... but web interface still just loads for my old (single) printer. I can tell because the names I defined for the new printers are not being used. Questions:

- Do I need to do any command line stuff to initiate this updated start script?

- My octoprint-start file has some other stuff in it - a few similar lines with VIRTUALEN added in them. My octoprint install came from the pre-loaded SD card image at http://www.gitiverse.com/octopi/. Do I need to comment anything out? Do I need to put the new lines in a specific location?

- How am I supposed to access the specific printers from the browser? I set them on port 5001 and 5002... does that mean I use 192.168.1.127 and 192.168.1.127? Neither of those work. Do I need to forward them through my router or something?

3
3dmaker4u 3D printing enthusiast Level: 15 Points: 223
Posts: 103
Posted by
3
3dmaker4u

Posted Jan 9, 2014 - 11:02 AM

I understand you already have a start up file that is called octoprint-start that came in the octopi package.

You have to comment out the line that starts the http daemon. Normally should be only one (don't know how octopi is configured by default).

The new lines have to be added after the original ones (normally at the end of the file).

Access via the browser is as you pointed out, with each printer in one tab or another browser instance if you prefer. The fact you cannot yet, means that the corresponding daemons are not started, but the one corresponding to the default configuration is working, which in turn means that the configuration is not completely correct.

Check if the names were defined correctly and they are actually attached to a physical USB port, for example enter:

<pre class="_prettyXprint">

ls -l /dev/Huxy1

</pre>

and should get something like this - of course, you should use the names you gave

<pre class="_prettyXprint">

lrwxrwxrwx 1 root root 7 Jan 1 1970 /dev/Huxy1 -> ttyUSB2

</pre>

If you get an error, there is an issue with names association, and while you can connect to the printers as /tty/USBx ports, you have no control of which printer is defined at that port.

If the name is available but you cannot access the web interface, then the daemon is not started, which means the start up configuration is not correct.

There should be no router specific configuration, assuming you just use the router as an Ethernet hub/switch on the LAN side (proved as you can connect one printer with default config).

I'll try to have a look inside the octopi pack.

N
nick-foley I know my way around here Level: 29 Points: 610
Posts: 496
Posted by
N
nick-foley

Posted Jan 9, 2014 - 8:22 PM

<pre class="_prettyXprint _linenums:0">

ls -l /dev/SOBILongan</pre>

returns the correct stuff.

My .yaml files seem correct, based on the examples you posted above.

This is my octoPrintStart file. I've tried commenting out the VIRTUALENV_HOME lines and it doesn't seem to change anything.

<pre class="_prettyXprint _linenums:0">

#!/bin/sh

OCTOPRINT_HOME=/home/pi/OctoPrint

VIRTUALENV_HOME=/home/pi/oprint

# start the webui (hashed out to run two printers)

#$OCTOPRINT_HOME/run --daemon start

#$VIRTUALENV_HOME/bin/python $OCTOPRINT_HOME/run --daemon start

# added to run two printers:

$OCTOPRINT_HOME/run -c /home/pi/.octoprint/SOBILongan.yaml --daemon start --pid /tmp/SOBILongan.pid

$OCTOPRINT_HOME/run -c /home/pi/.octoprint/SOBIRambutan.yaml --daemon start --pid /tmp/SOBIRambutan.pid

#$VIRTUALENV_HOME/bin/python $OCTOPRINT_HOME/run -c /home/pi/.octoprint/SOBILongan.yaml --daemon start --pid /tmp/SOBILongan.pid

#$VIRTUALENV_HOME/bin/python $OCTOPRINT_HOME/run -c /home/pi/.octoprint/SOBIRambutan.yaml --daemon start --pid /tmp/SOBIRambutan.pid

</pre>

3
3dmaker4u 3D printing enthusiast Level: 15 Points: 223
Posts: 103
Posted by
3
3dmaker4u

Posted Jan 9, 2014 - 9:12 PM

Don't know what to say. I tried to download the octopi, but the speed was awful and after 4 hours I closed the lid of the laptop by mistake and guess what... I'll let it download overnight.

Might be something pre-configured that conflicts.

Is there the - (dash) in front of /dev/SOBI prefix definition in the yaml file? I just ask because I initially though is a mistake, eliminated it and... didn't work

Nicolinux Moderator Points: 3559
Posts: 2410
Location: Wiesbaden, Germany Printers: Ultimaker 2
Posted by
Nicolinux

Posted Jan 10, 2014 - 12:23 AM

Quote by Nick Foley

- How am I supposed to access the specific printers from the browser? I set them on port 5001 and 5002... does that mean I use 192.168.1.127 and 192.168.1.127? Neither of those work. Do I need to forward them through my router or something?

In order to test that the other OctoPrint instances are started correctly, you could log into your octpi via ssh on different terminals and start the deamons manually. Then access each instance in a browser tab (by appending the port number - exactly like how you wrote it: 192.168.1.127 and so on).

To start the daemons manualli, change to your OctoPrint directory and run the commands from your config file:

<pre class="_prettyXprint _lang- _linenums:1">

./run -c /home/pi/.octoprint/SOBILongan.yaml --daemon start --pid /tmp/SOBILongan.pid

</pre>

Then in another ssh session/tab:

<pre class="_prettyXprint _lang- _linenums:1">

./run -c /home/pi/.octoprint/SOBIRambutan.yaml --daemon start --pid /tmp/SOBIRambutan.pid

</pre>

Then use the netstat command to list your open ports:

<pre class="_prettyXprint _lang- _linenums:1">

netstat -tan|grep LISTEN

</pre>

3
3dmaker4u 3D printing enthusiast Level: 15 Points: 223
Posts: 103
Posted by
3
3dmaker4u

Posted Jan 10, 2014 - 6:17 PM

Oops, I found something missing: a wildcard * after the SOBI prefix.

So the correct statement should be:

<pre class="_prettyXprint">

serial:

additionalPorts:

- /dev/SOBI*

</pre>

Without it, when enumerating the devices, it will look for an exact match, which will not return anything. Subsequently, when trying to open the port as named further, it could not find it and the server will not start.

Hope this will fix it.

Here is a full copy of one of my config files:

<pre class="_prettyXprint">

appearance:

color: blue

name: Huxy 1

controls:

- children:

- command: M106 S%(speed)s

input:

- default: 200

name: Speed (0-255)

parameter: speed

name: Start Fan

type: parametric_command

- command: M106 S0

name: Stop Fan

type: command

name: Fan Control

type: section

feature:

swallowOkAfterResend: false

printerParameters:

movementSpeed:

e: 600

x: 12000

y: 12000

z: 150

serial:

additionalPorts:

- /dev/Huxy*

autoconnect: true

baudrate: 115200

port: /dev/Huxy1

timeout: {}

server:

firstRun: true

host: 0.0.0.0

port: 5001

system:

actions:

- action: shutdown

command: sudo shutdown -h now

confirm: You are about to shutdown the system.

name: Shutdown Huxy Pi

temperature:

profiles:

- bed: 110

extruder: 220

name: ABS

- bed: 70

extruder: 200

name: PLA

webcam: {}

</pre>

N
nick-foley I know my way around here Level: 29 Points: 610
Posts: 496
Posted by
N
nick-foley

Posted Jan 11, 2014 - 12:43 AM

YEahhhh!! That did it. Working now. Thanks!

L
leon-grossman 3D printing enthusiast Level: 11 Points: 132
Posts: 32
Posted by
L
leon-grossman

Posted Mar 21, 2014 - 7:17 PM

For one printer, were you able just to setup Octoprint and connect to the printer?

I can't seem to get Octoprint to connect to my printer and I don't know what I'm doing wrong. My home OctoPi setup works flawlessly.

39 replies
 15216 1
Sort 
Support