Installation d'un serveur d'impression 3D
Createch, le FabLab de Saint-Jean, dispose de plusieurs imprimantes 3D. Une seule est connectée à un PC. Les autres nécessitent donc l’usage d’une carte micro SD pour y transférer les instructions d’impression.
Et si on utilisait un serveur d’impression afin de faciliter l’accès aux imprimantes ?
L’usage d’un serveur d’impression va permettre d’envoyer les travaux simplement via le réseau. Il va donc devenir possible de proposer plusieurs PC ayant la possibilité d’accéder aux imprimantes, que ce soit des postes fixes ou des portables pour les activités autour de la 3D.
Concept
Matériel
Le matériel dont on dispose :
- Un IBM Pentium 4.
- 2 Go RAM.
- Installé sous Debian.
Solutions
Repetier serveur
La première tentative consiste à utiliser Repetier Server. En effet, ce serveur d’imprimante 3D supporte nativement le contrôle simultané de plusieurs imprimantes. Il fonctionne aussi sous Linux et propose un paquet Debian, facile à installer.
Mais, il n’est pas libre.
Octoprint
Coté logiciels libres, celui qui fait référence se nomme Octoprint.
Par design, une instance ne gère qu’une imprimante et il n’est pas prévu de changer ça.
Heureusement, on peut en déployer plusieurs instances d’Octoprint sur le même PC et c’est même très simple avec le projet octprint_deploy.
Cura
Un des slicers 3D utilisés au Fablab est Cura. Et ce qui nous intéresse ici c’est que Cura dispose d’un plugin pour intégrer Octoprint.
Avec ce plugin, il devient possible d’associer un profil d’imprimante 3D à une instance d’Octoprint. Et ainsi, il devient possible d’envoyer directement le résultat du tranchage directement sur Octoprint, sans autre manipulation qu’un simple clic dans l’interface.
Coté Repetier Server, il existe aussi un plugin, mais celui-ci n’est pas disponible via le market, ce qui laisse présumer un support plus anecdotique.
Contrôle à distance
Outre la capacité à piloter les imprimantes sur le réseau local, vu les temps nécessaires à certaines impressions, il est tentant de pouvoir déclencher ou surveiller des impressions sans être dans les locaux. Open-Source oblige, on n’est pas les seuls à avoir le besoin et donc on trouve plein de solutions pour ça.
Pour la configuration du Fablab, on va opter pour une solution utilisant un intermédiaire évitant d’avoir à ouvrir le réseau interne sur Internet, comme AstroPrint ou SimplyPrint ou Polar 3d.
Mise en oeuvre
Installation
L’utilisation de octoprint_deploy est particulièrement simple. Déjà, le README est très explicite, mais l’utilisation est simple car très bien guidée via des menus.
En effet, il suffit de lancer la commande suivante et se laisser guider, pour ajouter ou retirer des instances, modifier certains paramètres…
sudo octoprint_deploy/octoprint_deploy.sh
Utilisation
A l’usage, le plus compliqué c’est sans doute la nécessité de se souvenir que les instances sont installées sur les ports à partir de 5001.
Dans Cura, sur chaque instance de Cura, on devra déclarer les imprimantes, puis les associer une à une à une instance Octoprint. Normalement, les instances Octoprint sont détectées automatiquement. Il suffit donc de sélectionner celle associée à l’imprimante active, puis cliquer sur Connect.
Au Fablab, vu que le serveur est connecté à deux réseaux locaux, l’un filaire, l’autre WiFi, il dispose de deux interfaces réseaux. Ce faisant, alternativement, les instances d’Octoprint auto-détectées annoncent soit leur IP via le réseau filaire, soit leur IP via le réseau WiFi. Du coup, il est plus simple de désactiver la découverte des instance Octoprint et de les déclarer manuellement avec les IP qui correspondent au PC courant.
Conclusion
Vraiment simple à mettre en oeuvre et vraiment très riche fonctionnellement, Octoprint est la solution rêvée pour piloter ses imprimantes 3D à distance.