Contrôler une imprimante 3D à distance avec la Raspberry Pi et Octopi.
CommentairesAu même titre que la Raspberry Pi, l’impression 3D fait partie des outils presque indispensables des makers, hackers et autres bidouilleurs.
Créer presque n’importe quel objet en plastique en quelques heures, pour un coût dérisoire, et avec comme seule contrainte d’en posséder un modèle 3D. Pour toute personne faisant dans le prototypage, c’est un peu le rêve.
Ce n’était donc qu’une question de temps avant que nous ne fassions un tutoriel regroupant les deux thématiques, impression 3D et Raspberry Pi.
Aujourd’hui, nous allons donc voir comment piloter une imprimante 3D à distance avec une Raspberry Pi et la distribution Octopi, issue du mélange de Raspbian et du logiciel Octoprint.
L’objectif sera de pouvoir piloter à distance une imprimante 3D, déclencher à distance l’impression d’un fichier, et observer en direct le déroulement de l’impression via une webcam.
Quel matériel pour contrôler une imprimante 3D avec Octopi ?
Pour suivre ce tutoriel, vous aurez besoin du matériel suivant (cliquez sur le liens pour voir le prix en ligne) :
- Une Raspberry Pi B3+, des modèles précédents peuvent fonctionner, mais je vous déconseille les variantes de la Pi Zéro qui ne sont pas assez puissantes, notamment pour le flux vidéo.
- Une alimentation 5 volts 3 ampères
- Une carte MicroSD de 16 Go
- Une caméra RaspiCam pour pouvoir filmer l’avancée de l’impression
En plus de tout cela, vous aurez bien évidemment besoin d’une imprimante 3D.
Je présume que parmi vous certains ne possèdent pas encore d’imprimante, envisagent un achat et se demandent quelle imprimante choisir. Je n’ai absolument pas la prétention d’être un expert sur le sujet, je ne peux vous donner que mon ressenti et mes expériences personnelles.
À travers mes études, mes expériences professionnelles et personnelles, j’ai eu l’occasion d’utiliser quelques imprimantes 3D et de voir pas mal de pièces produites par impression 3D.
À titre personnel je possède aujourd’hui une imprimante Alfawise U20 dont je suis pleinement satisfait. Le tutoriel a donc été réalisé avec cette imprimante et les différents exemples seront faits pour cette imprimante.
Si vous cherchez une première machine à acquérir, je pense que l’Alfawise U20 est une très bonne machine pour débuter avec un excellent rapport qualité/prix/capacités et volumes d’impressions. Les impressions produites sont parmi les plus belles que j’ai pu voir.
La seule chose que j’ai à reprocher à cette imprimante est peut-être l’absence d’un système de calibrage automatisé.
En dehors de l’Alfawise, je peux également vous recommander la Creality CR-10 qui est relativement proche mais possède une communauté plus vaste.
Pour débuter aujourd’hui avec l’impression 3D, ces deux modèles me semblent donc les plus adaptés.
Voir l’Alfawise U20 Voir la Creality CR-10
Installer Octopi sur la carte SD
Octoprint est un logiciel permettant de contrôler des imprimantes 3D via une interface web.
Si le logiciel en tant que tel est installable sur tout types de machines, la distribution Octopi propose une version pré-installée et pré-configurée pour la Raspberry Pi via le système Raspbian.
Dans ce tutoriel, c’est donc cette distribution que nous allons utiliser. Pour cela, commencez par la télécharger à l’adresse suivante : https://octopi.octoprint.org/latest
Téléchargez également le logiciel Etcher, qui nous permettra d’installer Octopi sur la carte MicroSD.
Une fois Etcher et Octopi téléchargés, insérez la carte MicroSD dans votre ordinateur et lancez Etcher. Cliquez sur « Select Image » et sélectionnez l’image d’Octopi. Puis cliquez sur « Select Drive » et choisissez la carte MicroSD. Enfin, cliquez sur « Flash! ».
Configurer le Wi-Fi de la Raspberry Pi
Maintenant que l’image est installée sur la carte SD, nous allons configurer Octopi pour qu’il se connecte à votre Wi-Fi. Si vous souhaitez vous connecter directement en Ethernet vous pouvez ignorer cette étape.
Ouvrez votre explorateur de fichiers et rendez-vous dans la partition boot de la carte SD.
Utilisez un éditeur de texte (comme bloc-notes ou notepad++ sous Windows, Gedit sous Linux, etc.) pour ouvrir le fichier octopi-wpa-supplicant.conf
dans la partition boot.
Videz entièrement le fichier et collez le texte ci-dessous à la place.
## WPA/WPA2 secured
network={
ssid="nom_box"
psk="mdp_box"
}
country=FR
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
Remplacez les parties nom_box
et mdp_box
par le nom et le mot de passe de votre box.
Ce réglage est valable pour les box utilisant la sécurité WPA (soit 90 % des box récentes). Si votre box utilise la sécurité WEP à la place, utilisez la configuration ci-dessous à la place.
## WEP "secured"
network={
ssid="nom_box"
key_mgmt=NONE
wep_key0="mdp_box"
wep_tx_keyidx=0
}
country=FR
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
Une fois le fichier rempli, enregistrez-le et expulsez la carte SD.
Premier démarrage d’Octopi sur la Raspberry Pi
Maintenant que nous avons configuré le Wi-Fi nous allons pouvoir terminer l’installation sur la Raspberry Pi.
Pour cela, insérez la carte SD dans votre Raspberry et branchez la caméra, puis branchez l’alimentation de la Raspberry.
Attendez quelques minutes, le temps que la Raspberry Pi ait totalement fini de démarrer et soit bien connectée au réseau.
Dans un premier temps, nous allons modifier le mot de passe par défaut de la Raspberry Pi via SSH.
Pour cela, connectez-vous en SSH à l’hôte octopi.local
avec l’utilisateur pi
et le mot de passe raspberry
. Si vous ne savez pas comment utiliser SSH, vous pouvez lire notre tutoriel sur le sujet.
Une fois connecté en SSH, lancez la commande sudo raspi-config
, choisissez « Change user password », et entrez le nouveau mot de passe à utiliser.
Une fois le mot de passe modifié, nous allons pouvoir finaliser l’installation d’Octopi.
Configurer Octoprint
Pour configurer Octoprint, commencez par relier votre imprimante 3D à votre Raspberry Pi en USB, puis connectez-vous à l’adresse http://octopi.local depuis un ordinateur connecté au même réseau Wi-Fi que la Raspberry.
Vous allez vous retrouvez sur la page d’accueil d’Octoprint et devant l’assistant d’installation « Setup Wizard ».
La première étape consiste à définir le mot de passe d’Octoprint afin d’empêcher que n’importe qui puisse faire imprimer n’importe quoi sur votre imprimante 3D.
Renseignez donc le nom d’utilisateur et le mot de passe que vous souhaitez utiliser, puis cliquez sur « Keep Access Control Enabled », puis suis « Next ».
L’étape suivante vous permet de choisir si vous souhaitez que les auteurs d’Octoprint puissent collecter des données statistiques. Choisissez comme bon vous semble et cliquez sur « Next ».
Vous allez maintenant pouvoir configurer le système de vérification de connexion d’Octoprint. Laissez les choses comme telles et cliquez sur « Next »
La prochaine étape vous permet de régler le système de blacklist de plugin, lequel est censé vous protéger contre l’installation de plugin dangereux. Activez ou désactivez le système selon votre choix puis cliquez sur « Next ».
La partie suivante vous permet de configurer un profil personnalisé pour Cura, passez cette étape.
Ensuite, nous allons pouvoir configurer un profil personnalisé pour notre imprimante. Cela nous permet notamment de définir le nom de l’imprimante, mais surtout le volume d’impression utilisable.
Renseignez donc le nom de l’imprimante dans la partie « General ».
Puis le volume d’impression dans la partie « Print bed & build volume ». Adaptez ces informations selon le modèle de votre imprimante. Si vous utilisez une Alfawise U20, vous pouvez utiliser les paramètres ci-dessous.
Laissez la partie « Axes » telle quelle et configurer la partie « Hotend & extruder » pour adapter la configuration à la taille de votre buse d’impression (0.4 mm pour l’Alfawise U20). Ceci fait, cliquez sur « Next ».
Il ne vous reste plus qu’à cliquez sur « Finish » et ça y est, votre imprimante est configurée.
Pour la prise en main, je vous laisse découvrir le logiciel par vous même, il est vraiment très simple et vous trouverez de nombreux tutoriels en ligne !
Rendre Octoprint accessible depuis internet
Pour l’instant Octoprint n’est utilisable que depuis votre réseau local. Si vous souhaitez pouvoir le contrôler depuis internet il faut rendre votre Raspberry Pi accessible depuis l’extérieur. Pour cela, la solution la plus simple est probablement d’utiliser un service de DynDNS, qui vous permet d’associer un nom de domaine à votre box.
Il existe de nombreux services de DynDNS, et les réglages diffèrent un peu selon les box, mais les principes généraux restent les mêmes.
Ce tutoriel étant déjà bien assez long, je vous renvoie vers notre tutoriel dédié à la mise en ligne d’une Raspberry Pi avec un DynDNS, que vous aurez juste à adapter un petit peu !
Il ne vous reste plus qu’à modéliser et imprimer !
Bonsoir, est ce que la camera Pi est obligatoire ? Ou bien il est possible de faire sans. merci
Bonsoir, il est tout à fait possible de faire sans, elle ne sert qu’au monitoring vidéo !
autant pour moi,
j’avais pas vue que l’on peu configurer , il y a l’outil en haut a droite
bonjour,
y a t’il une commande pour refaire le setup wizard ?
je suis passé un peu vite
Bonjour, je me demandais si on peut prendre à la place la Raspberry Pi 4 à la place de la 3 + ?
Oui, à priori ça ne pause aucun problème.
Malheureusement ça ne fonctionne pas toujours je l’avais installé mais après plusieurs pièces commencées puis arrêtées avant d’être finie j’ai laissé tomber. Je lançais des impressions 3D depuis mon pc dans le living mais dès qu’il y a une perte de signal ou simplement une atténuation du signal wifi l’impression s’arrête en plein travail… Je ne vous décris pas ma déception quand la pièce était presque terminée et irrécupérable enfin avec ma créality Under 3.
Salut, ça me semble un peu surprenant que la perte du Wi-Fi joue sur l’impression puisque à priori le fichier est upload sur la Pi avant impression. Peut-être un plugin ajouté qui provoquait un bug, ou alors un bug dans une ancienne version d’Octoprint.
Personnellement je n’ai pas recontré de problèmes avec Octoprint sur les impressions.