Benachrichtigungen
Alles löschen

Local Network Installation Files  

  RSS
Andarne
(@andarne)
Eminent Member
Local Network Installation Files

I've been using OctoPrint to manage my printers for several years now, and my setup has evolved over several different iterations during this time.

Currently, my 4 3D Printers (1 x Mk3S+, 1 x Mk3S+ & MMU2, 2 x Mini+) are connected to my Intel NUC via USB which is running 4 instances of OctoPrint (Ports 5001 - 5004 respectively).

I am thinking of adding a CoreONE to my arsenal, and I've been considering swapping OctoPrint to PrusaLink. I'm not a fan of PrusaConnect - I prefer my printers to be closed off from the net. I like the dashboard of PrusaLink, showing the status of all my printers at once, but the fact I can't run it on my local machine is a bummer.

Does anyone have any ideas on running PrusaConnect locally and without the cloud features?

Veröffentlicht : 01/04/2025 5:46 pm
1 weiteren Personen gefällt das
Andarne
(@andarne)
Eminent Member
Themenstarter answered:
RE: Local Network Installation Files

Here's a handy graphic showing my current setup! I slice files on my main PC running PrusaSlicer. I have individual physical printer profiles in PS, each linked to OctoPrint using the API and keys. When I send a file, it goes via my router to the NUC, then into the particular OctoPrint instance connected to that profile.

I'm basically wanting PrusaConnect/PrusaLink to do the same.

Veröffentlicht : 01/04/2025 6:02 pm
_KaszpiR_
(@_kaszpir_)
Noble Member
RE: Local Network Installation Files

PrusaConnect is a closed source (or available only for corporations when they buy a farm of printers and want their own self-hosted solution).
PrusaLink is in two forms:
- as an embedded in the firmware - mk4/mini/core/xl
- on raspberry pi which can be installed as python package or run as preinstalled package on the rpi operating system (mk3s and anything like that)

Prusa Link runs a web server which exposes locally available API and a web ui.
Additionally Prusa Link can be a Prusa Connect client, which allows to talk to the printer via cloud service.

If you want to run only Prusa Link locally then you can just do a nginx port forward on the higher port. See how I did it https://github.com/nvtkaszpir/3d-print/tree/main/prusa-link-no-password  

See my GitHub and printables.com for some 3d stuff that you may like.

Veröffentlicht : 01/04/2025 9:15 pm
LM
 LM
(@lm)
Active Member
RE: Local Network Installation Files

I have an idea of making open-source self-hosted alternative to prusa connect. I think naming it prusa disconnect would be funny but I don't know if I can use "prusa" in the name. As far as I can tell from my initial research, you can just specify alternative server in printer config and it should connect there. Now, the protocol for communication between prusa connect and printer isn't really documented (or I'm not good at finding this), however it seems that it would be possible to reverse engineer it from source code.

Since I don't yet have my core one (or any other prusa printer for that matter), I'm wondering what features are present in prusa connect that are not present in prusa link (aside from the fact that prusa connect lets you manage multiple printers of course).

Also I'm wondering how many people would be interested in using it, since I don't think there is that many of us who will not use prusa connect and need to manage multiple printers.

I have no idea when I will be able to get around to do it, since I don't have my printer yet (core one kit, batch 1, as of right now not shipped) and I have no idea how much free time I will have to be doing this.

 

Let me know what features you would like to see and I'll keep it in mind when I will be making this.

Veröffentlicht : 02/04/2025 3:07 pm
_KaszpiR_
(@_kaszpir_)
Noble Member
RE: Local Network Installation Files

Prusa Link sends POST to telemetry endpoint with printer details such as metrics/status/print job and so on. In the response body it can get some commands to return certain data (such as send info about list of files on the usb, send thumbnails, download file from the url to allow to print it later) or direct gcode commands (so you can for example remote control the printer. Some of the communication between the Prusa Connect and the PrusaLink commands processed are not available in any other means (so you cannot invoke certain commands via Prusa Link web api call or gcode command).

Prusa Connect for sure integrates with the backends so you can have a RBAC applied, thanks to this you can assign people/printer. to groups and then assign people to the printers.
Additionally there is a telemetry for metrics, print queuing and history, camera integration and some other things.

In general it's a quite a lot of work, but reverse engineering communication is quite easy and implementing basic commands.
The problem is in anything beyond it, and Prusa is very aware of that. That's why it is not opensource.

See my GitHub and printables.com for some 3d stuff that you may like.

Veröffentlicht : 02/04/2025 8:18 pm
LM
 LM
(@lm)
Active Member
RE: Local Network Installation Files

Looking at firmware for prusa printers with buddy board, I think the POST and command in response is "legacy" and now websocket connection is used (which would allow commands to be received by printer in real time, instead of waiting for another POST), but that doesn't really matter as in the end it still is just printer sending telemetry and receiving commands. I'm actually surprised it doesn't use MQTT for that, but that may be due to the fact that HTTP stack was also used for prusa link and importing MQTT library would increase firmware size more.

Anyway, I think my goal would be not to make multi-user multi-tenant application with configurable permissions, but more like single webapp for managing multiple printers (where anyone who knows password can manage any printer that's added). I would probably want to implement all features that are present in prusa connect. This is what I would want, but that may be a bit far from what other people need, so I would end up being the only person using it 🙂

I finally found list of command that printers accept from prusa connect: https://github.com/prusa3d/Prusa-Firmware-Buddy/blob/47eb31be3dbec677cbfbf07c470e7fd7014093b6/src/connect/command.cpp#L154 and it's literally just 26 commands, so it shouldn't be that hard to implement.

 

Since printer would be sending telemetry to my app anyway, I could also forward it to MQTT for easy integration with homeassistant without any extra load on printer itself (that may be busy with printing)

Veröffentlicht : 02/04/2025 9:01 pm
_KaszpiR_
(@_kaszpir_)
Noble Member
RE: Local Network Installation Files

Regarding websockets - Ah thanks for the info, haven't looked at the changes for a long time.

Regarding farm software - maybe join to the project such as fdm-monster?

See my GitHub and printables.com for some 3d stuff that you may like.

Veröffentlicht : 03/04/2025 8:05 am
LM
 LM
(@lm)
Active Member
RE: Local Network Installation Files

Okay, I assembled my core one yesterday and after some printing, it's time to start hacking.

First of all, @_kaszpir_ you were right - the method that you described of using POSTs and getting commands in responses is in fact what printers currently use (at least what my core one uses). Still, there is some code for websockets in firmware but maybe it's behind hidden config option or some compile-time switch.

Now, I'm wondering if there is any documentation for prusa connect-printer API or if I will have to reverse engineer everything (which will probably end up in me supporting only core one)

As of right now, I am looking at communication from my printer to prusa connect (using proxy that I wrote based on what's described here: https://github.com/prusa3d/Prusa-Firmware-Buddy/blob/master/doc/proxy_support.md ) and I can see what's being sent so that's enough to get me going somewhere.

Veröffentlicht : 16/04/2025 9:41 pm
1 weiteren Personen gefällt das
_KaszpiR_
(@_kaszpir_)
Noble Member
RE: Local Network Installation Files

https://github.com/prusa3d/Prusa-Connect-SDK-Printer this simulates a printer which connects to the Prusa Connect

See my GitHub and printables.com for some 3d stuff that you may like.

Veröffentlicht : 17/04/2025 7:46 am
1 weiteren Personen gefällt das
Joshua-Man
(@joshua-man)
Active Member
RE: Local Network Installation Files

The issue some people like my team is my current employer REQUIRES our print files stay in network (no cloud connections allowed). This limits us to Prusa Link (which was still a hard push to be allowed).

My team wants to be capable of Prusa Connect's slicer direct to print function (saves valuable minutes of user time). The process of loading and unloading files through Prusa Link is a bit tedious and the response slow (relative to any other pc to device connection I have experienced), so I can definitely see this being a valid reason to want Connect level controls.

It's a bit weird that Prusa would only give a localized version of Connect when buying a whole farm. My company has a widely distributed collection of Prusa printers which is often on a team-to-team basis; each team has their own printer(s) and they are NEVER shared due to remote offices and conflicting timetables.

Veröffentlicht : 02/06/2025 3:58 pm
_KaszpiR_
(@_kaszpir_)
Noble Member
RE: Local Network Installation Files

Either way I suggest contacting Prusa directly, and maybe they can provide alternative licensing options.

See my GitHub and printables.com for some 3d stuff that you may like.

Veröffentlicht : 02/06/2025 8:14 pm
Teilen: