GESTIRE LA STAMPA 3D DA REMOTO

A volte quello che devo stampare può avere una durata molto breve (per esempio un Marvin benchmark) ma a volte, se la complessità è elevata, possono servire svariate ore. La domanda ricorrente è sempre la stessa: starà procedendo tutto per il meglio? Ci sarannno stati dei problemi? Per far questo la soluzione è OctoPrint.

CHE COS’È OCTOPRINT

Octoprint è un’interfaccia web che gira su una distribuzione derivata da raspbian, il tutto installato su una scheda Raspberry (dalla versione 3 in poi è meglio…). Permette di controllare da remoto via browser la stampante 3D e di modificare alcuni paramentri di stampa durante il funzionamento.
Altra caratteristica importante è la possibilità di avviare la stampa di programmi gcode (che verranno archiviati in una SD a bordo di raspberry) e la visualizzazione tramite webcam della stampante stessa (con possibilità di realizzare anche dei simpatici timelapse)

COSA OCCORRE

  • Scheda Raspberry (dalla 3B in poi)
  • MicroSD (ideale 16Gb)
  • Webcam (USB acquistata oppure versione per Raspberry
  • Alimentatore USB con cavo mini o micro USB a seconda della scheda Raspberry
  • Cavo USB-mini/microUSB a seconda della stampante
  • Dissipatori di calore (opzionali)
  • Ventola (opzionale)
  • Lampada (opzionale)

INSTALLAZIONE SOFTWARE

La prima cosa da fare è procurarsi OctoPrint dal sito ufficiale, successivamente un software per flashare sulla miscroSD OctopPi, ad esempio Balena Etcher scaricabile da qui.
Inserita la scheda SD nel PC, lanciare Etcher e seguire le istruzioni.
Completata l’installazione abbiamo 2 opportunità collegare la scheda Raspberry alla rete:

  • via LAN
  • via WiFi

In questo secondo caso occorre entrare nella scheda SD e cercare il file octopi-wpa-supplicant.txt e modificarlo come segue:

WPA/WPA2 secured
network={
ssid=”nome_rete_wifi_SSID
psk=”password_di_rete
}

Più in basso decommentare (ovvero togliere il carattere #)

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

Salvare ora il file, estrarre la scheda dal PC e inserirla nel Raspberry

Se hai deciso di utilizzare i dissipatori e la ventola, questi vanno posizionati in corrispondenza di CPU, memoria, chip USB e chip LAN. Il consiglio è quello di stampare anche questa struttura per poi posizionare la ventola di raffreddamento che andrà collegata ai pin 1 (+3,3V) e 6 (GND) oppure, se si necessita di maggiore potenza refrigerante ai pin 4 (+5V) e 6 (GND). Nel caso in cui abbiate scelto la camera Rasberry inserite il cavo piatto nel connettore “CAMERA” della scheda e chiudete il case stampato (ne trovate di ogni tipo su thingiverse)

Collega il cavo LAN (se necessario), collega il cavo USB alla stampante e al Raspberry, collegate il cavo piatto alla camera. Accendete la stampante prima di accendere il Raspberry!.

CONFIGURAZIONE DI RETE

Come sempre occorre fare qualche configurazione della rete perché tutto vada per il meglio ovvero impostare un indirizzo IP statico e aprire la porta http 80 per raggiungere da fuori la scheda. Nel mio caso ho un problema extra: sulla porta 80 si accede alche alla macchina virtuale Linux che ospita questo sito! Come fare allora?

Iniziamo ad accedere al router per vedere qual’è il MAC address della scheda e copiamolo.
Andiamo ad assegnargli un indirizzo IP statico in modo che, dovessimo scollegarlo dalla rete per qualche motivo (ad esempio un banale blackout elettrico oppure un riavvio del router), il Raspberry non cambierà indirizzo IP.

Fin qui tutto (abbastanza) semplice… ma resta da risolvere il problema della porta 80 che viene utilizzata sia dal sever per accedere a questo sito che dal Raspberry per utilizzare l’interfaccia web Octoprint. Per risolvere tutto ciò la scelta più ovvia è quella di lasciare al server l’utilizzo della porta 80 ed eseguire il port triggering ossia effettuare la chiamata verso il Raspberry da remoto utilizzando una porta diversa e “istruendo” il router a girarla all’indirizzo IP come se fosse stata fatta alla porta 80.

Ricordatevi di salvare le impostazioni!!

A questo punto non resta che digitare l’indirizzo ip nel browser e sarete proiettati nella pagina di setup del vostro octoprint.

Nota1: se avete usato il port triggering (ad esempio sulla porta 8888) ricordatevi di aggiungere alla fine dell’indirizzo ip (che ipotizziamo essere 192.168.0.100) la specifica della porta ossia [indirizzo_IP]:[porta] (Ad esempio 192.168.0.100:8888).

Nota2: la specifica della porta dovrà essere riportata nelle configurazioni di OctoPrint, ad esempio nelle impostazioni webcam altrimenti non visualizzerete nulla.