Jump to content
Cura Connect | Survey Read more... ×
Ultimaker Community of 3D Printing Experts
furdterguson

Cura 3.1.0 and Octoprint

Recommended Posts

Could someone direct me to a tutorial on connecting Cura 3.1.0 to Octoprint? I have Octoprint installed. I open cura and manage printers, connect to octoprint, and then get some message about selecting an instance and some message about host, ports, paths....What in the world does any of that mean?

 

A message to Ultimaker. Many people, like me, find your software and use it. We are inexperienced in almost all things software related. Somehow, I managed to install python and octoprint via cmd prompt without activating the launch codes for all nuclear powers. How I was able to fumble through the cmd prompt install process is that Octoprint created detailed step by step instructions. As a consideration to users like me who, like John Snow, know nothing, please consider creating official instructions for updates when major interface changes are created in your software. All I could find using internet searches is how to with cura 15, or cura 2.7, videos showing connecting to Octoprint. Thanks.

Share this post


Link to post
Share on other sites

I'm the creator of the OctoPrint integration in Cura. I started writing the plugin when I was working for Ultimaker, but did it all in my free time; the OctoPrintPlugin is a community contribution that was so popular that it is now included in Cura by default, but it is still maintained by me. I can either write tutorials, or continue working on the OctoPrintPlugin and contributing to Cura in general. I cannot do both, so I rely on "the community" to do tutorials. Fortunately people do. Here's the first video I found:

 

The interface has changed a little bit, and the plugin now checks the API key before letting you connect, but the principle is the same as in the video.

 

Let me know if you have any issues with the plugin.

Edited by ahoeben

Share this post


Link to post
Share on other sites

Thanks for the reply. The Video did not help. The video does not help because it is does not address a single issue raised in the first post. I have no qualms with octoprint.

 

Quote

I open cura and manage printers, connect to octoprint, and then get some message about selecting an instance and some message about host, ports, paths....What in the world does any of that mean?

 

I select connect to octoprint.....there is NOTHING THERE., I click refresh several times....and yes I am connected to octoprint via localhost:5000. I select ADD, then I am faced with a whole mess of things I have absolutely no clue as what any of it means.

 

Ultimaker "ships" cura with a 3 party capability, it is not the responsibilty of you ahoeben to make a video of how to connect Cura 3.1 to octoprint....that responsibility if Ultimakers. Why? Because Ultimaker ships cura with octoprint capability builtin. Ultimaker should at a minimum provide sufficient instruction on how to utilize that capability. And if attempting to create the  instruction, Ultimaker realizes it does not work, then that is were you step in. 

 

Is it really too much to expect? To much to expect a company to show consumers how to use its product? Or should I expect that in this day and age, companies can't be arsed to demonstrate their products?

Share this post


Link to post
Share on other sites

That would be very unreliable.  Windows isn't very reliable - it does auto updates, and lots of programs on windows can cause it to reboot or "hang" due to some query "do you want to update quicktime?" and there are screen savers, monitor savers, hard drive savers, power savers.  Any of those things could ruin a print if you use octoprint on a windows machine.  Octoprint I think was originally designed to put on a raspberry pi and they cost like about $25.

 

So anyway the two remaining major steps I suppose are getting octoprint to connect to your printer and getting cura to connect to octoprint.  What kind of printer?  I hope it's not a UM3 because I'm pretty sure octoprint doesn't connect to UM3.  Anyway...

 

Since it sounds like cura and octoprint are on the same computer.  And it sounds like you opened a web browser on the same machine that has octoprint and cura and in this web browser you entered "localhost:5000" in the URL and that worked.  so that's it - that's the host and port.  localhost is the host (it's another way of saying "this computer that we are using" versus say some computer out on the internet or elsewhere on your LAN).  Anyway and the number after the colon is the port.  5000.

 

But if you can't get that to work then it's pretty easy in cura to instead just save to a local file and then in your web browser on octoprint you can upload that file into octoprint.  That's how I usually do it as on the rare occasions I use octoprint I usually use cura 15 which doesn't have octoprint integration.

Share this post


Link to post
Share on other sites
10 hours ago, furdterguson said:

I select connect to octoprint.....there is NOTHING THERE.,

 

Ah, but you did not mention that. Nor did you mention that you installed Octoprint on Windows, nor that you did so on the same machine that also runs Cura. All of that would have helped you getting relevant help.

 

Most people run Octoprint on a dedicated computer. I would guess 90% or more use a raspberry pi. The advantage is that a cheap little computer with a reliable OS running OctoPrint frees your main computer from your 3d printer. Restart or shutdown your main computer, and OctoPrint on the dedicated computer just keeps running.

 

OctoPrint normally uses a service named "Bonjour" or "Zeroconf" to announce itself on the network. This is used to populate the list of "instances". Since this list is empty for you, I am assuming Bonjour does not work on your Windows setup. So you have to Add a "manual" instance. For most people Bonjour does work, and they don't need to go through the hassle of adding a manual instance.

Edited by ahoeben
  • Like 1

Share this post


Link to post
Share on other sites

Your cooments are not relavent to point that...If Ultimaker cared about its products and the users, then ultimaker would provide instructions. 

 

To your comments I identified the problem in the first post. Specifically “and then get some message about selecting an instance and some message about host, ports, paths....What in the world does any of that mean?”

 

Your first comment ignored the issues I asked specifically about. 

 

Share this post


Link to post
Share on other sites

If Ultimaker cared about its products and the users, then ultimaker would provide instructions

 

To your comments I identified the problem in the first post. Specifically “and then get some message about selecting an instance and some message about host, ports, paths....What in the world does any of that mean?”

 

As for having to manually add, There is Instance, Host, Port, and something else. Yet I cant find anything about manually adding an instance, that does not first assume the user is using rasberry pi.

 

Share this post


Link to post
Share on other sites

It's true my first comments didn't answer your question directly but still I tried to be helpful.

 

You didn't answer the question about if you got octoprint to connect to your printer already as if you can't get that to work then there isn't really any point to get cura to connect to octoprint, right?

 

Anyway it sounds like @ahoeben gave you everything you need, right?  You can ignore the instance it sounds like and just give it the host and port.  Or is there more?

 

[okay - graying about the below paragraph because it's completely wrong]

One copy of octoprint can support many printers at the same time.  This was kind of the original purpose - originally you could have many printers all connected to one raspberry pi (or in your case one computer) through USB and octo print could control all of these printers at once.  I think the idea was, like an octopus with 8 arms, it could control 8 printers at once (or maybe much more than 8, not sure).  So this would explain why cura needs to know more than just host and port?  maybe?  It would also need to know which of the (possibly many) printers octoprint is connected to. So if cura needs more than host/port then maybe it's which printer and try maybe 0 or 1 (the only printer - again you didn't say much about your setup yet so I'm not sure but guessing you only have one printer hooked up to octoprint).

 

Also it might be that cura doesn't support non numeric host names such as the suggested "localhost".  So alternatively you could try "127.0.0.1" for the host name instead of "localhost".  Don't include any quotes in the host name.

Share this post


Link to post
Share on other sites
1 hour ago, furdterguson said:

If Ultimaker cared about its products and the users, then ultimaker would provide instructions

They care but I think they care more about paying customers who are screaming/begging for hundreds of other features and definitely not for this feature since it isn't supported by any of their current printers.  This feature helps Ultimaker's competitors, and not Ultimaker itself because the UM3 doesn't support octoprint at all (I'm pretty sure) and the UM2 will work with octoprint but it's not officially supported (printing through USB is not officially supported on UM2).

 

So I think they are actually very nice to release this feature in Cura considering they get little in return.

 

Anyway don't you think it's great that you actually got a response from the guy who wrote the feature?  That's pretty impressive right there, right?

 

 

Share this post


Link to post
Share on other sites
7 minutes ago, gr5 said:

One copy of octoprint can support many printers at the same time.  This was kind of the original purpose - originally you could have many printers all connected to one raspberry pi

 

Er, no. That is not supported at all. I do run two instances of octoprint on a single raspberry pi, but one instance of octoprint controls one printer.

 

Share this post


Link to post
Share on other sites

I have 4 octoprint Raspberry Pi's...I have heard some talk about using one Pi for multiple printers but I wouldn't do that.  It seems the Pi3 is pretty taxed just talking to one printer and making sure there aren't time outs.

 

I would not use a Windows install, I looked at it and decided a $50 Pi3/power supply/SD Card was a better investment   Mine's working okay!

 

p.s. It looks like you are at the Manually Added Octoprint Instance    I've never had to do that using a Raspiberry Pi3 config.  I suggest trying it on a Pi3!

Edited by LePaul

Share this post


Link to post
Share on other sites
On 1/6/2018 at 2:40 AM, ahoeben said:

OctoPrint normally uses a service named "Bonjour" or "Zeroconf" to announce itself on the network. This is used to populate the list of "instances". Since this list is empty for you, I am assuming Bonjour does not work on your Windows setup. So you have to Add a "manual" instance. For most people Bonjour does work, and they don't need to go through the hassle of adding a manual instance.

 

based on the lines in the cmd prompt it looks like pybonjour did not install with python.

 

2018-01-09 17:05:29,582 - octoprint.plugin.core - INFO - Loading plugins from C:\octoprint\venv\lib\site-packages\octoprint\plugins, C:\Users\***\AppData\Roaming\OctoPrint\plugins and installed plugin packages...
2018-01-09 17:05:30,221 - octoprint.plugin.core - WARNING - Plugin "OctoPi Support Plugin" did not pass check
2018-01-09 17:05:30,285 - octoprint.plugins.discovery - INFO - pybonjour is not installed, Zeroconf Discovery won't be available

 

 

When I attempt to manual install pybonjour I get

 

(venv) C:\octoprint>pip install https://goo.gl/SxQZ06
Collecting https://goo.gl/SxQZ06
  Using cached https://goo.gl/SxQZ06
  Cannot determine compression type for file c:\users\***\appdata\local\temp\pip-gucorm-unpack\SxQZ06.obj
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "c:\users\***\appdata\local\temp\pip-imxrxv-build\setup.py", line 32, in <module>
        import pybonjour
      File "pybonjour.py", line 88, in <module>
        _libdnssd = ctypes.windll.dnssd
      File "C:\Python27\Lib\ctypes\__init__.py", line 435, in __getattr__
        dll = self._dlltype(name)
      File "C:\Python27\Lib\ctypes\__init__.py", line 365, in __init__
        self._handle = _dlopen(self._name, mode)
    WindowsError: [Error 126] The specified module could not be found

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in c:\users\***\appdata\local\temp\pip-imxrxv-build\

Share this post


Link to post
Share on other sites

I have no experience with installing OctoPrint on Windows. The output you posted suggests pybonjour can't find a bonjour specific dll. You could try installing Apple's Bonjour implementation for Windows, which I guess would come with that dll. https://support.apple.com/downloads/bonjour_for_windows

 

Out of interest, why don't you just do

pip install pybonjour

?

 

Anyway, OctoPrint should run just fine without Bonjour, you just have to add a manual instance which is slightly less spelt out in the interface than adding an instance with bonjour.

Edited by ahoeben

Share this post


Link to post
Share on other sites
10 hours ago, ahoeben said:

I have no experience with installing OctoPrint on Windows. The output you posted suggests pybonjour can't find a bonjour specific dll. You could try installing Apple's Bonjour implementation for Windows, which I guess would come with that dll. https://support.apple.com/downloads/bonjour_for_windows

 

Out of interest, why don't you just do


pip install pybonjour

?

 

Anyway, OctoPrint should run just fine without Bonjour, you just have to add a manual instance which is slightly less spelt out in the interface than adding an instance with bonjour.

 

I thought about asking about Apple bonjour as I have seen that process in Task Manager on my other system

 

As for why I did not pip install pybonjour....because I haven't the slighest idea of how to do that, nor where to do that. At the moment I suspect that it would be:

 

cmd prompt

and then get into the venv c:\octoprint pip install pybonjour

 

So I ended up with this:

(venv) C:\octoprint>pip install pybonjour
Collecting pybonjour
  Could not find a version that satisfies the requirement pybonjour (from versions: )
No matching distribution found for pybonjour

 

 

 

I will try apple. But there is another issue, which I suspect has to do with granting network access.

Edited by furdterguson

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Our picks

    • Architect Design Contest | People
      The goal of this contest is to design a set of people figurines that could be used in such a project to make an area, office or mall seem populated. 
      Think of different types of people in different environments, like walking people, people standing still, working people, and both men and women.
       
      • 8 replies
    • Taking Advantage of DfAM
      This is a statement that’s often made about AM/3DP. I'll focus on the way DfAM can take advantage of some of the unique capabilities that AM and 3DP have to offer. I personally think that the use of AM/3DP for light-weighting is one of it’s most exciting possibilities and one that could play a key part in the sustainability of design and manufacturing in the future.
        • Like
      • 3 replies
×

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!