AstroPrint sur Raspberry Pi avec écran tactile
Salut les Makers ! Aujourd’hui, on va voir comment installer la solution AstroPrint sur n’importe quelle imprimante 3D pour pouvoir imprimer et suivre son impression à distance, sur son propre réseau ou sur le cloud. Présentation du projet AstroPrint Abonnez-vous à ma chaîne YouTube ! Étape 1 : Installation de la distribution AstroPrint Pour commencer, […]
AstroPrint

Salut les Makers ! Aujourd’hui, on va voir comment installer la solution AstroPrint sur n’importe quelle imprimante 3D pour pouvoir imprimer et suivre son impression à distance, sur son propre réseau ou sur le cloud.

Présentation du projet AstroPrint

Abonnez-vous à ma chaîne YouTube !

Étape 1 : Installation de la distribution AstroPrint

Pour commencer, nous allons télécharger la dernière distribution d’AstroPrint sur le site officiel AstroPrint.

AstroPrint Download

Ensuite, dé-zippez l’image et utilisez Win32DiskImager pour installer l’image sur votre carte SD (de préférence une carte de capacité supérieure à 16Go, classe 10 minimum). Personnellement, j’utilise les cartes microSD Samsung Evo Plus qui ont un excellent rapport qualité/prix sur Amazon.

CarteSD-64

Une fois l’image installée, vous pouvez placer votre microSD dans un Raspberry Pi. Si vous n’avez pas de Raspberry Pi, vous trouverez la dernière version de Raspberry Pi ici.

RPi3B-Plus

Branchez votre Raspberry Pi en HDMI à un écran (un écran de télé fait parfaitement l’affaire) avec un clavier et alimentez-le. Connectez votre Raspberry Pi à votre réseau, de préférence en Ethernet (juste pour l’installation, ensuite AstroPrint gère ses paramètres Wifi). On va maintenant pouvoir passer à l’installation de l’environnement graphique.

Étape 2 : Installer l’environnement graphique

La distribution AstroBox est basée sur Raspbian en version lite. Elle ne possède donc pas d’interface graphique. Et pour pouvoir accéder au serveur web AstroPrint, on a besoin d’un serveur d’affichage, d’un bureau et surtout d’un navigateur web !

Pour commencer, connectez-vous avec l’utilisateur : pi. Le mot de passe est raspberry. Par défaut, la configuration clavier est en « QWERTY », donc si vous avez un clavier AZERTY, tapez « rqspberry » comme mot de passe. Ensuite, faites un sudo raspi-config pour configurer vos options de langue et d’internationalisation. N’oubliez pas de faire un « Expand filesystem » pour utiliser tout l’espace de votre carte SD.

Nous allons maintenant rentrer les commandes suivantes qui vont installer tous les packages nécessaires à l’interface graphique nécessaire  :

Installation de l'environnement graphique
// MAJ du système
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

// Installation du bureau LXDE
sudo apt-get install xserver-xorg
sudo apt-get install xinit
sudo apt-get install lxde-core lxappearance
sudo apt-get install lightdm

// Re-MAJ du système
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

// Installation de l'environnement PIXEL adaptée au Raspberry Pi + lxterminal (j'ai un faible pour ce terminal)
sudo apt-get install -y pi-greeter raspberrypi-ui-mods raspberrypi-artwork raspberrypi-bootloader
sudo apt-get install -y pix-icons pix-plym-splash rpd-wallpaper
sudo apt-get install -y lxterminal

// Installation de Chromium
sudo apt-get install -y rpi-chromium-mods
sudo reboot

Nous avons maintenant tous les éléments nécessaires à la configuration d’AstroPrint. Lorsque le Raspberry Pi va redémarrer, vous allez redémarrer directement sur l’environnement graphique ! Il se peut que votre configuration clavier soit repassée en « Qwerty ». Si c’est le cas, passez par LxTerminal pour faire un sudo raspi-config et configurer vos options d’internationalisation.

Étape 4 : Installation de l’écran tactile

Pour ce qui est de l’écran tactile, je ne vous recommande pas d’aller sur un écran de 3.5 pouces. Ces écrans ont une très faible résolution qui n’est pas suffisante pour afficher convenablement l’interface d’AstroPrint. Je vous recommande de passer sur un écran de 5 pouces minimum avec une résolution qui est au minimum de 800*480 pixels. Pour ma part, j’ai acheté l’écran Waveshare 5 pouces de type A avec gestion tactile qui est parfaitement fonctionnel avec la dernière version de Raspbian. Et niveau prix, on reste dans quelque chose d’abordable. Si vous voulez un écran plus grand un peu plus confortable (avec un plus grand budget du coup), je vous recommande de passer directement à la version 7 pouces dans sa résolution de 1024*600 pixels. Pour ma part la version 5 pouces me suffit amplement. De plus ces écrans ont l’avantage d’avoir un bouton permettant de les éteindre complètement. Pratique !

Ecran-5-P

Pour l’installation, rien de plus simple. Avant de raccorder l’écran tactile, effectuez toutes les opérations suivantes sur l’écran que vous utilisez pour la configuration :

Pour la version 5 pouces (800*480) :

  1. Téléchargez le driver pour la gestion du tactile sur le wiki WaveShare dans sa dernière version directement sur votre Raspberry Pi avec Chromium.
  2. Ouvrez un terminal (avec LxTerminal), et tapez sudo nano /boot/config.txt et ajoutez les lignes suivantes au fichier :
    Ecran 5 pouces WaveShare 800*480
    max_usb_current=1
    hdmi_group=2
    hdmi_mode=87
    hdmi_cvt 800 480 60 6 0 0 0
    hdmi_drive=1
  3. Installez les drivers de la gestion du tactile avec les commandes suivantes :
    Installation des drivers tactiles
    cd ~
    echo "si vous êtes en français"
    cd Téléchargements
    echo "si vous êtes en anglais"
    cd Downloads
    tar xzvf ~/boot/LCD-show-*.tar.gz
    cd LCD-show/
    chmod +x LCD5-show
    ./LCD5-show
  4. Redémarrer le Raspberry Pi.

Si tout se passe bien, le Raspberry Pi devrait démarrer avec une résolution de 800*480. Vous pouvez ensuite éteindre le Raspberry Pi et raccorder l’écran tactile au Raspberry en connectant le port HDMI. Démarrez le Raspberry Pi tout en gardant soin de garder encore le clavier souris pour configurer aisément AstroPrint.

Pour la version 7 pouces (1024*600) :

  1. Téléchargez le driver pour la gestion du tactile sur le wiki WaveShare dans sa dernière version directement sur votre Raspberry Pi avec Chromium.
  2. Ouvrez un terminal (avec LxTerminal), et tapez sudo nano /boot/config.txt et ajoutez les lignes suivantes au fichier :
    Ecran 7 pouces WaveShare 1024*600
    max_usb_current=1
    hdmi_group=2
    hdmi_mode=87
    hdmi_cvt 1024 600 60 6 0 0 0
    hdmi_drive=1
  3. Installez les drivers de la gestion du tactile avec les commandes suivantes :
    Installation des drivers tactiles
    cd ~
    echo "si vous êtes en français"
    cd Téléchargements
    echo "si vous êtes en anglais"
    cd Downloads
    tar xzvf ~/boot/LCD-show-*.tar.gz
    cd LCD-show/
    chmod +x LCD7-1024x600-show
    ./LCD7-1024x600-show
  4. Redémarrer le Raspberry Pi.

Si tout se passe bien, le Raspberry Pi devrait démarrer avec une résolution de 1024*600. Vous pouvez ensuite éteindre le Raspberry Pi et raccorder l’écran tactile au Raspberry en connectant le port HDMI. Démarrez le Raspberry Pi tout en gardant soin de garder encore le clavier souris pour configurer aisément AstroPrint.

Etape 5 : Configurer AstroPrint !

Une fois l’écran installé, il ne restera plus qu’à configurer AstroPrint. Pour se faire, rien de plus simple, on peut accéder directement sur le Raspberry Pi à la configuration d’AstroPrint en tapant l’IP locale dans Chromium, soit 127.0.0.1. Vous accéderez ainsi aux pages de configuration d’AstroPrint. À partir de ce moment-là, vous pouvez utiliser un dongle wifi ou le wifi intégré à la carte Raspberry Pi (à partir de la version 3) pour connecter votre Astrobox au réseau !

Lors de la configuration, plusieurs choses vont être demandées :

  • Le nom de votre AstroBox. Donnez ici un nom unique à votre AstroBox pour pouvoir la connaître facilement. Personnellement, j’ai appelé ma box : DE200-1. Pour 1ère DiscoEasy 200.
  • Si vous avez déconnecté le port Ethernet et que vous êtes sur Wifi, AstroPrint va vous demander le réseau Wifi auquel vous voulez vous connecter. Sélectionner votre réseau Wifi local.
  • Ensuite, si vous voulez bénéficier des fonctions de Cloud Printing, vous pouvez connecter votre AstroBox à votre compte en ligne AstroPrint. Ce que je recommande fortement pour :
    • Créer vos profils d’imprimantes.
    • Créer vos profils de bobines.
    • Créer vos profils de paramètres d’impression.
    • Utiliser le slicer en ligne.
  • Donc si vous n’avez pas de compte AstroPrint, c’est le moment d’en créer un ! Et c’est gratuit ! De plus vous avez 2 Go de stockage pour stocker des fichiers 3D dans votre cloud AstroPrint.
  • La connexion à votre imprimante. C’est le moment de connecter votre imprimante en USB à votre Raspberry Pi ! Sélectionnez ensuite le port et définissez la vitesse sur 250000 bauds. Vous pouvez également passer cette étape pour ajouter votre imprimante plus tard.

Ça y es, vous avez configuré AstroPrint ! Si votre imprimante est connectée et que votre compte AstroPrint est connecté à votre compte AstroPrint.com, vous devriez avoir tous vos logos au vert !

AstroBox-Green-Logo

De plus, en tapant l’IP de votre Raspberry Pi sur n’importe quel navigateur internet se trouvant sur votre réseau, vous avez accès à l’interface d’AstroPrint ! Vous pouvez, via cette interface, envoyer vos fichiers gcode que vous avez créés avec votre slicer favori (Slic3r, Cura, Repetier, Simplify3D, IceSL…) grâce à la fonction Upload. Une fois les fichiers sur votre AstroBox vous pouvez les imprimer. Veillez, avant d’imprimer, que votre imprimante soit bien configurée dans les options (plateau chauffant ou non, chariot de tête pour l’axe Z ou descente du plateau pour l’axe Z, etc…).

Vous pouvez également demander à Astroprint d’imprimer des fichiers .STL. Pour se faire, Astroprint va utiliser les slicers en ligne qu’il a à sa disposition (Cura ou Slic3r). Cependant, pour cela, il faudra que votre AstroBox soit connectée à votre compte Astroprint.com et il faudra également utiliser un profil d’imprimante que vous avez préalablement configuré sur votre espace en ligne (voir le chapitre bonus ci-après).

Configurer la webcam

AstroPrint gère les webcam pour pouvoir prendre des photos en cours d’impression ou retransmettre la vidéo de l’impression en live. Votre Astrobox possède même une fonction de time-laps permettant de prendre une photo à la fin de chaque couche imprimée. AstroPrint gère les webcams USB reconnues sous Raspbian (se référer à la documentation de votre webcam) et gère également les caméras officielles Raspberry Pi qui se branchent avec le connecteur en nappe. Pour que ce type de webcam soit reconnu par AstroPrint, n’oubliez pas de l’activer dans les paramètres de raspi-config (sudo raspi-config dans le terminal).

Ensuite, dans les options de votre AstroBox, faites une recherche automatique de Webcam pour l’activer et l’utiliser.

Bonus 1 : Créer un profil personnalisé d’une imprimante

Vu comment est configuré votre AstroPrint, vous pouvez déjà imprimer directement des fichiers .GCODE. Donc des fichiers 3D déjà découpés. AstroPrint permet d’imprimer directement des fichiers .STL en utilisant un service de Slicer en ligne. Cependant, pour fonctionner, AstroPrint requiert un profil d’imprimante. Pour se faire, RDV dans votre cloud AstroPrint.

Ensuite, allez dans « Printer Profiles« . Vous pouvez ici ajouter des profils d’imprimante. Il faut comprendre que plusieurs Astrobox peuvent êtres connectés à diverses imprimantes, toutes reliées à votre compte AstroPrint. Donc, quand vous imprimez un fichier .STL ou .OBJ via le cloud AstroPrint, il faudra sélectionner sur quel profil d’imprimante imprimer et avec quel profil de filament. Rassurez-vous, rien de très compliqué.

Une fois dans « Printer Profile« , faites « New Printer Profile« . AstroPrint vous proposera une liste de constructeurs d’imprimantes 3D dont les profils ont déjà été crée. Dagoma ne fait pas partie de cette liste, c’est pourquoi j’ai choisi de créer mon propre profil d’imprimante en sélectionnant « Create Custom Printer« .

Allez, je vous le donne dans le mille : mon profil AstroPrint pour la Dagoma DiscoEasy 200 (j’ai adapté le profil officiel de Cura à AstroPrint, rien de bien méchant).

Mon profil AstroPrint pour la Dagoma DiscoEasy200

Pour le Start GCODE (Start Commands) :

Start GCODE AstroPrint Dagoma DE200
G90   ;absolute positioning
M106 S250
G28 X Y
G1 X50
M109 S180
G28
M104 S{print_temperature}
;Activation palpeur
;bloc palpeur
G29 ;Auto level
M107 ;start with the fan off
G1 X100 Y20 F3000
G1 Z0.5
M109 S{print_temperature}
M82 ;set extruder to absolute mode
G92 E0 ;zero the extruded length
G1 F200 E10 ;extrude 10mm of feed stock
G92 E0 ;zero the extruded length again
G1 Z3
G1 F6000

Notez, pour les experts en GCode et en Cura, que les variables « material_print_temperature_layer_0 » deviennent « print_temperature ».

Pour le End GCODE (End Commands) :

End GCODE AstroPrint Dagoma DE200
M104 S0
M106 S255 ;start fan full power
M140 S0 ;heated bed heater off (if you have it)
;Home machine
G91 ;relative positioning
G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure
G1 Z+3 F3000 ;move Z up a bit and retract filament even more
G90
G28 X Y
;Ventilation forcee
M107 ;stop fan
;Shut down motor
M84 ;shut down motors

Ensuite, il faudra ajouter les filaments que vous utilisez avec votre imprimante 3D, en cliquant sur la bobine :

Vous tombez donc dans le menu « Materials » où vous pouvez ajouter vos profils de filaments.

AstroPrint-Cloud-Add-Bobine-PLA

A partir de là, vous pouvez imprimer des fichiers .STL directement depuis le cloud. Vous pouvez même connecter votre compte AstroPrint à vos comptes MyMiniFactory ou Thingiverse.com pour lancer l’impression d’une pièce directement depuis ces services.

Imaginez… vous naviguez sur Thinigverse, une pièce vous plaît… Vous cliquez sur « imprimer », vous sélectionnez votre Astrobox, votre profil d’impression et votre profil de filament et… c’est parti ! Votre print se lance ! Faites-le chez vous, via l’application mobile AstroPrint Mobile (disponible sur Android et Apple IOS) sur le réseau mobile 3G/4G. Suivez également votre impression en live ! La magie opère !

AstroBox-Cloud

Après, vous pouvez aller encore plus loin en paramétrant vos profils d’impression pour chaque filament. Pour cela il faudra ajouter un profil d’impression dans « My Slicer Settings » à votre filament de votre imprimante.

Bonus 2 : Lancement AstroPrint en plein écran au démarrage

Bon, on a notre petit écran tactile pour le suivi de nos impressions et le lancement de nos impressions directement sur la machine avec AstroPrint. C’est bien beau tout ça, mais l’interface serait plus optimisée si elle prenait tout l’écran, n’est-ce pas ? 😉

Et comme j’ai la flemme de cliquer sur F11 ou de cliquer sur « Plein Écran » dans les options de Chromium à chaque démarrage du Raspberry Pi, je préfère lancer automatiquement Chromium au démarrage du Raspberry Pi directement en plein écran et directement sur le serveur AstroPrint ! Sur les anciennes versions de Raspbian, pour le démarrage automatique d’applications, on utilisait le script rc.local. Cependant cette technique est devenue obsolète et ne fonctionne plus sur les dernières versions de Raspbian. Comme on ne lance pas un service en arrière plan, mais bien une application sur le bureau, j’ajoute donc l’exécution de Chromium en plein écran au fichier de démarrage de l’interface bureau qui se trouve dans  ~/.config/lxsession/LXDE-pi/ :

nano ~/.config/lxsession/LXDE-pi/autostart

Et on y ajoute la ligne :

@chromium-browser -noerrdialogs -kiosk http://127.0.0.1

En redémarrant votre Raspberry Pi, Chromium se lancera en plein écran (mode Kiosk) en ouvrant votre serveur AstroPrint. Mais avant de redémarrer, pour pouvoir déconnecter définitivement votre clavier et votre souris de votre Raspberry Pi, vous devez songer à installer les 2 extensions suivantes.

Bonus 3 : 2 extensions pour une gestion tout tactile d’AstroPrint

Un Clavier Virtuel

Lorsque vous n’utilisez pas AstroPrint pendant un moment, il se peut que vous devez vous reconnecter et retaper votre mot de passe. C’est surtout le cas lorsque vous accédez à AstroPrint en local depuis plusieurs ordinateurs chez vous. Et il faudra peut-être se reconnecter sur votre écran tactile et donc… retaper votre mot de passe. Sauf que sans clavier… pas évident !

La première extension à installer sur le Chromium de votre Raspberry Pi est un clavier virtuel édité par XonTab disponible ici. Une fois installé, configurez-le comme ci-dessous :

Virtual Keyboard Settings

L’important est le « Small KeyBoard Layout » qui sera bien pratique pour déplacer votre clavier virtuel en cas de gêne.

Actualiser ses pages AstroPrint avec SimpleKiosk

La seconde extension va nous permettre de rafraîchir, ou d’actualiser, l’affichage du serveur AstroPrint. En effet, lorsqu’une impression 3D est lancée via le cloud, le réseau local ou même parfois via l’écran tactile lui-même, l’affichage se fige pour des raisons de sécurité et ne se met pas toujours à jour sur la page de progression de l’impression. Pour se faire, j’utilise l’extension SimpleKiosk disponible également sur le Chrome Web Store. Cette extension va nous permettre d’ajouter deux boutons flottants en mode plein écran. Un bouton pour revenir à une page d’accueil que l’on aura configuré dans l’extension et un bouton pour retourner sur la page précédente. Voici la meilleure configuration que j’ai trouvée pour cette extension :

Options for SimpleKiosk

N’oubliez pas de cliquer sur « Show » et sur « Save » avant de quitter. Dès que votre écran sera figé lors d’une impression, vous n’aurez qu’à appuyer sur le bouton « home » de cette extension.

Vous pouvez maintenant redémarrer votre Raspberry Pi, sans clavier ni souris. Vous avez le nécessaire maintenant : un écran AstroPrint qui vous permet de contrôler votre imprimante, de lancer des impressions via vos fichiers stockés sur le Raspberry Pi ou via le cloud ou les services de stockage de modèles 3D en ligne. Le tout contrôlable via écran tactile, sur votre réseau ou via votre compte AstroPrint.com. Magique non ?

AstroBox-SimpleKiosK

En conclusion

Pour moi AstroPrint est une solution relativement simple à mettre en place. C’est vrai que j’ai un peu cherché à avoir un système optimum avec une interface en plein écran tactile pour avoir une meilleure visualisation de l’impression en cours directement auprès de l’imprimante. Cela me permettra, par exemple, de couper l’écran de contrôle sur les imprimantes pour, au définitif, ne passer que par AstroPrint. Reste à comparer cette solution AstroPrint avec Octoprint, qui a l’air d’être plus fourni en options bas niveaux et en extensions. Cependant, pour avoir vu quelques captures d’écran, Octoprint a l’air moins user-friendly. Il existe même une extension AstroPrint à installer sur Octoprint qui permet de configurer Octoprint exactement comme une AstroBox.

Wait&See… Je configurerai ma prochaine imprimante avec Octoprint pour comparer…

Que pensez-vous d’AstroPrint ? Avez-vous déjà essayé le cloud printing ?

EDIT :

Astroprint propose depuis peu la partie logicielle de leur solution AstroBox Touch pour le prix de 39$.

Ben.

Sources :
https://www.astroprint.com
https://medium.com/@adrianhdez/installing-raspbian-lite-4e354623311d
https://www.waveshare.com/wiki/Main_Page

9 Commentaires

  1. Matt

    Bonjour, pourquoi ne pas simplement installer l’application Astroprint sur une tablette ?

    Réponse
    • Benoît Jellimann

      Sur tablette type Android ou IOS, les applications sont un peu plus limités. On a accès à moins de paramètres. Sinon, avec une tablette sous Linux ou Windows, avec AstroPrint Desktop, on peut effectivement se passer de Raspberry Pi et avoir une tablette faisant office d’Astrobox. Après, tout reste une question de budget et de maintenabilité.

      Réponse
      • Matt

        Merci pour ta réponse. En revanche avec Octoprint, sur une tablette Android, il y a l’excellente application Printoid qui est déja très complète, mais permet également d’avoir Octoprint desktop, c’est personnellement cette solution que j’ai choisi ;). J’ai testé Astroprint quelques semaines, et il vrai qu’il est très intuitif, mais j’ai remarqué que des « bulles » étaient apparu sur mes print lancé depuis Astroprint, mais pas depuis la SD ou Octoprint, avec le même gcode.

        Réponse
  2. Optimus

    Bonjour,

    Super tuto !

    Lorsque je suis à cette étape : nano ~/.config/lxsession/LXDE-pi/autostart

    j’ai une erreur : Erreur de lecture du fichier verrou /home/pi/nano ~/.config/lxsession/LXDE-pi/.autostart

    Pourriez-vous me guider? Merci

    Réponse
    • Benoît Jellimann

      Sinon, essayez avec :
      sudo nano ~/.config/lxsession/LXDE-pi/autostart
      ou encore :
      sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart

      Il me semble que vous ayez mis un point avant « autostart », ça peut générer ce genre d’erreur.

      Réponse
      • Optimusgold

        Je pense que le fichier est corrompu, est-il possible de le recréer?

        Réponse
  3. Florent

    Bonjour et merci tout ton tuto.

    A mon niveau je suis bloqué à l’installation des drivers pour l’écran 5″ car sur le site du fabricant je n’ai pu récupérer qu’un zip sur le git et la procédure ne colle pas avec la tienne.

    Saurais-tu m’aider ?

    Merci d’avance.

    Réponse
    • Kurix

      Pareil pour moi, bloqué à ce niveau l application xarchiver est masquée sur le système et impossible de l activer

      Réponse
  4. Christian

    Bonjour Benoît.
    Je suis un tantinet embêté… J’explique: J’ai fait l’installation de l’Astroprint sur un Raspberry 3+ à l’aide de votre excellent tuto et ça marche !!!. Que se passe t’il alors. Eh bien je ne peux pas connecter mes clés WIFI qui ne sont pas reconnus par l’OS.
    Donc l’intérêt faiblit si je dois connecter le Raspberry par Ethernet. J’ai fait l’install d’un Raspbian GNU/Linux 9.3 (stretch) et là formidable non seulement les 3 clés sont reconnues mais aussi la puce WIFI du Pi 3+ ce qui allège grandement le dispositif.
    Alors questions: Quelle serait la raison pour que mes clés ne soit pas reconnues après votre install ? Pourquoi la puce WIFI n’est elle pas activée ? et peut on installer Astroprint sur le Raspbian 9.3 qui tourne à merveille ce qui serait un bon coup ?
    Merci et bonne journée.

    Réponse

Soumettre un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Pin It on Pinterest

Shares
Share This