Mise en place d'un serveur d'impression.

Octopi.jpg

Contributeur·ice·s

Statut du projet

Fonctionnel

Statut de la publication

Publié

License

CC-by-sa-3.0 - Creative Commons Attribution CC-by-sa-3.0 France

Inspiration

Fichiers source

Machines

Matériaux

Lien




L'objectif est de pouvoir mettre en place un serveur d'impression, qui permettra de lancer des impressions à distance simplement depuis le réseau, sans avoir besoin d'un ordinateur fixe relié à chaque imprimante, mais plutôt d'un Raspberry.

Sommaire

Préparation du Rapberry

Pour avoir un Raspberry à jour avec la dernière version de Raspberry Pi OS, il est mieux de ne pas utiliser OctoPi qui est une image de Raspbian avec un Octoprint installé directement.
Pour installer Octoprint sur un Raspberry on commence donc par télécharger la dernière version de Raspberry Pi OS. La version Lite, en ligne de commande, est a privilégié s'il n'y pas besoin d'avoir un écran à côté de l'imprimante.
Ensuite, une fois après l'avoir télécharger, il faut flasher l'image sur une carte SD. Pour cela on peut utiliser Etcher, un logiciel libre.
Ensuite, on insère la carte dans le Raspberry, un écran un clavier et c'est parti !

Attention par défaut le clavier est en qwerty, une fois connecté il est possible de la passer en azerty en tappant sudo nano /etc/default/keyboard et en remplaçant gb par fr.
La prochaine étape est de configurer le wifi et d'activer le ssh pour pouvoir y accéder à distance, pour cela on tape sudo raspi-config.
On peut également configurer une adresse IP statique, grâce à ça, on sait que notre Raspberry aura toujours la même adresse, plus facile pour y accéder. Ce tuto explique très bien la procédure à suivre.
Après un redémarrage et un ping 8.8.8.8 pour vérifier que tout fonctionne correctement, on n'a plus besoin d'utiliser le Raspberry avec un écran et un clavier, on peut directement s'y connecter en ssh via ssh pi@adresseip lorsqu’il est allumé.

Installation d'OctoPrint

À partir de là, il suffit de suivre ce tuto sur comment installer OctoPrint.
Même s’il n’est plus tout récent, le tuto fonctionne encore très bien et même avec les dernières versions de Raspberry Pi OS et de Python.

Une fois OctoPrint installé, il ne reste plus qu'à le configurer, pour cela il faut se rendre sur l'interface d'Octoprint via le lien que vous avez configurez en .local, ou en tapant http://adresseip ou http://adresseip:5000 si vous n’avez pas configurer le proxy.
Pour commencer on configure les permissions d’accès. Dans notre cas, un compte admin est créé avec toutes les permissions et un compte utilisateur qui peut uniquement faire des impressions.
Il est possible de modifier les permissions du groupe Guest pour pouvoir faire des impressions sans avoir à se connecter mais nous n'avons pas réussi à envoyer des commandes sur le terminal ou annuler des impressions sans être connecté même avec les bonnes permissions.
OctoPrint possède une fonctionnalité qui permet à un utilisateur de se connecter automatiquement en fonction de son adresse IP, plus d'info ici

Les plugins

Pour modifier l'esthétique, ou ajouter des fonctionnalités à OctoPrint, on peut ajouter des plugins depuis les options dans OctoPrint, Plugin Manager. Voici une liste des différents plugins que nous utilisons :

  • Custom Background pour modifier l'image de fond de la température.
  • Custom Control Editor pour ajouter des boutons qui permettent de positionner la buse pour calibrer le plateau.
  • UI Customizer pour installer un thème tout fait, masquer des parties dont on n'a pas besoin et gérer l'agencement.
  • Navbar Temperature Plugin pour afficher la température directement dans la barre en haut.


Voici à quoi notre interface ressemble :

CaptureOctoPrint.PNG

Optionnel

Il est possible de faire des backups si vous souhaitez copier votre config ou en cas de problèmes, dans les paramètres, OctoPrint, Backup and Restore.

Si vous souhaitez ajouter des langues pour traduire l'interface, vous pouvez les télécharger ici principalement. Pour les ajouter dans Octoprint, dans les paramètres, OctoPrint, Appareance, Manage Language Pack.