Stampa 3D via WiFi: Configurare Raspberry (e similari)

In questa serie di articoli descriverò come installare e configurare tutto il software per il controllo e la gestione remota di una stampante 3D.

Per farlo è necessario un mini computer, come il Raspberry Pi o uno dei suoi tanti “cloni”.

Per gestione remota della stampante intendo:

  • inviare comandi GCODE;
  • effettuare lo slicing dei modelli;
  • avviare stampe;
  • monitorare la stampa attraverso una webcam;
  • installare e aggiornare il firmware della stampante;

il tutto tramite una connessione WiFi.

Qualcosa di simile è possibile ottenerlo se l’elettronica della Stampante 3D supporta la stampa da scheda SD, display LCD e connessione Bluetooth.

In tal caso mancherebbe la webcam, che ritengo particolarmente importante. Sebbene sia fortemente consigliato assistere di persona alle stampe (per intervenire tempestivamente in caso di fallimenti e possibili principi di incendio), non sempre è possibile farlo e la rumorosità e la lentezza di certo non aiutano. La webcam è un buon compromesso.

Premesse

La mia configurazione

Di recente ho messo le mani su un Orange Pi One da €9 (esclusi la micro SD e l’alimentatore). Si tratta di un mini computer con un SoC ARM particolarmente potente, sopratutto rispetto a prezzo e dimensioni. Il rovescio della medaglia è la mancanza di documentazione e lo scarso supporto. Viste le ridotte dimensioni si è rivelato indicato per controllare la mia Stampacose.

Come sistema operativo ho scelto Armbian. Ho utilizzato una vecchia webcam Logitech, un hub USB 2.0 e una chiavetta EDUP EP-N8508GS da €4.

Stampacose è una stampante cartesiana controllata da una Gen7 1.5 (con un ATmega1280 a 20MHz). Il firmware è Marlin.

Il mio hardware

Compatibilità

  • la stampante 3D deve essere Arduino/RepRap compatibile;
  • la guida prenderà come riferimento l’Orange Pi One con Armbian, ma dovrebbe essere valida per ogni mini computer ARM su cui sia eseguito Debian o Ubuntu (Raspberry + Raspbian incluso);
  • il mini computer essere adeguatamente potente da poter registrare da webcam e contemporaneamente scambiare codice con la stampante (il Raspberry Pi Zero e i modelli antecedenti al Raspberry Pi 2 sono sconsigliati);
  • la webcam deve essere pienamente compatibile con linux. In particolare deve essere in grado di registrare in modalità YUV, altrimenti rallenterebbe (e di molto) il mini computer.

Configurazione iniziale

Per prima cosa occorre scaricare l’immagine del sistema operativo scelto nella versione per il modello di mini computer in possesso. Per il Raspberry è disponibile Raspbian, per le altre consiglio l’ottimo Armbian. Le versioni “lite” o “server” sono più indicate.

Il secondo passo è decomprimere (con 7zip?) e scrivere l’immagine su SD con applicazioni come Win32DiskImager.

Personalmente utilizzo il comando “Ripristina immagine disco…” dell’utility grafica GNOME Disk, spesso preinstallata sui sistemi Linux.

Scrivere sulla SD con GNOME Disk

Quanto alla scelta del modello di SD, i benchmark suggeriscono che le Samsung EVO ed EVO+ da almeno 32 GB sono quelle più adatte ai mini computer.

La configurazione iniziale vera e propria inizia dopo aver collegato la board al proprio modem/router attraverso un cavo ethernet. A questo punto dopo aver individuato l’indirizzo IP locale del dispositivi (dalla pagina di configurazione del router, con nmap o, su Android, con Port Autority), avviare la connessione SSH con un programma come Putty.

In Linux uso dò semplicemente il seguente comando in un terminale:

ssh utente@192.168.x.x

Ovviamente al posto di 192.168.x.x inserire l’indirizzo IP e al posto di utente il nome utente di default. Gli utente/password di default sono root/1234 su Armbian e pi/raspberry su Rasbian.

È consigliato disabilitare questi utenti dopo aver creato un nuovo utente con il comando

adduser nomeutente

da root, oppure

sudo adduser nomeutente

Sostituire nomeutente con un nome utente a propria scelta. Installare sudo se non già presente

apt-get install sudo
adduser nomeutente sudo

E riloggarsi con le nuove credenziali:

ssh nomeutente@192.168.x.x

Per disabilitare l’account root, dare

sudo passwd -l root

Per rimuovere l’utente non root di default (ad esempio pi), digitare

sudo userdel -r pi

Per impostare, rispettivamente, la lingua (it_IT.UTF-8), la tastiera (it) e il fuso orario (Europe/Rome) italiani, dare

sudo dpkg-reconfigure locales
sudo localectl set-locale LANG=it_IT.UTF-8
sudo localectl set-keymap it
sudo dpkg-reconfigure tzdata

Rete

A questo punto collegare una chiavetta WiFi e installare Network Manager per garantirci una connessione stabile e di facile configurazione:

sudo apt-get install network-manager
sudo sh -c 'echo "auto lo" > /etc/network/interfaces'
sudo sh -c 'echo "iface lo inet loopback" >> /etc/network/interfaces'
sudo systemctl enable NetworkManager
sudo systemctl start NetworkManager
sudo nmtui

Da questa interfaccia attivare la connessione alla propria rete WiFi e modificarla per ottenere un IP statico, per non dover più cercare l’indirizzo IP.

Modificare una connessione con <code>nmtui</code>

Riavviare e rimuovere il cavo ethernet:

sudo reboot

Driver

Con alcune chiavette WiFi, prima di installare Network Manager, è necessario installare o configurare il relativo driver. La procedura dipende dalla chiavetta da installare

Riporto le operazioni da me effettuate per installare su Armbian la EDUP EP-N8508GS, che monta chipset RTL8188:

sudo apt-get install dkms
git clone https://github.com/pvaret/rtl8192cu-fixes.git
sudo dkms add ./rtl8192cu-fixes
sudo dkms install 8192cu/1.10
sudo cp ./rtl8192cu-fixes/blacklist-native-rtl8192.conf /etc/modprobe.d/
sudo reboot

Questa operazione è necessaria solo con vecchi kernel Linux (non su Raspbian). Tuttavia chiunque usi una chiavetta simile alla mia può migliorare la stabilità della connessione con il seguente comando:

sudo sh -c 'echo "options 8192cu rtw_power_mgnt=0 rtw_enusbss=0" > /etc/modprobe.d/8192cu-disable-power-management.conf'

Fine prima parte

Ora che l’hardware è stato configurato, è possibile passare al software. Rimando la trattazione dell’argomento al prossimo articolo.

Articoli della serie Stampa 3D via WiFi:

Commenti