Stampa 3D via WiFi: Installare OctoPrint

OctoPrint è un software simile ai noti Pronterface, Cura o Repetier-Host, nel senso che permette di inviare comandi alla stampante e di avviare stampe. La differenza sta nell’interfaccia grafica che, anzichè essere eseguita in una normale finestra, essa è costruita come una applicazione web, accessibile via browser. Il vantaggio è che è possibile accedervi da più dispositivi, smartphone compresi e senza fili.

Installazione base

Inserire in successione i seguenti comandi, con la premura di sostituire, come al solito nomeutente con il nome utente creato in precedenza:

cd ~
sudo apt-get install python-pip python-dev python-setuptools python-virtualenv git libyaml-dev build-essential
sudo pip install --upgrade virtualenv
git clone https://github.com/foosel/OctoPrint.git
cd OctoPrint
virtualenv venv
./venv/bin/pip install pip --upgrade
./venv/bin/python setup.py install
mkdir ~/.octoprint
sudo adduser nomeutente tty
sudo adduser nomeutente dialout
sudo nano /etc/systemd/system/octoprint.service

Inserire le seguenti righe, salvare (Ctrl+O) ed uscire (Ctrl+X)

[Unit]
Description=OctoPrint
Documentation=http://octoprint.org/
After=network.target

[Service]
User=nomeutente
WorkingDirectory=/home/nomeutente
PIDFile=/tmp/octoprint.pid
ExecStart=/home/nomeutente/OctoPrint/venv/bin/octoprint
Restart=on-failure
StartLimitInterval=60

[Install]
WantedBy=multi-user.target

Ora possiamo avviare OctoPrint con il comando

sudo systemctl start octoprint

È possibile sostituire start con restart o stop, per riavviare o fermarre il server OctoPrint. Con enable OctoPrint verrà lanciato automaticamente all’avvio.

Interfaccia web di OctoPrint

Ora apriamo il nostro browser e all’indirizzo http://192.168.1.x:5000 dovremmo accedere ad OctoPrint. Ovviamente occorre sostituire 192.168.1.x con l’indirizzo della nostro Raspberry/Orange/Banana Pi.

Plugin

OctoPrint è estensibile tramite plugin. Per installare un nuovo plugin basta recarsi in “Impostazioni > Plugin Manager > Get More”. Dopo l’installazione, per abilitare un plugin disabilitato, basta cliccare sul cerchietto bianco, in modo che diventi nero. Infine occorre riavviare OctoPrint con il comando:

sudo systemctl restart octoprint

Assicurarsi, dunque, che i seguenti plugin siano installati ed abilitati:

  • CuraEngine: esegue lo slicing direttamente in OctoPrint (ne parlerò in un articolo futuro);
  • Custom Control Editor: permette di aggiungere comandi personalizzati alla sezione “Control”;
  • PortLister: migliora il rilevamento della stampante;
  • System Command Editor: permette di aggiungere voci al menù “System”;
  • TouchUI: sostituisce l’interfaccia di OctoPrint con una ottimizzata per smartphone e tablet. In ogni momento è possibile passare da un’interfaccia all’altra.

Comandi

Potrebbe risultare comodo poter spegnere e riavviare il mini computer e OctoPrint direttamente dall’interfaccia web. Per farlo diamo il seguente comando:

nano ~/.octoprint/octoprint_system.sh

Inserire le seguenti righe, salvare (Ctrl+O) ed uscire (Ctrl+X)

#!/bin/bash

case "$1" in
    restart)
        systemctl restart octoprint
        ;;
    reboot)
        systemctl reboot
        ;;
    shutdown)
        systemctl poweroff
        ;;
esac

Quindi dare il comando

sudo sh -c 'echo "heron ALL=NOPASSWD: /home/heron/.octoprint/octoprint_system.sh" >> /etc/sudoers.d/octoprint-sudo'

Infine recarsi in “Impostazioni > System Command Editor”, fare click destro sul rettangolo verde e cliccare su “Create command” per aggiungere una voce al menu “System”.

Creare dunque le seguenti voci:

  • Riavviare OctoPrint

    Name: Restart
    Action: restart
    command: sudo /home/heron/.octoprint/octoprint_system.sh restart
    Use Confirmation: [ ]
    
  • Riavviare il mini computer

    Name: Reboot
    Action: reboot
    command: sudo /home/heron/.octoprint/octoprint_system.sh reboot
    Use Confirmation: [x]
    Message: You are about to reboot the system
    
  • Spegnere il mini computer

    Name: Shutdown
    Action: shutdown
    command:sudo /home/heron/.octoprint/octoprint_system.sh shutdown
    Use Confirmation: [x]
    Message: You are about to shutdown the system.
    

Menu "System"

Configurare la Stampante

Recarsi in “Impostazioni > Printer Profile” ed impostare la scheda in base alle caratteristiche della propria stampante. In “Impostazioni > Temperatures” è possibile regolare la temperatura di stampa di estrusore e piatto.

Se la stampante è collegata, dovrebbe essere possibile connettersi ad essa. Selezionare il giusto baudrate dovrebbe accorciare i tempi di connessione.

PSU

Se la propria stampante supporta l’accensione e lo spegnimento dell’alimentatore potrebbe risultare utile impostare dei comandi personalizzati nel modo seguente. Recarsi in “Impostazioni > Custom Control editor”, fare click destro sul rettangolo verde e cliccare su “Create Container” per creare una sezione, ad esempio:

Name: Custom
Layout: Vertical
Make Collapsed: [ ]

Quindi fare click destro sulla sezione appena creata e cliccare su “Create command” per aggiungere i seguenti comandi:

  • Accendere alimentatore

    Name: Power On
    Commands: M80
    Use Confirmation: [ ]
    Use Inputs: [ ]
    Use Outputs: [ ]
    
  • Spegnere alimentatore

    Name: Power Off
    Commands: M81
    Use Confirmation: [ ]
    Use Inputs: [ ]
    Use Outputs: [ ]
    

Comandi personalizzati

Testing

È il momento di testare il tutto, “giocando” con le schede “Control” e “Terminal”.

Nel prossimi articoli si parlerà di slicing e webcam.

Articoli della serie Stampa 3D via WiFi:

Commenti