Contrôler son imprimante 3D à distance avec OctoPi
Introduction
L’objectif de ce chapitre est de pouvoir lancer, contrôler et suivre son imprimante 3D à distance depuis l’intérieur de son réseau local ou depuis l’extérieur.
Pour ce faire, il existe plusieurs solutions. Certaines imprimantes 3D sont pourvues d’une carte réseau Ethernet ou Wi-Fi leur permettant d’être directement raccordées à un réseau local. C’est notamment le cas de la plupart des imprimantes 3D munies d’une carte mère 32 bits.
La grande majorité des imprimantes 3D accessibles au grand public ne possèdent pas d’interface réseau. Il faut donc la créer. La solution la plus simple est de connecter en USB son imprimante 3D à un ordinateur se trouvant sur le réseau. L’ordinateur fait alors office de serveur d’impression 3D.
Partant de ce principe, des solutions adaptées ont vu le jour sur le célèbre micro-ordinateur Raspberry Pi. Ce dernier a l’avantage d’être petit, connecté au réseau, peu consommateur d’énergie, et possède des ports USB pour piloter une imprimante 3D. En prime, le Raspberry Pi peut également accueillir une webcam pour visualiser une pièce en cours d’impression.
C’est ainsi que des distributions Linux dédiées au Raspberry Pi et à l’impression...
Matériel
Pour créer un serveur OctoPi, vous aurez besoin des éléments suivants :
-
Un Raspberry Pi 3B, 3B+, 4B ou Zero 2. Il est recommandé d’opter pour les versions 3B+ et 4B afin de profiter pleinement de certains plug-ins et des fonctionnalités de webcam. Pour la mémoire RAM, une capacité de 1 GB est le minimum requis. Plus il y en a, mieux ce sera. Vous trouverez des revendeurs proches de chez vous sur le site officiel www.raspberrypi.com.
-
Une alimentation pour Raspberry Pi. On en trouve généralement chez les revendeurs officiels Raspberry Pi. Pour les modèles 3B+ et 4B, une alimentation pouvant délivrer 2,5 A est préconisée.
-
Une carte microSD au minimum Classe 10 UHS-I d’une capacité minimale de 16 Go. Si vous n’en avez pas, prévoyez un lecteur de carte SD pour votre ordinateur.
-
De quoi se connecter à son réseau local : Wi-Fi via la box internet et/ou câble Ethernet.
-
Un câble USB pour relier votre Raspberry Pi et votre imprimante 3D.
-
Une imprimante 3D !
Installation d’OctoPi
Pour installer et préconfigurer OctoPi, rien de plus simple ! Il suffit de passer par le logiciel Raspberry Pi Imager créé par la Raspberry Pi Foundation.
Pour ce faire, rendez-vous sur le site https://www.raspberrypi.com/software/.
Téléchargez Raspberry Pi Imager pour le système d’exploitation de votre ordinateur.
Installez Raspberry Pi Imager sur votre ordinateur.
Exemple de l’installation sur Windows
Lancez Raspberry Pi Imager.
Insérez votre carte SD dans votre ordinateur.
Dans Raspberry Pi Imager, cliquez sur CHOISISSEZ L’OS, puis sur Formatter.
Cliquez ensuite sur CHOISISSEZ LE STOCKAGE, puis sur la carte SD nouvellement insérée.
Puis cliquez sur ÉCRIRE. Un message apparaîtra pour vous avertir que toutes les données de la carte SD seront supprimées. Validez en cliquant sur OUI.
Une fois la carte formatée, cliquez sur la case blanche sous Système d’exploitation, puis cliquez sur Other specific-purpose OS.
Puis cliquez sur 3D printing.
Sélectionnez OctoPi, puis la dernière version stable d’OctoPi.
Une fois la version stable d’OctoPi sélectionnée, cliquez sur la roue crantée en bas à droite de Raspberry Pi Imager.
Une nouvelle fenêtre s’ouvre avec les options de votre distribution...
Installation matérielle
Du côté de l’installation du Raspberry Pi sur une imprimante 3D, rien de plus simple. Dans ce chapitre, il est utilisé un Raspberry Pi 3B+ sur une imprimante 3D Dagoma DiscoEasy 200. La carte microSD avec OctoPi est insérée dans son port respectif du Raspberry Pi.
Tout d’abord, vous pouvez commencer par imprimer un boîtier pour votre Raspberry Pi. C’est très utile pour protéger votre Raspberry Pi de l’environnement, des poussières et des faux contacts.
Par exemple, ici, un boîtier trouvé sur Thingiverse pour Raspberry Pi 3B+ avec des fixations VESA pour pouvoir l’installer partout, même derrière des écrans.
Ensuite, il faudra se munir d’un câble USB pour connecter votre imprimante 3D à l’un des ports de votre Raspberry Pi.
Ici, avec la Dagoma DiscoEasy 200, on utilisera un câble USB-A 2.0 mâle vers USB-B mâle.
Ensuite, vous pouvez allumer l’imprimante 3D et connecter l’alimentation du Raspberry Pi.
Alimentation de 3 A avec interrupteur
Le tout est raccordé !
Après quelques petites minutes, OctoPi va démarrer sur le Raspberry Pi. OctoPi se trouve maintenant sur le réseau !
Configuration d’OctoPrint
Si vous avez suivi les étapes des sections précédentes, votre Raspberry Pi avec OctoPi se trouve dorénavant sur le réseau.
Si vous êtes sur un ordinateur macOS ou Linux, vous pouvez accéder directement au serveur OctoPrint en tapant le nom de votre OctoPi suivi de ".local" dans votre navigateur internet.
octopi.local
Si vous êtes sur Windows et que les services "Bonjour" sont installés, vous pourrez également procéder de la sorte. Dans le cas contraire, vous devez rechercher l’IP de votre Raspberry Pi sur votre réseau local.
Pour ce faire, vous pouvez télécharger et installer Angry IP Scanner (https://angryip.org) pour scanner votre réseau local (ou tout autre scanner réseau disponible sur ordinateur ou mobile).
Dans ce cas, le routeur a attribué l’IP 192.168.0.31 à OctoPi.
Rentrez l’IP obtenue dans votre navigateur internet.
En tapant <hostname>.local ou l’adresse IP de votre OctoPi, vous accédez à sa page de première configuration.
Cliquez sur Next.
C’est à cet endroit que vous pouvez charger une configuration OctoPrint existante.
Cliquez sur Next.
Sur cette page, vous devez créer des identifiants pour l’accès à OctoPrint. Ces identifiants n’ont rien à voir avec les identifiants...
L’interface OctoPrint
1. L’interface principale
L’interface par défaut d’OctoPrint est assez simple à appréhender. OctoPrint devient en quelque sorte une extension de votre imprimante 3D qui vous permet de la connecter au réseau avec des fonctionnalités supplémentaires : ajout d’une webcam, réalisation de timelapse, contrôle des fichiers présents sur l’imprimante 3D, etc.
Voici les différents panneaux qui composent OctoPrint :
1. Panneau Connection : permet de régler les paramètres de connexion à votre imprimante 3D. Par défaut, la première imprimante connectée est montée sur l’emplacement /dev/ttyUSB0. Au niveau de la vitesse de communication, prenez la vitesse de communication correspondant à votre imprimante 3D. Si vous ne savez pas, laissez sur Auto.
2. Panneau State : permet de vérifier l’état de votre imprimante 3D, le fichier en cours d’impression, le temps d’impression restant, etc. Le paramètre Resend ratio permet de vérifier le bon état de la communication entre le Raspberry Pi et l’imprimante 3D. Il s’agit du taux de perte des données envoyées par le Raspberry Pi à votre imprimante 3D. Le taux idéal doit être proche de 0 %.
3. Panneau Files : permet de montrer...
Les paramètres utiles au quotidien
1. Mises à jour
Si OctoPrint n’est pas en cours d’impression, vous pouvez à tout moment mettre à jour les composants d’OctoPrint dans le menu Settings - Software Update et cliquer sur le bouton Check for updates, puis Update all.
Un message d’avertissement apparaîtra, vous stipulant qu’il est dangereux de mettre à jour un composant avec une impression en cours. Comme dit dans le paragraphe précédent, il est recommandé de ne pas effectuer de mise à jour d’OctoPrint lorsqu’une impression est en cours.
Cliquez sur Proceed.
La mise à jour devrait prendre quelque temps. Il se peut qu’OctoPrint redémarre suite à la mise à jour. Dans ce cas-là, vous pouvez rafraîchir la page au bout de quelques secondes.
2. Le gestionnaire de plug-ins
Le gestionnaire de plug-ins se trouve dans Settings - Plugin Manager. Ce gestionnaire permet de voir, activer/désactiver, installer et désinstaller tous les plug-ins présents sur votre serveur OctoPrint. Dans la plupart des cas, ces plug-ins enrichissent votre expérience avec OctoPrint en modifiant l’interface, en ajoutant des fonctionnalités utiles, etc.
Chaque plug-in possède ses propres données de configuration et de cache. Ces données peuvent être réinitialisées pour chaque plug-in avec le bouton en forme de gomme Cleanup Plugin Data. Il est recommandé d’utiliser cette fonctionnalité avant de supprimer un plug-in.
Il est également possible d’activer ou de désactiver chaque plug-in de manière indépendante grâce au bouton Enable - Disable Plugin. Le fait de désactiver ou d’activer un plug-in peut nécessiter un redémarrage du serveur OctoPrint.
Les plug-ins installés par défaut avec OctoPrint ne peuvent pas être désinstallés. Cependant, ils peuvent être désactivés.
a. Ajouter de nouveaux plug-ins à OctoPrint
Pour découvrir la liste du dépôt officiel d’OctoPrint, cliquez sur + Get More dans le gestionnaire de plug-ins OctoPrint.
Dans la nouvelle fenêtre qui vient de s’ouvrir, vous pouvez ajouter un plug-in via le dépôt officiel des plug-ins OctoPrint...
Connexion entre Ultimaker Cura et OctoPrint
Lorsque vous avez installé votre OctoPi sur votre imprimante 3D, vous devez tout de même passer par l’étape du déplacement du fichier .gcode de votre ordinateur vers la carte SD de votre imprimante ou de votre OctoPi.
Pour ce faire, vous pouvez utiliser différentes méthodes :
-
Déplacer le fichier .gcode vers la carte SD ou USB de votre imprimante 3D.
-
Charger le fichier .gcode sur votre serveur OctoPrint à travers votre navigateur internet en cliquant sur Upload dans votre interface OctoPrint.
-
Charger directement le fichier .gcode sur OctoPrint via Cura.
Pour cette dernière possibilité, il est nécessaire d’ajouter un plug-in à Cura. Pour ce faire, rendez-vous sur le Marché en ligne dans Cura. Vous allez rechercher et installer le plug-in OctoPrint Connection.
Une fois Cura redémarré, rendez-vous dans les Préférences puis dans Imprimantes et activez votre profil d’imprimante qui est connecté à votre OctoPi.
Puis cliquez sur Connect OctoPrint.
Cura vous liste les instances OctoPi trouvables sur le réseau.
Sélectionnez l’instance correspondant à votre imprimante et cliquez sur Request... pour que Cura aille chercher la clé d’API de votre serveur OctoPrint.
Si vous êtes connecté dans votre navigateur...