Monitoraggio remoto e Video Time-Lapse stampe 3D con la BeagleCam

Lavorando con la stampa 3D, sia in ambito professionale che amatoriale, spesso ci siamo ritrovati nella situazione di voler in qualche modo monitorare la stampa 3D da remoto quando non eravamo in casa: sia per controllare ogni tanto, per una questione di curiosità, sia per aver desiderato la possibilità di fermare in qualche modo la stampa nel momento in cui, tornando a casa, ci siamo accorti che era successo un disastro (Spaghetti Monster in primis). In ultima istanza, soprattutto per chi con la stampa 3D ci lavora e ha un profilo social, avere a disposizione un sistema che, oltre a fare monitoraggio/controllo, faccia anche video timelapse della stampa 3D, torna molto utile per mostrare i propri lavori con un bel video cinematico. Ecco, la BeagleCam di Mintion soddisfa tutti questi requisiti, in maniera economica e con sbattimenti pari a zero.

Sponsor

la BeagleCam, oggetto di questo articolo, mi è stata gentilmente offerta da Mintion. Le opinioni qui riportate sono del tutto personali e non influenzate in alcun modo dal fornitore del prodotto.

Mintion Logo

La BeagleCam

Il perchè questo dispositivo si chiami BeagleCam è palese: esteticamente ricorda un cagnolino, precisamente è stato scelto il Beagle perchè è tipicamente un cane da caccia, dedito al lavoro, molto attento e ottimo cane da guardia, quindi proprio come un cane da guardia è li a controllare la nostra stampante 3D mentre fa il suo lavoro e pronto ad agire a comando.

Si tratta di un dispositivo a mio avviso geniale: ha una telecamera con risoluzione fino a 1080p, dotata anche di visione notturna, un modulo WiFi ed un microcontrollore. Oltre a poter monitorare la stampa 3D con la telecamera (e quindi trasmettere il video in remoto, tramite app su cellulare e pagina web locale) e fare registrazioni, può anche controllare la stampante tramite collegamento seriale sfruttando la porta USB, purchè utilizzi il flavor Marlin (praticamente la stragrande maggioranza).

Non si tratta solo di fermare la stampa o fare operazioni di base: tramite le interfacce via rete è possibile caricare il file da stampare anche da remoto: è la telecamera ad inviare il g-code alla stampante riga per riga consentendoci di avere un controllo totale sulla stampa.

Sfruttando questa feature (invio g-code da telecamera a stampante) ecco che questo dispositivo riesce a fare dei video time-lapse puliti (clean time-lapse) nel senso che verrà fuori un timelapse in cui vedremo l’hot-end sempre nella posizione di riposo e che si sposta solo verso l’alto mentre il pezzo viene costruito. Questo è possibile proprio perchè la telecamera, ad ogni fine layer, invia dei comandi (personalizzabili) per fare in modo da togliere di mezzo l’hotend per scattare una foto perfetta al pezzo in costruzione senza nulla davanti, per poi riprendere. Approfondiremo dopo questa funzionalità.

Chiaramente non tutte le stampanti sono compatibili con questa funzione dal momento che, anche se il Marlin è uno standard, non tutte le stampanti richiedono alcuni comandi allo stesso modo, ma fatto sta che, ad esempio, sono riuscito ad utilizzarla anche sulla mia Voxelab Aquila S2 N32 nonostante, al tempo della prova, non fosse nell’elenco delle stampanti dichiarate compatibili.

Un elenco delle stampanti compatibili è presente in questa pagina, al paragrafo Compatibilty. Ad ogni modo il team della Mintion è continuamente a lavoro e molto attento alle richieste, per cui escono aggiornamenti del firmware molto spesso, che si possono controllare dalla stessa app.

Installazione

La messa in funzione di questa telecamera è forse una delle cose più immediate che mi porta a preferirla e consigliarla rispetto ad un sistema simile come quello di Octoprint che richiede una Raspberry Pi con telecamera e un po’ di tempo nella configurazione, risultando quindi decisamente un sistema più dispendioso.

Per prima cosa scarichiamo l’app della BeagleCam inquadrando il qr-code sul manualetto oppure andiamo in questa pagina dove, oltre al link dell’ultimo firmware per la camera (che non è necessario scaricare in quanto l’aggiornamento può essere fatto successivamente dalla app stessa), ci sono i link per scaricare l’app per cellulare dall’apple store e da Google Play più il collegamento diretto all’apk per android.

Installiamo quindi l’app: si presenta la prima schermata in cui ci viene chiesto di creare un account:

Dobbiamo in pratica scegliere un nome utente, la nazionalità ed un indirizzo di email. Clicchiamo su Get Code e aspettiamo ci venga inviato un codice numerico sull’indirizzo email specificato. A quel punto inseriamo il codice numerico nel campo #code, inseriamo una password e infine Create Account.

Successivamente compare un pulsante Add Device: clicchiamolo.

Ci viene chiesto come eseguire la configurazione della BeagleCam, la cosa più semplice è quella di far scansionare un qr-code, generato dall’app, alla telecamera (è lo stesso sistema che utilizzano molte videocamere di sorveglianza):

Clicchiamo pertanto su QR Scan Configuration (Recommend). Un’immagine ci invita a collegare la telecamera all’alimentazione.

Nella confezione della Beaglecam troveremo, tra gli altri, un cavo USB-C: questo è utilizzato per dare alimentazione alla camera, mentre il cavo con il connettore micro-USB è per il collegamento alla stampante. Ora non tutte le stampanti hanno il connettore micro-USB, molte hanno invece l’USB tipo B, come quello utilizzato sulle stampanti per carta (specifico dato che stiamo parlando di stampanti… a plastica!). Quando acquistate la telecamera troverete da parte anche ques’altro tipo di cavo:

Contenuto della confezione: nella scatola della Beaglecam erano presenti la scheda micro-sd da 32GB, l’alimentatore, il cavo USB C (utilizzato per l’alimentazione), il cavo micro-usb, il manualetto e la chiavetta per premere il pulsante di reset. In una scatolina a parte c’era il cavo USB-B

Colleghiamo il cavo USB-C all’alimentatore e quindi alla telecamera. La telecamera si accende e sul retro vediamo accendersi il led verde fisso che dopo qualche istante comincia a lampeggiare. Attendiamo un po’ fino a che non sentiamo  la telecamera “parlare” dicendo camera is ready for wifi connection.

Sull’app vediamo che è già flaggato Yes, I heard the voice (“si, ho sentito la voce”), premiamo quindi il tasto Next. A questo punto l’app è pronta per generare il qr-code da far leggere alla telecamera, per cui vi chiede quale rete Wi-Fi scegliere (sono ammesse solo le reti a 2.4Ghz) e la relativa password:

Si presenterà il pop-up di android che vi chiede l’autorizzazione ad accedere alla posizione: personalmente scelgo sempre “solo quando usi l’app”. Premiamo quindi il tasto Next. Viene generato un qr-code: mettere lo schermo del cellulare davanti alla telecamera ad una distanza di circa 20cm per farglielo leggere. Ad un certo punto si sentirà parlare di nuovo la telecamera per segnalare di aver letto il qr-code, dopodichè proverà a connettersi e infine dirà di essersi connessa (successfully connected to the wifi).

Questo ammesso che abbiate digitato correttamente la password!

Si presenta quindi la schermata di accesso alla telecamera, con un’immagine standard (successivamente, quasi ogni volta che accediamo, questa immagine standard sarà sostituita con l’ultimo fotogramma visto dalla telecamera, come succede su alcune app di videosorveglianza) e la scritta verde che da connecting passa ad ONLINE in alto a sinistra.

Prima di collegare la stampante, meglio eseguire l’aggiornamento del firmware della telecamera: clicchiamo sull’immagine che dicevo prima, si apre la schermata di controllo della stampante 3D con l’inquadratura attuale, premiamo l’ingranaggio in alto a destra dell’immagine e dal menù che si presenta, clicchiamo su Firmware Upgrade. 

L’ultima revisione nel momento in cui scrivo è la 1.1.5, se non ci sono aggiornamenti, semplicemente esce scritto The firmware is the latest now (attualmente il firmware è l’ultimo). Torniamo quindi indietro al menù di configurazione: in Camera Information è possibile leggere l’indirizzo IP attuale della telecamera: questo è molto utile!

Perchè dico che è utile? Perchè io preferisco utilizzare la Beaglecam dal mio pc in quanto è più rapido eseguire dallo stesso pc lo slicing del file STL e quindi inviarlo alla stampante… Per cui mi basta semplicemente digitare quell’indirizzo IP nel browser per accedere all’interfaccia web di controllo della stampante che è del tutto simile a quella dell’app.

Per maggiore comodità faccio in modo da avere l’IP della telecamera sempre fisso: per questo motivo mi appunto anche il MAC Address e definisco la regola nelle impostazioni del router per assegnare a QUEL MAC Address sempre lo stesso indirizzo IP.

A questo punto, tenendo la stampante ancora spenta, colleghiamo uno dei due cavi (il micro o l’USB A) alla porta USB della nostra stampante e quindi alla porta USB posteriore della telecamera, accendiamo quindi la stampante.

Fate questa operazione a stampante spenta, o quanto meno accendete sempre prima la telecamera e poi la stampante: a me capita che la Fokoos a volte si blocca se collego l’USB con la stampante accesa.

Tornare quindi alla schermata principale, quella con l’inquadratura della telecamera, e premere il tasto Connect : a questo punto la telecamera è connessa alla stampante e dal menù in basso è possibile impartire i comandi. La prima cosa da fare è selezionare la stampante utilizzata dal menù in basso a destra con i 3 ingranaggi:

Cliccando sulla matita affianco a Printer Name date un nome vostro alla stampante: è utile solo quando avete parecchie BeagleCam per distinguere nel menù iniziale a quale stampante sono collegate. In Printer Brand scegliete il marchio della vostra stampante e successivamente in Printer Model selezionate il modello. Gli altri parametri vengono caricati di default e come regola non vanno cambiati a meno che non abbiate fatto delle modifiche alla stampante.

Le altre icone, a partire da sinistra servono a:

  • (immagine del tachimetro):  visualizzare lo stato attuale di stampa, è la schermata che si presenta sempre all’inizio. 
  • (termometro): mostra un grafico con l’andamento delle temperature hotend/piatto. Molto utile anche per verificare sbalzi di temperatura e farci quindi fare un po’ di manutenzione magari rieseguendo la taratura del PID.
  • (frecce in croce): servono a muovere l’hotend/il piatto, disabilitare gli stepper e la ventola e caricare/scaricare il filamento
  • (fogli): visualizza l’elenco dei g-code sulla sd-card della telecamera e consente di eseguire l’upload (sempre sulla sd-card della telecamera!) di altri files
  • (foglio con telecamera): visualizza l’elenco dei video registrati e permette di scaricarli sul cellulare

Configurazione

Come avete visto la configurazione iniziale è molto semplice: una volta montata la telecamera e configurata per il wifi (operazione a cui siete già abituati se avete installato qualche volta delle videocamere di sorveglianza) c’è poco altro da fare… Anzi proprio niente se ci stanno bene le opzioni di default, che sono quelle maggiormente utilizzate. Ad ogni modo c’è la possibilità di personalizzare il video in qualche modo.

Dal menu ingranaggio sull’immagine ripresa possiamo innanzitutto scegliere se la telecamera deve cominciare a registrare non appena viene accesa: questo si imposta dal menù Normal Record Setting. Personalmente lascio questa opzione disabilitata: se volete riprendere voi stessi che armeggiate prima che inizi la stampa, allora potete abilitarla. In questo menù è possibile scegliere se registrare anche l’audio.

Non ho provato questa funzionalità, ma suppongo che l’audio venga registrato solo al di fuori del time-lapse, ovvero prima che inizi la stampa, dato che durante la stampa non avrebbe senso proprio perchè è una sequenza di foto.

In Timelapse Setting è possibile scegliere la tipologia di video che deve essere registrata durante la stampa: Normal Time-lapse video, Clean Time-lapse video oppure OFF (non viene registrato nessun video, si utilizza la telecamera solo per sorveglianza remota).

La differenza tra le due tipologie di video è importantissima: con il Timelapse Normale la telecamera scatta una foto ad ogni inizio layer e basta: il risultato sarà un video in cui vediamo il pezzo prendere forma e piatto e testina di stampa muoversi all’impazzata proprio perchè quando la telecamera scatterà la foto, l’hot-end e il piatto potranno trovarsi in una posizione qualsiasi. Questa modalità di video non influenza la stampa in alcun modo: non produce artefatti e non altera il tempo di stampa.

Il Timelapse Pulito (clean) produce un video sicuramente più interessante e ve l’ho già accennato più in alto: ad ogni layer la testina di stampa viene spostata in un punto predefinito (normalmente l’angolo in alto a sinistra del piatto) e spostata leggermente verso l’alto per consentire alla telecamera di scattare una foto senza avere la testina di stampa tra i piedi. Il risultato è un video del genere (iscrivetevi al mio canale youtube, anche se non faccio video fighi ma pubblico solo cose così):

Come vedete il pezzo prende forma, il piatto appare fermo e l’hotend è sempre nella stessa posizione X-Y e si muove solo verso l’alto. Questa modalità è sicuramente più bella ma ha due problemi:

  • Aumenta il tempo di stampa proprio perchè la telecamera ad ogni layer invia il comando per spostare piatto e testina, scatta la foto e poi fa riprendere la stampa.
  • C’è la possibilità che vengano creati degli artefatti proprio perchè nel punto di stop e ripresa si può depositare del materiale in più causato dal fatto che comunque un po’ di filamento dall’ugello cola sempre.

Questi problemi li avrete comunque con qualsiasi sistema fatto per fare queste cose, ovvero NON è un problema della telecamera.

Se per il primo punto non è possibile fare niente, per il secondo le soluzioni ci sono (così come per eventuali altri problemi) e Mintion ha fatto un lavoro egregio elencando in questa pagina tutti i problemi con le soluzioni.

Sempre dal menù timelapse settings è possibile modificare il codec utilizzato per la compressione del video e gli FPS (ma io consiglio di non muovere queste impostazioni). C’è poi un intervallo minimo (default 5 secondi) dopo il quale la telecamera scatterà la foto: in pratica se non sono passati almeno quei secondi dall’ultima foto, la telecamera non ne fa un’altra, questo è importante soprattutto nelle modalità di stampa vaso (Spiralize Out Contour in Cura slicer) in cui un perimetro viene stampato in pochi secondi e si rischia di alterare parecchio la qualità di stampa con la modalità clean.

Con la modalità Clean invece ci sono parecchie altre impostazioni: X e Y Coordinate indicano appunto la posizione X-Y in cui si deve spostare la testina di stampa. Tenete conto che una posizione X=0 e Y=0 corrisponde in genere all’angolo in basso a sinistra tenendo la stampante di fronte e di default è impostato un valore di Y prossimo alla dimensione del piatto per fare in modo che la testina appaia dietro al pezzo. Z lift distance invece indica di quanti mm si deve alzare la testina prima di fare la foto. Tutti gli altri parametri a questo punto dovrebbero essere abbastanza semplici da comprendere dato che quando impostiamo il pezzo da stampare sul nostro slicer, qualsiasi esso sia, sono termini che già dovremmo conoscere: sono tutte impostazioni che verrano in pratica utilizzate soltanto nel lasso di tempo da quando la testina si sposta per consentire di fare la foto fino al momento in cui riprende la stampa, ed è appunto cambiando queste impostazioni che è possibile ridurre o annullare gli artefatti di stampa causati dal timelapse pulito.

Altra impostazione interessante è Camera Night Version in cui ci sono due impostazioni che si escludono a vicenda: in pratica selezionando Color Night Version la telecamera non accenderà gli infrarossi se è buio (quindi non si vedrà quasi un tubo). Questo è probabilmente per ricordare il fatto che se è buio e la telecamera accende gli infrarossi, il video verrà fuori in bianco e nero. Per me era una cosa ovvia e inutile da specificare ma per mettere questa cosa probabilmente per molti non è ovvio.

Come posizionare la telecamera

Partiamo col dire che per fare un video ben messo a fuoco è necessario avere un’ottima illuminazione della stanza e dovete fare in modo da tenere l’obiettivo ad una distanza di circa 20cm dal centro del piatto, con il piatto tutto spostato verso di voi: questo perchè questa è la distanza focale dell’obiettivo utilizzato, ovvero ha un fuoco fisso (e ci mancherebbe, provate solo a vedere la differenza di prezzo tra webcam normali e webcam a fuoco variabile), d’altronde anche la stragrande maggioranza delle telecamere di sorveglianza funziona così.

Ma con tutto quello che uno può scrivere, imparerete qual’è il posizionamento migliore solo dopo aver fatto delle prove, anche perchè tutto dipende molto dalla quantità di luce che avete nella stanza e dal pezzo, che magari potrebbe svilupparsi non a partire dal centro del piatto. Ricordatevi solo dei 20 cm circa e di buona luce, poi il resto viene con l’esperienza.

Una considerazione a parte merita il come posizionare la telecamera, ma questo dipende solo da come è strutturato l’ambiente in cui avete la stampante. Personalmente, dato che ho alcuni bracci fotografici snodabili e cavalletti, mi sono disegnato un accessorio da collegare sotto alla telecamera e che consente di avvitarla su un supporto fotografico standard avente la classica vite UNC 1/4″:

Potete scaricarlo gratuitamente qui: https://cults3d.com/en/3d-model/tool/mintion-beaglecam-photographic-support

Approfittatene anche per mettere un like e follow su Cults3D !

Altrimenti su Thingiverse ci sono tante altre soluzioni. Altra soluzione efficace è quella di modificare qualche supporto che già avete mettendoci due viti a testa svasata che possono entrare nei due fori sotto alla telecamera. Ad ogni modo, mesi dopo la pubblicazione di questo articolo, è stata rilasciata la versione 2 di questa telecamera, che è già dotata di attacco a vite e cavalletto (ovviamente costa di più).

Considerazioni finali

L’oggetto è molto valido e funziona davvero benissimo e senza intoppi. A me torna utile dato che con la stampante 3D ci gioco parecchio anche se non la uso per lavoro: mi piace realizzare le mie cose, i miei dispositivi, i miei robot, ma anche piccole decorazioni o stampare  cose già fatte per me o per gli amici, soprattutto nel periodo di Natale.

Per questo motivo tempo fa, come dicevo anche sul canale telegram, misi un UPS abbastanza capace (questo qui da 1500VA) per le mie stampanti 3D dato che da me va via la corrente molto spesso, per garantirmi di non avere stampe interrotte o malfatte (perchè, si, hanno tutte la ripresa automatica dopo mancanza corrente, ma non è che sia questa grande cosa dato che quando ripartono, dal punto in cui ripartono si fa un bello gnocco di plastica). Per tali motivi spesso ho direzionato una telecamera di sorveglianza che ho nel garage sulla stampante proprio per poter vedere cosa succedeva ed eventualmente avvisare mio figlio, se presente in casa, di andare a spegnerla in caso di problemi. Un oggetto come la BeagleCam quindi mi torna davvero utile per il monitoraggio remoto e, nel mio caso, ha il valore aggiunto di poter fare video (cosa che magari è invece una funzione primaria per chi ci lavora e vuole farsi pubblicità sui social). 

Ho sentito molti discutere sull’estetica e sulla manifattura di questa telecamera. La questione estetica è per me una cosa secondaria in questo caso: hanno scelto di dargli questa forma e per me va bene così, a molti può non piacere ma nessuno vi obbliga a comprarla e ad ogni modo se uno smanetta con la stampante 3D, nessuno vieta di aprirla e disegnarle un nuovo guscio: suvvia…. stiamo parlando di stampa 3D, anzichè lamentarci, mettiamo mano al cad e facciamo una cosa come piace a noi. Per il resto è sicuramente un oggetto in plastica e la qualità esterna lascia il tempo che trova.

Per il lavoro che deve fare la trovo molto più che valida e ad un prezzo abbastanza contenuto (la si trova su amazon dai 60 ai 70 euro – considerate che il sistema che più si avvicina è octoprint ma vedete quanto cosa solo una Raspberry Pi e considerate che dovete metterci alimentatore, telecamera, scheda microSD, farci eventualmente un case e settarla/programmarla). Un sistema alternativo è utilizzare un vecchio telefono cellulare che non usate più con una delle tante app che ci sono in giro ma le features sono limitate e avere l’accesso dall’esterno di casa è un altro paio di maniche: considerate che la Beaglecam utilizza il suo server, ed è questo che vi consente di visualizzarla anche al di fuori della rete WiFi di casa.

Links

Se questo articolo ti è piaciuto, condividilo su un social:
Se l'articolo ti è piaciuto o ti è stato utile, potresti dedicare un minuto a leggere questa pagina, dove ho elencato alcune cose che potrebbero farmi contento? Grazie :)