fbpx

Come configurare Octoprint su RaspberryPi 3B e 4B

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 (nel video parlo del Raspberry Pi4), 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 4 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!

32 commenti su “Come configurare Octoprint su RaspberryPi 3B e 4B”

  1. Giuseppe Buonocore

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

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

    1. Si è possibile ma non consigliato in quanto potrebbe richiedere troppo risorse. La seconda parte arriverà tramite video !

  2. buongiorno, ho configurato tutto come da guida e collegato il raspberry alla mia anycubic predator. quando lancio la stampa, una volta arrivati a temperatura ugello e bed, octopi mi scollega la stampante e mi da il seguente errore:
    Errore di comunicazione

    Si è verificato un errore di comunicazione con la stampante. Consulta l’output del terminale e octoprint.log per i dettagli Errore: Printer keeps requesting line 14 again and again, communication stuck.

    dove sbaglio?
    altra domanda, come posso utilizzare octoprint al di fuori della rete domestica (ad esempio per controllare lo stato della stampante se non sono in ufficio)??

    1. mmm difficile da rispondere, potrebbe essere un problema di comunicazione o di timeout. Prova ad aumentare il tempo di timeout di qualche secondo nei settings. Per vedere Octoprint fuori dalla tua rete non è complesso ma nemmeno fattibile da spiegare in un post… dovrei farci un video. Sono comunque disponibili diversi video in cui si spiega come rendere un device visibile fuori dalla rete , anche in italiano !

  3. quindi il problema potrebbe essere tipo che la predator inizia il conteggio del tempo di stampa da quando inizia a riscaldare piano e ugello?

  4. Saluti, io non riesco a collegare la mia sharebot NG con octoprint, ho l’errore : “Error: Failed to autodetect serial port, please set it manually.”

    Riescite a darmi un mano ?

    Grazie.

    1. Controlla quale porta COM viene vista dal raspberry. Inoltre può essere un problema della RUMBA (scheda di controllo) che molte volte entra in una modalità che non permette la connessione all’usb. Questa si chiama modalità DFU e per capire se è dentro a quella bisogna vedere se c’è un led lampeggiante sulla scheda e poi eventualmente seguire questa guida: https://reprap.org/wiki/RUMBA#USB_connection

  5. Grazie per la risposta, la cosa strana e che sono riuscito a controllare la sharebot solo una volta poi ho sempre quell’errore.

    Come faccio a controllare la porta usata dal Raspberry?

    Grazie.

  6. Angelo D'Onorio De Meo

    Ciao ho eseguito l’installazione ma con rasberry 4b
    Tutto a posto ma al momento della connessione non mi legge la porta c’è solo auto e di conseguenza non legge la stampante.
    Sai se qualcuno ha il mio stesso problema e come lo ha risolto?
    Grazie in anticipo
    sngelo

  7. Lorenzo Tomesani

    Complimenti per la guida dettagliata. In attesa di imparare come implementare Octoprint a Home assistant lo uso da solo.
    Buon lavoro e grazie
    Lorenzo

  8. Ciao, grazie per la tua utilissima spiegazione.
    Io posseggo un raspberry pi4b sul quale ho installato Openhab per la domotica e non mi dispiacerebbe inserirci anche octoprint senza dover acquistare altro raspberry e creare sistemi separati.
    Mi pare di avere capito che forse tu abbia adottato un sistema simile e la domanda che vorrei porti è: seguendo le istruzioni per l’installazione manuale, server domotica e octoprint funzioneranno contemporaneamente o dovrò scegliere ogni volta quale utilizzare?
    Ti ringrazio molto.

    Fabio

Lascia un commento

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