Home

ITA - OctoPrint: controllare alimentazione della stampante

linux archlinux 3d-models smarthome

Introduzione

Lo step successivo all’installazione di octprint è quello di configurare il software in modo che sia possibile accendere la stampante e una luce direttamente dall’interfaccia web del software, in questa maniera sarà possibile effettuare le seguenti operazioni:

  1. accedere allinterfaccia di octoprint
  2. alimentare la stampante
  3. alimentare un faretto che illumina il piatto di stampa
  4. avviare la stampa

Inoltre è possibile far si che al terine della stampa l’alimentazione della stampante sia rimossa in automatico.

Questo obbiettivo sarà raggiunto usando le uscite GPIO del raspberry che esegue octoprint e alcuni relays che devono essere collegati tra i device e le loro alimentazioni.

Intallazione e Configurazione

Questo articolo è riportato solo a scopo illustrativo, ed è distribuito
SENZA NESSUNA GARANZIA, senza nemmeno la garanzia implicita di
COMMERCIABILITÀ o IDONEITÀ PER UNO SCOPO PARTICOLARE.
L’autore declina ogni responsabilità per danni derivanti da quanto di seguito riportato

Circuiti Elettrrici

Ecco lo schema di come andare a collegare i vari componenti.

printer_scrath_schem

Intallazione del software per GPIO

Per accedere poter utilizzare gli io ho installato:

yay aur/python-raspberry-gpio # suggerito dalla guida di archarm
yay alarm/wiringpi # ncessario per poter pilotare i pin da bash

Installazione dei plugin su Octoptrint

Il plugin necessario alla scopo è : System Command Editor; è presente nell’elenco dei plugin ufficiali, quindi suggerisco di installarlo direttamente dal plugin manager di octoprint.
octoprint_plugin_manager

Creazione degli script di gestione

Durante questo step ho creato i due script che andranno a controllare i pin collegati ai relay.

lo script per controllare la luce è:

::::::::::::::
/opt/3dprintcrlt/lightctl.sh
::::::::::::::
#!/bin/bash

MODE=$1
PIN=23

gpio mode $PIN out

if [[$MODE == on]]; then
        gpio write $PIN 1
elif [[$MODE == off]]; then
        gpio write $PIN 0
else 
        echo -e "usage:\n$1 [on | off]"
fi

exit 0

lo script per controllare l’alimentazione della stampante è:

::::::::::::::
/opt/3dprintcrlt/printerctl.sh
::::::::::::::
#!/bin/bash

MODE=$1
PIN=24

gpio mode $PIN out

if [[$MODE == on]]; then
        gpio write $PIN 1
elif [[$MODE == off]]; then
        gpio write $PIN 0
else 
        echo -e "usage:\n$1 [on | off]"
fi

exit 0

Configurazione di Octoprint

Consiglio di eidtare direttamente il file di conf:

::::::::::::::
/home/octo/.octoprint/config.yaml
::::::::::::::
.
.
.
system:
    actions:
    - action: printeron
        command: /opt/3dprintcrlt/printerctl.sh on
        name: PrinterOn
    - action: printeroff
        command: /opt/3dprintcrlt/printerctl.sh off
        name: PrinterOff
    - action: lightoff
        command: /opt/3dprintcrlt/lightctl.sh off
        name: LightOff
    - action: lighton
        command: /opt/3dprintcrlt/lightctl.sh on
        name: LightOn
.
.
.

L’effeto di questo sarà la comparsa di nuove voci nel menù delle azioni:

octoprint_new_cmd

Riferimenti