# Serveur d'impression 3D - Octoprint - Home Assistant ### Lancement d'une impression #### Depuis Bambu Studio - Sélectionner l'imprimante : [](https://innovation.iha.unistra.fr/uploads/images/gallery/2024-09/4P2image.png) - Lancer l'impression Pour voir comment ajouter une imprimante à BambuStudio via Octoprint : [https://innovation.iha.unistra.fr/books/3-fablab-machines-techniques/page/bambu-studio#bkmrk-autre-imprimante-via](https://innovation.iha.unistra.fr/books/2-fablab-formation-machines-logiciels/page/bambu-studio#bkmrk-autre-imprimante-via) #### Depuis un navigateur - Se connecter au serveur d'impression Octoprint correspondant à l'imprimante souhaitée, cf . [https://innovation.iha.unistra.fr/books/1-fablab-vos-projets/page/adressage-ip-du-reseau-du-fablab#bkmrk-configuration-r%C3%A9seau](https://innovation.iha.unistra.fr/books/1-fablab-vos-projets/page/adressage-ip-du-reseau-du-fablab#bkmrk-configuration-r%C3%A9seau) - Démarrer l'imprimante - Se connecter à l'imprimante en sélectionnant le port série correspondant, par ex. `/dev/octo_ender3s1pro` [](https://innovation.iha.unistra.fr/uploads/images/gallery/2024-09/dWVimage.png) ### Installation de Octoprint Nous avons vu comment [installer un serveur YunoHost sur une Raspberry Pi](https://innovation.iha.unistra.fr/books/1-fablab-vos-projets/page/installer-un-serveur-avec-la-distribution-linux-yunohost). On souhaite maintenant installer plusieurs instances de Octoprint pour pouvoir piloter à distance plusieurs imprimantes 3D - connexion via ssh au serveur - `mkdir -p /opt/octoprint_deploy` - `cd /opt/octoprint_deploy` - `git clone https://github.com/paukstelis/octoprint_deploy.git` - débrancher l'imprimante à ajouter - lancer le script de déploiement et d'upgrade : `./octoprint_deploy.sh` - taper `y` ou `n` en fonction des questions - rebrancher l'imprimante lorsque demandé pour la détection du port USB Vérification que le système tourne : - `sudo systemctl status ender3v2a` ``` ● ender3v2a.service - The snappy web interface for your 3D printer Loaded: loaded (/etc/systemd/system/ender3v2a.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2024-06-20 09:17:48 CEST; 25min ago Main PID: 51985 (octoprint) Tasks: 14 (limit: 779) CPU: 1min 33ms CGroup: /system.slice/ender3v2a.service └─51985 /home/fan_admin/OctoPrint/bin/python3 /home/fan_admin/OctoPrint/bin/octoprint serve --config=/home/fan_admin/.ender3v2a/config.yaml --basedir=/home/fan_admin/.ender3v2a --port=XXXXXX ``` - le système est bien `active (running)` - le port `XXXXXX` est indiqué - on se connecte donc à l'interface web d'octoprint via [http://addresse\_ip:XXXXXX](http://192.168.5.2:5001) A condition d'avoir bien ouvert le port `XXXXXX` dans le pare-feu YunoHost Démarrage automatique du service systemd au démarrage de la Raspberry : - `sudo systemctl enable ender3s1pro` Redémarrage du service au bout de 5s lorsqu'il échoue : - `nano /etc/systemd/system/ender3s1pro.service` ```bash [Service] Restart=on-failure RestartSec=5s ``` #### Exposition d'Octoprint sur le réseau local via YunoHost : - ajout d'une URL locale type `imprimante.local` [](https://innovation.iha.unistra.fr/uploads/images/gallery/2024-06/63Ximage.png) - Installation d'une application redirect sur l'URL créée et pointant sur l'adresse locale et le port de l'imprimante [](https://innovation.iha.unistra.fr/uploads/images/gallery/2024-06/O9Fimage.png) #### Exposition d'Octoprint sur le net via YunoHost :
Vous vous exposez à des attaques, sécurisez les comptes et vérifiez les droits d'accès avant de réaliser cela
- Ouverture du port dans le Firewall YunoHost [https://fan.ynh.fr/yunohost/admin/#/tools/firewall](https://fan.ynh.fr/yunohost/admin/#/tools/firewall) [](https://innovation.iha.unistra.fr/uploads/images/gallery/2024-06/miTimage.png) - ajout d'une URL publique [](https://innovation.iha.unistra.fr/uploads/images/gallery/2024-06/63Ximage.png) - Installation d'une application redirect [](https://innovation.iha.unistra.fr/uploads/images/gallery/2024-06/O9Fimage.png) ### Installation de Klipper - Ce nouveau firmware à installer sur le contrôleur de l'imprimante permet doit permettre d'améliorer les performances. Les algorithmes de planification de trajectoire fonctionnent sur un ordinateur déporté, par exemple notre serveur d'impression 3D - Installation managée via KIAUH [https://github.com/dw-0/kiauh](https://github.com/dw-0/kiauh) - ``` sudo apt-get update && sudo apt-get install git -y cd ~ && git clone https://github.com/dw-0/kiauh.git ./kiauh/kiauh.sh ``` - Installation des dépendances `sudo apt-get install avr-libc avrdude binutils-arm-none-eabi binutils-avr dfu-util gcc-arm-none-eabi gcc-avr libnewlib-arm-none-eabi libusb-1.0-0-dev libusb-dev stm32flash` - `cd ~ && git clone https://github.com/Klipper3d/klipper.git` - on installe 4 instances en respectant les noms des imprimantes [https://innovation.iha.unistra.fr/books/1-fablab-vos-projets/page/adressage-ip-du-reseau-du-fablab#bkmrk-configuration-r%C3%A9seau](https://innovation.iha.unistra.fr/books/1-fablab-vos-projets/page/adressage-ip-du-reseau-du-fablab#bkmrk-configuration-r%C3%A9seau) - - (Méthode d'installation "manuelle" : [https://www.klipper3d.org/OctoPrint.html](https://www.klipper3d.org/OctoPrint.html) ) - Configuration du printer.cfg via ssh [https://www.klipper3d.org/Installation.html#configuring-klipper](https://www.klipper3d.org/Installation.html#configuring-klipper) `cp klipper/config/printer-creality-ender3-s1-2021.cfg /home/fan_admin/printer_ender3s1pro_data/config` `nano /home/fan_admin/printer_ender3s1pro_data/config/printer-creality-ender3-s1-2021.cfg` `mv /home/fan_admin/printer_ender3s1pro_data/config/printer-creality-ender3-s1-2021.cfg /home/fan_admin/printer_ender3s1pro_data/config/printer.cfg` - Compiler et flasher le driver [https://www.klipper3d.org/Installation.html#building-and-flashing-the-micro-controller](https://www.klipper3d.org/Installation.html#building-and-flashing-the-micro-controller) - Intégration avec Octoprint (qui est déjà installé) [https://www.klipper3d.org/OctoPrint.html#configuring-octoprint-to-use-klipper](https://www.klipper3d.org/OctoPrint.html#configuring-octoprint-to-use-klipper) - Installation de l'interface Web Mainsail requiert d'abord d'installer Moonraker `kiauh/kiauh.sh`