ITA - OctoPrint: controllare alimentazione della stampante
November 2020 (281 Words, 2 Minutes)
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:
- accedere allinterfaccia di octoprint
- alimentare la stampante
- alimentare un faretto che illumina il piatto di stampa
- 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.
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.
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:
Riferimenti
- https://elinux.org/RPi_GPIO_Code_Samples#Shell
- https://www.thingiverse.com/thing:3372599
- https://archlinuxarm.org/platforms/armv6/raspberry-pi
- https://github.com/Salandora/OctoPrint-SystemCommandEditor
Quest'opera è distribuita con Licenza Creative Commons Attribuzione - Condividi allo stesso modo 4.0 Internazionale Theme Moonwalk