Octoprint sur Rasperry Pi Zero W

La carte mère EINSY RAMBo qui équipe l’imprimante Prusa I3 MK3S possède un emplacement qui permet d’intégrer directement un Rasperry Pi Zero W dans le boitier de contrôle. Vous pouvez ensuite installer Octoprint et piloter l’imprimante en WiFi.

La procédure est décrite en détail sur le site de Prusa. Mais de son coté, Octoprint ne conseille pas d’utiliser le Rasperry Pi Zero (car il n’est pas assez puissant). Mais l’idée d’intégrer un Raspberry pi à mon imprimante (sans alimentation, ni câble USB) me plait bien. Je vais donc tenter l’expérience (on verra bien si cela fonctionne).

Matériel nécessaire

Vous devez vous procurer :

  • Un Rasperry Pi Zero W, attention, le W (Wifi) est très important, il existe un Rasperry Pi Zero sans WiFi qui est moins cher, mais il ne peut pas être utilisé pour cette manipulation. Ne choisissez pas non plus le modèle avec les connecteur déjà soudés (parce que les connecteurs nécessaires ne sont pas standard).
Rasperry Pi Zero W
  • Une carte micro-SD (de 8 Go minimum) tout à fait classique.
Carte micro-SD
  • Une double rangée de connecteurs mâles. Attention les connecteurs standards sont trop courts, ils doivent mesurer au moins 18 mm de long. Vous pouvez par exemple, en trouver ici (j’ai choisi des connecteurs de 19 mm de long, parce que je n’en ai pas trouvé qui mesuraient seulement 18 mm).
Double rangée de connecteurs mâles  de 19 mm de long

Normalement, il faudrait imprimer les 2 pièces suivantes en PETG ou en ABS, mais je les ai imprimé en PLA et je n’ai pas rencontré de problème. Ce sont les fichiers rpi-zero-frame.stl et raspberry_cover.stl que vous pouvez télécharger ici.

Supports du Raspberry Pi à imprimer

Installation du Rasperry Pi Zero W

Cassez ou coupez les connecteurs pour obtenir une rangée de 2 x 7. Puis, retirez-en 8 avec une pince pour obtenir la même disposition que sur la photo.

Préparation des connecteurs

Soudez les connecteurs après les avoir placé comme sur la photo. Attention, de ne faut pas placer les connecteurs sur les 2 premiers trous du GPIO.

Soudure des connecteurs

Téléchargez l’image Prusaprint et flashez-la sur la carte micro-SD.

Copie de l'image sur la carte SD

Retirez et insérez de nouveau la carte micro-SD dans votre ordinateur et modifiez le fichier octopi-wpa-supplicant.txt (dans la carte SD que vous venez de flasher) pour ajouter vos paramètre WiFi (n’oubliez pas d’enlever les # en début de lignes).

Configuration des paramètres Wifi

Éjecter la carte, insérer-la dans le lecteur et positionnez l’entretoise sur le Raspberry Pi.

Mise en place de l'entretoise

Découpez le boitier de la carte mère de l’imprimante (éteignez l’imprimante avant et faites attention à ne pas abîmer la carte.

Découpe du boitier

Connectez le Raspberry à la carte mère de l’imprimante et placez la nouvelle grille sur le boitier.

Mise en place du Rasperry Pi Zero W

Pour activer le port RPi, allumez l’imprimante, allez dans le menu Settings – RPi Port et sélectionnez ON

Activation du port RPi

Vous pouvez maintenant vous connecter en SSH au Rasperry Pi Zero W, en utilisant l’adresse IP locale qui apparaît sur l’écran de l’imprimante :

Adresse IP locale du Raspberry Pi

Ou le nom d’hôte (Host Name) : octopi

Connexion avec PuTTY

Octoprint est basé sur Raspberry Pi OS (qui s’appelait avant Raspbian). Les noms d’utilisateur/mot de passe par défaut sont donc identiques :

  • Nom d’utilisateur : pi
  • Mot de passe : raspberry

Lancez Raspi-config en tapant :

sudo raspi-config
Lancement de Raspi-config en SSH

Commencez par modifier le mot de passe.

Modification du mot de passe

Après avoir quitté raspi_config vous pouvez faire les mises à jour habituelles de Raspberry Pi OS :

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get clean
sudo reboot

Pour démarrer la configuration d’Octoprint, tapez http://octopi/ ou http://octopi.local (ou bien l’adresse IP du Raspberry Pi) dans votre navigateur.

Configuration d'Octoprint

Avant, si votre serveur Octoprint n’est pas destiné à être piloté à distance depuis internet, vous pouviez cliquer sur Diable Access Control. Mais les dernières mises à jour d’Octoprint à jour vous obligent à choisir un nom d’utilisateur et un mot de passe. Vous pouvez donc le faire maintenant ou plus tard (quand vous n’aurez plus le choix).

Désactivation du mot de passe pour l'accès à distance avec Octoprint

Cette étape est facultative, vous pouvez ajouter un profil si vous voulez utiliser Cura pour « slicer » vos ficher 3D avec votre Raspberry Pi. Comme je préfère utiliser PrusaSlicer, j’ai simplement sauté cette étape.

Etape facultative si vous n'utilisez pas CURA

J’ai laissé tous les paramètres par défaut puisse que l’imprimante Prusa I3 MK3 était déjà sélectionnée et que cela me semblait correct.

Sélection de l'imprimante

Ensuite, j’ai lu les dernières recommandations et cliqué enfin sur Finish.

Finalisation de la configuration d'Octoprint

Après redémarrage, OctoPrint vous proposera peut-être des mises à jour (qu’il faut bien sûr accepter).

Mise à jour d'Octoprint

Vous pouvez envoyer vos fichiers .gcode vers le serveur en les faisant glisser sur l’interface Web d’OctoPrint.

Transmission d'un fichier à imprimer

Mais il est également possible de les envoyer directement depuis PrisaSlicer. Pour cela, cliquez sur Settings (la petite clé à molette en haut) et API. Cochez la case Allow Cross Origin Resource Sharing (CORS), copiez la clé API (en cliquant sur l’icone correspondant), cliquez sur Save et redémarrez Octoprint.

Récupération de la clé API

Ensuite, ouvrez PrusaSlicer et cliquez sur le le petit engrenage à coté du nom de l’imprimante (voir la flèche rouge). Sélectionnez Modifier l’imprimante physique et indiquez les paramètres suivants :

  • Type d’hôte : Octoprint
  • Nom d’hôte,IP ou URL : octopi ou octopi.local (ou l’adresse IP)
  • Clé API/Mot de Passe : la clé précédemment copiée
Configuration de PrusaSlicer

Enregistrez votre préréglage utilisateur sous un autre nom (par exemple : Original Prusa i3 MK3S – Octoprint)

Vous pouvez maintenant envoyer directement votre fichier vers le serveur Octoprint en cliquant sur le bouton G> en bas à droite.

Transmission d'un fichier à imprimer directement depuis PrusaSlicer

Au bout de quelques instants, le fichier apparaît sur le serveur Octoprint. Et il est même possible de démarrer automatiquement l’impression en cochant la case : Lancer l’impression après le téléchargement.

Le fichier transmis apparait maintenant sur le serveur Octoprint

Conclusion

J’ai conservé cette installation pendant que quelques semaines sans rencontrer de problèmes d’impression, mais il faut quand même être très patient parce que ce brave Rasperry Pi Zero W n’est clairement pas conçu pour ça. Il lui faut environ 3 minutes 30 pour démarrer complètement et les temps de mises à jour sont eux aussi extrêmement longs (et encore, je n’ai pas installé d’extensions ou de caméra).

Actuellement, je ne vous conseillerais pas forcement de faire cette amélioration chez vous. Je suis retourné à une version classique d’Octoprint avec un Raspberry Pi 3B+ (qui dormait dans un tiroir). Bien sûr, il est relié en USB, nécessite une alimentation séparée et prend place à coté de l’imprimante, mais j’en suis très satisfait. Pour info, voilà mes paramètres (pour l’imprimante Prusa I3 MK3).

Paramètres Octoprint pour l'imprimante Prusa I3 MK3

Vous trouverez l’image sur le site officiel d’Octoprint, les instructions d’installation dans les autres liens ci-dessous.

Autres sources


Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s