Plusieurs imprimantes sur un seul Octoprint
Vous aurez besoin dans un premier temps d’une installation d’octoprint sur un raspberry.
Vous pouvez trouver son installation ici : Installation d’octoprint
Les commandes à copier coller dans Putty :
- Étendre la partition de la carte sd :
sudo raspi-config - Dans Advanced option choisir Expand Filesystem.
- Un reboot est nécessaire , si il ne le propose pas par défaut , vous pouvez le forcer avec sudo reboot now
Il faut maintenant copier l’instant de départ d’octoprint autant de fois que vous avez d’imprimante. ATTENTION que cela va au final faire pas mal travailler le raspberry et risque de le faire grimper en température , donc prévoyez une bonne ventilation au risque de faire planter toutes vos impressions 😉
Les commandes pour copier les instances :
1. sudo su
2. cd /etc/init.d
3. sed s/octoprint/octoprint2/ < octoprint | sed s/OctoPrint/OctoPrint2/ | sed s/bin\\/octoprint2/bin\\/octoprint/ > octoprint2 ( à refaire en changeant le chiffre par imprimante voulu , ex : octoprint3 ou 4 , ….)
4. changer les droit sur chaque copie : chmod 755 octoprint2
Attribuer un port a chaque instance :
Changez de répertoire :
cd /etc/default
sed s/PORT=5000/PORT=5001/ < octoprint | sed s/HOST=127.0.0.1/HOST=0.0.0.0/ | sed s/\$PORT/\$PORT\ –basedir\ \\/home\\/pi\\/.octoprint2/ > octoprint2
pour la première copie, pour la 3 , remplacer 5001 par 5002 et octoprint2 par octoprint3 , …
Mettre à jour chaque instance crée:
sudo update-rc.d octoprint2 defaults 99 (idem changer le numéro de votre instance si vous en avez crée plusieurs)
on reboot le tout avec sudo reboot now
maintenant il va falloir configurer chaque instance ;
connecté vous sur l’ip d’octoprint.
la principal par exemple avec l’adresse ip : 192.168.1.14
et pour les autres ajoutez a la fin le port 192.168.1.14:5001 ou 5002 selon les étapes précédentes.
Lors du remplissage des information de votre imprimantes , je vous conseil de lui donner un nom court : U30 , LK4 dans mon cas.
La suite :
changement de répertoire : cd /var/log
Ici le but va être de trouver les infos qui concerne les port usb de chaque imprimantes pour définir une règle
débranché tout , placez une seul imprimante à la fois et tapez la commande : sudo cat messages
dans la longue liste d’infos qui s’affiche , rechercher une ligne qui ressemble à : new usb device found, avec comme info : idVendor=04545 par exemple) et idProduct=6060 (par exemple)
Prenez bien note des 2 valeurs , faites la même choses pour chaque imprimante.
Création des règles USB.
Pour que chaque imprimante soit associé à la bonne instances il va falloir créer un fichier de règles qui nous permettra de la reconnaître.
création du fichier : sudo nano /etc/udev/rules.d/99-usb.rules
Vous pouvez maintenant reprendre chaque idVendor et idProduct pour y inscrire la ligne suivante :
SUBSYSTEM=="tty", ATTRS{idVendor}=="04545", ATTRS{idProduct}=="6060", SYMLINK+="U30"
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", SYMLINK+="LK4"
Terminez en enregistrant le fichier avec
ctrl-x et Y
On reboot le tout : sudo reboot now
Pour terminer:
branchez toutes les imprimantes sur le rapsberry et vérifiez si elles sont bien visible :
sudo ls -l /dev |grep tty
dans la liste, il devrait y avoir maintenant des ligne ressemblant à : ttyUSB0
Passons maintenant à l’utilisation dans octoprint.
Seul différence à votre habitude , est qu’il va falloir lui dire quel usb prendre en compte dans la liste des connexions : /dev/usb0 ou usb1 ou le nom de la machine : U30/LK4.
N’oubliez pas de cocher : Save connection settings histoire de ne pas devoir recommencer la sélection à chaque utilisation 😉
Chaque session d’octoprint peuvent utiliser différents plugin… mais encore une fois , attention à la température de votre Raspberry , même si les session sont indépendante une de l’autre , un seul plantage dans une, et ce sont toutes les impressions en court qui risque d’y passer.