In this mode, an instance of PrusaLink is created for each new printer detected on any of the USB ports of the host system, allowing the user to connect multiple printers using a single Raspberry Pi.
The multi instance image requires the same setup as the regular one, but there are some differences
- The multi-instance manager does not connect to printers on the GPIO pins as the device udev auto-detection in Linux does not work on those
- Cameras automatically connect to the first instance only. If you wish to use for example a camera for each printer, you'll need to manually copy over relevant configuration
- In this image, the manager of these PrusaLink instances is run as root. However web interface of the instance manager is run under the user account.
The temporary process of connecting multiple cameras is not user friendly and requires manual work. This will change in the future. The process is as follows:
- Connect all cameras you wish to use and let them connect to the first instance
- Open the web interface of the first instance and under cameras, save
every camera manually. This will create a configuration section for each
camera in
prusa_printer_settings.ini
of the first instance - Using ssh, navigate to
/etc/prusalink/prusalink1.ini
and open it - Turn off the camera auto-detection in the first instance by adding
this section into the file
[cameras] auto_detect = False
- Navigate to
/home/<username>/PrusaLink1
and openprusa_printer_settings.ini
- Move the section corresponding to each camera over to the instance in which
you wish to use it. The camera sections have hashes as names,
the order of which is noted in the section
[camera_order]
- Move the camera order entry for each camera as well.
A camera order section with a single camera in it looks like this
[camera_order] 1 = asdfghjkl
- After a reboot, the cameras should be connected to the correct instances
To run PrusaLink in the multi-instance mode run prusalink-manager start
as root. There are other options allowing you to specify which user to run the
instances and web under. The default is UID = 1000
Here's the help output of prusalink-manager
Multi-instance suite for PrusaLink
positional arguments:
{start,stop,clean,rescan}
Available commands
start Start the instance managing daemon (needs root
privileges)
stop Stop any manager daemon running (needs root
privileges)
clean Danger! cleans all PrusaLink multi-instance
configuration
rescan Notify the daemon a printer has been connected
options:
-h, --help show this help message and exit
-i, --info include log messages up to the INFO level
-d, --debug include log messages up to the INFO level
-u USERNAME, --username USERNAME
Which users to use for running and storing everything
-p PREPEND_EXECUTABLES_WITH, --prepend-executables-with PREPEND_EXECUTABLES_WITH
Environment variables and path to the executables
directory