juin 20

Serveur d’impression 3D avec Octoprint

OctoPrint permet de piloter et contrôler une imprimante 3D via une page Web et/ou appli Android.
Mais aussi d’envoyer ses fichiers Gcode via le wifi, sans avoir à sortir la carte SD de son imprimante et de suivre la progression de son impression.

OctoPrint01
OctoPrint-control

Prérequis

  1. Un raspberry Pi
  2. carte mémoire
  3. une clé WiFi (Raspi V1 ou V2)
  4. un clavier/souris sans fil
  5. une PiCam noIR (en option)

Pour infos, l’ensemble consomme environ 600 mA, pour ceux qui souhaiterait l’alimenter via l’alim de l’imprimante par exemple.

Version de Raspi

Pour Infos, j’ai testé avec un Raspberry PI P1 B+, ça fonctionne mais il y a de la latence pour afficher la page Web et pour la WebCam. Sinon, une fois lancé, ça print correctement. Mais je recommande au moins le Raspi 2, qui à un QuadCore pour une consommation de 650mA, entièrement compatible avec Raspian.

En 2015, le Raspberry étant sortie en version 3, avec plus de puissance CPU et le WiFi intégré…
Ca fonctionne : https://sites.google.com/site/octoprintworkingonraspberrypi3/ et c’est carrement mieux, je n’ai pas de latence entre la commande envoyé via le navigateur et l’imprimante. La webcam aussi donne une image en temps réel.

Installation

installer l‘image de Octoprint (avec win2dikImage par exemple) sur la carte SD du raspi.

 Via une télé

Mettre la carte dans le raspi connecté en HDMI sur une TV, le dongle bluetooth clavier/sourie et connecter le bouzin via ethernet,
démarrer et suivre les instruction à l’écran.
ATTENTION :  le clavier sera en mode qwerty (q en place de a et ) en place de -). On peut passer ensuite le claver et azerty.
Accès au menu de configuration via : raspi-config
login : pi
password : raspberry
Modifier principalement :
  • la langue = Fr-utf-8
  • la clavier = generic 105 keys puis French Alternative
  • le fuseau horaire = europe/Paris
  •  « enable boot to desktop… » = démarrer le raspi avec l’interface graphique
  • enable camera (si une branche une PiCam)
  • activer le SSH (si besoin futur)

Via un logiciel (putty, bitvise…)

la config de boot peut êtres accessible via l’interface graphique et/ou terminal (raspi ou putty) avec : sudo raspi-config
Une fois la config effectué on accède à l’interface graphique du Rapi (pas encore de OctoPrint), logiquement le WiFi devrait est connecté via le DHCP de sa box.
Si on veux avoir accès en FTP ou SSH au Raspi :
  • IP = ip du raspi sur le réseau local
  • login = pi
  • password = raspberry

Configuration WiFi

Une fois fait, placer la carte SD dans son PS et éditer le fichier octoprint-network.txt pour indiquer le SSID et passe WiFi de sa box.
## WPA/WPA2 secured

iface wlan0 inet manual

    wpa-ssid "Livebox-6Ae4"

   wpa-psk "FTRD45JHU86DE"

IP fixe

Si l’imprimante reste sur le même réseau, il est préférable de lui attribuer une IP fixe, pour éviter les conflits avec d’éventuels périphériques.
Il suffit de rajouter quelques lignes dans le fichier octoprint-network.txt.
## WPA/WPA2 secured

iface wlan0 inet static
address ip-choisi-hors-plage-dhcp
netmask 255.255.255.0
gateway ip-passerelle-de-sa-box

    wpa-ssid "Livebox-6Ae4"

   wpa-psk "FTRD45JHU86DE"

L’inferface Web

L’interface Web de Octoprint est accèssible via : http://ip-du-raspi ou octopi.local
Une fois dedans, la 1er chose à faire est de créer un profile propre à son imprimante en indiquant notamment  les paramètres de vitesse d’axes X Y Z  E (afficher via l’UltiController et control/motion) et le volume d’impression maxi de l’imprimante.
OctoPrint-profile
Pour ma part, j’ai du cocher l’inversion de l’axe Z pour que le plateau monte avec la flèche du haut.

Gcode

On peut aussi insérer du Gcode pour : before, cancel, pause, end du print.
Pour ma part, j’ai mis ça pour la fin
M104 S0 ;extruder heater off
M140 S0 ;heated bed heater off (if you have it)
G91  ;relative positioning
G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure
G1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more
G28 X0 Y0 ;retour position home
G1 Z40 F9000 ; descendre le plateaux de 4cm
M84 ;moteurs off
G90;absolute positioning

Les plugins

Parmi les plus intéressants :

  • OctoDroid (qui fonctionne bien avec moi)
    Permet de piloter les moteurs et de voir la progression sur son smartphone.
    (récupérer le code API dans Utilisateur/User Setting)
  • OctoPrint (version officiel ??)
  • AutoSelect
    Permet de sélectionner pour l’impression dès l’envoie sur Octoprint
  • Print History.
    Permet de garder une trace de ses impressions et de les exporter (format csv ou xls).
    En cas de changement de Raspi, on peux récupérer ce fichier sous : /home/pi/.octoprint/data/printhistory/history.yaml,
    via FTP sur le raspi.
  • Printer Statistics
    Plus complet que Print history mais pas d’export possible
    octoprint-printerstatistics
  • Automatic shutdown
    Permet d’étendre son imprimante quand l’impression est fini
  • PushBullet
    Pour être prévenu via l’appli dédié d’événement de l’imprimante
  • ScreenSquich
    Pour avoir un affichage de l’interface Web plus adapté au smartphone
  • FirmwareUpdater
    Pour mettre à jour le firmware de son imprimante, automatiquement ou via un fichier
  • DisplayProgress
    Pour afficher la progression du print sur le LCD de l’imprimante

Cura

OctoPrint intègre une version de cura (dossier /usr/local/bin/cura_engine), via un plugin.

GitHub

Il suffit de générer des profiles, via un Cura installé sur PC et de les importer dans les réglages du plugin.

octoprint-cura

Une fois fait, on importe le fichier STL qui va ensuite être slicé par cura, qui va ensuite créer un fichier .gco

octoprint-stlviewer

Slic3R

Ce slicer présente l’intérêt de pouvoir communiquer directement avec Octoprint afin d’y envoyer le ficher gcode, généré par Slic3R.

octoprint-slic3r

L’accès est donné via la clé API, fourni par Octoprint (setting/API)

Accès réseaux

On partager certains dossiers de Octoprint via le réseaux de Windows.
Notamment les dossiers :

  • /home/pi/.octoprint/uploads
  • /home/pi/.octoprint/timelapse

Qui permettront d’envoyer directement le fichier Gcode, fourni par Cura, sur Octoprint et aussi de récupérer les vidéos timelapse généré par Octoprint.

Accéder au raspi via un terminal.

mettre à jour

sudo apt-get update

Installer le protocole smb

sudo apt-get install samba

donner des droits aux dossiers et à leurs contenus

sudo chmod 777 -R /home/pi/.octoprint/uploads
sudo chmod 777 -R /home/pi/.octoprint/timelapse

Paramétrer le partage en éditant le fichier de configuration

sudo nano /etc/samba/smb.conf

Dans la rubrique « global settings« , bien veiller à ce que le nom du groupe soit bien le même que sur votre Windows (par défaut workgroup)
Dans la rubrique « Autentification« , Il faut remplacer : security=user par security=share.
Si besoin, dé-commenter : wins support = yes
Puis, dans la rubrique « share definitions« , ajouter les lignes suivantes à la fin du fichier (path indique le chemin du disque externe) :

[Octoprint-Gcode]
path = /home/pi/.octoprint/uploads
browseable = yes
writable = yes
read only = no
guest ok = yes
create mask = 0777
directory mask = 0777
public = yes
[Octoprint-Timelapse]
path = /home/pi/.octoprint/timelapse
browseable = yes
writable = yes
read only = no
guest ok = yes
create mask = 07777
directory mask = 0777
public = yes

Ctrl+X et oui pour valider, pour infos je ne suis pas un pro de la sécurité sur Linux, donc…

redémarrer samba

sudo /etc/init.d/samba restart

La vidéo

Le raspi à une connectique prévu pour une petite camera (raspiCam), l’interface d’Octoprint permet de visualiser cette dernière et faireun timelapse de l’impression. Une version avec un grand angle est aussi disponible.
J’ai fais un support pour le Raspi et sa camera, dispo sur ThingIverse.
Même si la visualisation de la vidéo peut se faire directement depuis l’interface d’Octoprint, on peut en faire plus grace au protocole MJPG streamer, implemté dans le raspi.
La page : http://ip-du-raspi:8080/index.html permet d’accéder à d’autre option.
octoprint-MJPG-streamer
Et notamment, la visualisation via VLC avec l’URL : http://ip-de-raspi:8080/?action=stream
Pour désactiver la LED de la caméra :
sudo nano /boot/config.txt
# ajouter la ligne suivante :
disable_camera_led=1
# rebooter
sudo reboot

Accès via Internet

A ce stade, Octoprint et la webcam ne sont accessibles que via votre réseau local.
Pour y avoir accès depuis n’importe quel ordinateur ou smartphone connectés à Internet, il suffit de faire une redirection de port 80 de son IP fixe de box vers l’IP du raspi.
Attention quand même car aucun mot de passe est demandé donc….
source01

Étiquettes : , ,
Copyright 2017. All rights reserved.

Ecrit 20 juin 2016 par Pit dans la catégorie "Impression 3D

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

deux × deux =