I professionisti della stampa 3D al tuo servizio

Come configurare Octoprint su RaspberryPi 3

octoprint-600x400
Una delle domande che maggiormente circolano sul web è : “ Ma come controllo la mia stampante 3D da remoto o addirittura via Internet?”. La risposta è molto semplice e si chiama Octoprint. In realtà esistono anche altre soluzioni e si chiamano Astroprint e Repetier Server, ma in questo articolo parleremo di come configurare questo semplice (ma vasto) applicativo nato per le distribuzioni linux (funziona anche su windows e mac ma in quel caso è consigliabile Repetier Server).

Octoprint è completamente OPENSOURCE e sviluppato da Gina Häußge e da tutta la community.  Valuta di supportare il progetto di Gina su Patreon

Le possibilità che offre questo “host” sono infinite, grazie anche ai numerosi Plugin sviluppati dalla community:

  • Accensione e spegnimento da remoto e in automatico a fine stampa
  • Controllo da remoto tramite webcam
  • Visualizzazione del progresso della stampa
  • Statistiche di stampa
  • Controllo tramite Telegram
  • Motore di slicing integrato (Cura)
  • Organizzazione e visualizzazione dei Gcode
  • Gestione delle code di stampa
  • Gestione di Print Farm

e molto altro!

Come funziona? Indipendentemente dal dispositivo o sistema operativo su cui lo installerete (poi vedremo quale), Octoprint  è raggiungibile tramite una pagina web via rete locale o addirittura (se esposta) anche tramite internet.

Da questa interfaccia ti sarà possibile fare tutte le operazioni descritte in precedenza. In sostanza, il dispositivo sul quale installeremo Octoprint , verrà fisicamente collegato alla stampante tramite cavo USB e questa sarà direttamente controllata dal dispositivo. Il nostro file Gcode non sarà più quindi letto dalla SD ma inviato direttamente tramite USB alla stampante; è la stessa identica situazione di avere un PC collegato con Repetier Host che controlla la stampante, solo che in questo caso si introduce un nuovo dispositivo molto più comodo, silenzioso, poco ingombrante ma sopratutto… parco nei consumi! Di chi stiamo parlando?

Del RaspberryPi3, piccola scheda dotata di:

  • Processore Quad Core 1.2GHz Broadcom BCM2837 64bit CPU
  • 1 Gb di Ram
  • 4 Porte USB
  • 1 Porta RJ45 – LAN
  • Wifi
  • Bluetooth BLE low energy
  • Ben 40 pin GPIO per poter leggere sensori o comandare altri dispositivi (un relè ad esempio)
  • Porta HDMI
  • Lettore Micro SD

E’ a tutti gli effetti un “micro-PC” sul quale possiamo decidere di far girare diversi sistemi operativi. NOTA BENE: la configurazione del sistema potrà essere fatta tranquillamente senza dover ricorrere a schermi esterni o tastiere USB (utilizzeremo SSH in caso). A questo punto si aprono due strade:

Possiedo già un Raspberry Pi con una distro Linux installata e voglio aggiungere Octoprint.

Questa lista di istruzioni proviene direttamente dal sito ufficiale:

  1. Installa Python 2.7 includendo anche pip e virtualenv.
  2. Per ottenere i sorgenti di Octoprint puoi :
    1. Clonare la  source repository: git clone https://github.com/foosel/OctoPrint.git
    2. Scaricare l’archivio dell’attuale versione STABILE da Github e poi scompattarlo.
  3. Crea un ambiente virtuale nella cartella sorgente: virtualenv venv
  4. Installa OctoPrint dentro questo ambiente virtuale: ./venv/bin/python setup.py install
  5. Per attivare Octoprint puoi utilizzare il comando ./venv/bin/octoprint oppure /path/to/OctoPrint/venv/bin/octoprint

Installazione da zero (consigliata per i meno esperti)

Questa è sicuramente la via che preferisco e che consiglio a tutti, alla fine è difficile che qualcuno utilizzi un RaspberryPi già per altre funzioni (io ho un serverino che mi gestisce la domotica…). Partiamo dunque da capire che cosa ci serve:

  • Raspberry Pi 3 B+ e relativo alimentatore, evitate il Pi ZERO oppure i vecchi RaspberryPi 2 (anche se funzionano comunque)
  • Scheda Micro SD da 16/32 GB
  • Lettore per schede MicroSD (nel caso il vostro PC/MAC non fosse provvisto)
  • Webcam Logitech C270 oppure Microsoft HD3000
  • Un cavo USB per collegare la vostra stampante (il tipo di cavo dipende dalla stampante che utilizzate, alcune hanno USB, altre Mini USB altre ancora Micro Usb)
  • Un Pc/Mac con qualsiasi sistema operativo
  • Un cavo Ethernet

Questo vale per la parte Hardware, per la parte software vi serve quanto segue:

  • Scarica l’immagine del sistema operativo Linux basato su RaspbianOctoPI (circa 500 MB)
  • Installa il software Etcher.io che ti permette di “flashare” l’immagine del sistema operativo su SD
  • Per modificare un file più avanti ti consiglio di usare questo editor chiamato Sublime Text . Utenti MAC: NON utilizzate il “Text editor” integrato… purtroppo salva in maniera differente le “virgolette” e poi impazzite a capire dove sta il problema!
  • Opzionale: SDCardFormatter un utilissimo tool per formattare correttamente la SD

Come installo il sistema operativo?

Prendi la MicroSD e inseriscila nel lettore. Nel dubbio formattala in FAT32 con SDCardFormatter. Ricordi poi Etcher? Bene, aprilo e seleziona l’immagine .ZIP che hai appena scaricato cliccando su SELECT IMAGE

Seleziona poi il drive di destinazione scegliendo la MicroSD che hai preparato prima (inserita e formattata) e poi clicca su FLASH. Ora non devi fare altro che attendere qualche minuto e NON TOCCARE nulla. Quando tutto il processo sarà terminato potresti ricevere degli errori da parte di Windows che la partizione della MicroSD è da formattare… NON FARLO, ignora il messaggio! Per proseguire espelli la MicroSD tramite apposito comando e POI toglila dal lettore. A questo punto hai già fatto il 70% del lavoro, proseguiamo con il resto.

Colleghiamo il Raspberry alla rete WIFI/Ethernet

Come ti ho detto prima, lascia la SD dentro al lettore sul computer perchè c’è da modificare un file all’interno. Se vuoi collegarla direttamente con il cavo al computer puoi tranquillamente passare al prossimo step; collegare tutto il sistema alla rete wifi è MOLTO comodo, ti permette di spostare la stampante in un qualsiasi punto del laboratorio/casa (purchè raggiunto dalla wifi) e controllarla da remoto senza dover essere necessariamente nella stessa stanza.

Entra nella MicroSD e apri con Sublime Text il file chiamato octopi-wpa-supplicant.txt . A questo punto dovrai ricordarti due cose: il nome della tua rete wifi (SSID) e la relativa password, fai attenzione che sono CASE SENSITIVE ovvero c’è differenza se metti maiuscole e minuscole. All’interno del file indicato cerca questa parte di codice:

## WPA/WPA2 secured
#network={
#  ssid=”nome-della-tua-wifi
#  psk=”password-della-tua-wifi
#}

e modifica SOLO la parte in grassetto all’interno delle “ “ virgolette, non cancellarle. Quello che invece devi rimuovere sono gli hashtag # prima di ogni riga. Perchè? Molto semplice, ogni riga con un # davanti ad essa non viene letta. In gergo si chiama commentare/decommentare una riga e serve per aggiungere “spiegazioni” al codice oppure escluderne parte di esso. In definitiva ciò che dovrai avere alla fine è questo:

## WPA/WPA2 secured
network={
 ssid=”nome-della-tua-wifi
 psk=”password-della-tua-wifi
}

Fai la stessa cosa indicando anche il vostro paese di provenienza. Se fai caso, di default, scorrendo il file in basso, è decommentata la riga relativa a “Unite Kingdom”; non fate altro che commentarla aggiungendo un # davanti.

# Uncomment the country your Pi is in to activate Wifi in RaspberryPi 3 B+ and above
# For full list see: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
#country=GB # United Kingdom
#country=CA # Canada
#country=DE # Germany
#country=FR # France
#country=US # United States

country=IT # Italy

la riga che dovrete inserire (se non presente nel file) decommentata sarà:

country=IT # Italy

tutte le altre dovranno risultare con # davanti. Fatto questo siamo pronti per accendere il nostro RaspberryPi !

  • Estrai la MicroSD dal PC
  • Inseriscila nell’apposito slot sul RaspberryPi
  • Se vuoi collegarlo al router tramite cavo Ethernet fallo ora (se l’hai configurata per il WIFI salta questo passaggio)
  • Collega la Webcam (se disponibile) ad una delle porte USB
  • Collega la stampante (puoi farlo anche dopo a sistema avviato)
  • Alimenta il dispositivo
  • Attendi qualche minuto per far si che si avvii tutto il sistema (noterai delle spie lampeggiare sul RaspberryPi)

Se hai seguito tutti i passaggi in maniera corretta e hai inserito l’eventuale SSID e Password del Wifi, potrai accedere all’interfaccia digitando dal tuo browser (Chrome, Firefox, Safari ecc ecc) il seguente indirizzo:

http://octopi.local

L’indirizzo qui sopra non funziona? Niente panico, ora ti insegno come cercare l’indirizzo IP che il tuo router ha assegnato al tuo Raspi. Scarica questo programma ANGRYIP ed effettua una scansione della tua rete, dovresti trovare immediatamente l’indirizzo IP. Prova ad inserirlo nella barra degli indirizzi e vedrai che tutto funzionerà!

Se sei collegato tramite wifi e continui a non collegarti o a non vederlo nella rete con AngryIP, potrebbero esserci questi due problemi:

  • La tua rete non prende in quel punto della casa/laboratorio
  • Hai inserito SSID e Password wifi errate

Per verificare il secondo caso devi prima spegnere il Raspberry e poi estrarre la MicroSD e andare a controllare cos’è stato scritto all’interno. Una volta corretto esegui i passaggi che già hai visto prima.

Molto bene! Ora dovresti trovarti questa bella schermata di fronte… se vuoi puoi proseguire in autonomia, la procedura è guidata e molto semplice. Oppure attendi la seconda parte della guida!

Buone stampe!

4 Commenti

  1. Giovanni 28 Gennaio 2019 Rispondi

    Ciao guida interessantissima! Fra quanto uscirà la seconda parte? Aspetto con molta ansia.

    • Author
      Help3d 28 Gennaio 2019 Rispondi

      A breve uscirà in anteprima per i nostri Patrons, poi dopo la pubblicheremo per tutti !

  2. Giuseppe Buonocore 30 Marzo 2019 Rispondi

    Ottima guida.
    Grazie.
    Tuttavia volevo sapere se fosse possibile installare un display 5″ e quindi, utilizzare octoprint-

    • Author
      Help3d 1 Aprile 2019 Rispondi

      Ciao Giuseppe. Puoi utilizzare gli schermi LCD che si collegano tramite cavo flat oppure direttamente tramite HDMI . Ciao

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

*