IT
  • English
  • Čeština
  • Español
  • Deutsch
  • Polski
  • Français
Login

Installazione del simulatore MINI404

Rilevante per:
Ultimo aggiornamento a month ago
Questo articolo è disponibile anche nelle seguenti lingue: 
CSDEENESFRPL
Prusa Research non sviluppa né fornisce assistenza per questo sistema! Possiamo solo intervenire sugli errori diretti di questa guida e migliorare la chiarezza in base ai commenti. Il nostro supporto tecnico/cliente non può fornire aiuto per quanto riguarda le difficoltà tecniche/di installazione, la risoluzione dei problemi e le richieste di funzionalità. Per questo, vi consigliamo di consultare la documentazione del progetto su Github.

MK/MINI404 sono simulatori delle piattaforme RAMBO/Einsy Rambo/Buddy. È sviluppato e funziona nativamente su Linux. È comunque possibile realizzare la build su Windows usando Cygwin, ma qui seguiremo il metodo Linux.

Noi di Prusa Research usiamo questo strumento per testare il firmware in fase di sviluppo e per ottenere schermate belle e nitide per i changelog di Github e le nostre Nozioni base. È disponibile una serie di opzioni per l'automazione tramite script ed è un ottimo modo per testare le proprie build personalizzate del firmware o il comportamento e la lettura delle traduzioni della comunità sui display delle nostre varie stampanti. O magari volete semplicemente vedere la stampante in azione ed esplorare il layout del menu e le soluzioni che abbiamo ideato, se volete prendere in considerazione una stampante Original Prusa.

Questo progetto è ancora in fase di sviluppo. Alcuni dei bug o delle procedure poco efficienti qui menzionate potrebbero essere stati già risolti e potrebbero essere state aggiunte nuove funzionalità. Questa guida ha l'obiettivo di fornire un approccio da profano all'installazione e all'utilizzo di questo meraviglioso strumento, oltre che di ringraziare il creatore ed eccellente collaboratore volontario della comunità noto come VintagePC.

Prerequisiti:

È necessario installare una distribuzione di Linux. Può essere installata su una macchina virtuale, ma non ci occuperemo dell'installazione e della configurazione in questo documento. Da notare che sono stati riscontrati grossi problemi di grafica con VirtualBox su Windows 10.

Qui lo eseguiamo su Linux Mint (versione leggera Xfce), semplicemente perché chi scrive lo preferisce. In realtà è stato sviluppato su OpenSUSE. Le dipendenze e i comandi qui descritti sono basati e testati su Linux Mint, tuttavia, questa guida dovrebbe essere valida per la maggior parte delle distribuzioni basate su Debian/Ubuntu. Probabilmente qualsiasi distro andrà bene, ma le dipendenze necessarie possono differire da una distro all'altra. Se non si ha familiarità con Linux, si consiglia di acquistare una distro basata su Debian, in quanto Debian è ben documentata ed è quella utilizzata in questa guida per le dipendenze.

Un aspetto negativo di questa distro è la dimensione piuttosto grande dell'installazione, quindi assicuratevi che la macchina virtuale disponga di:

  • Un HDD con almeno 15-20GB.
  • Accesso ad almeno 2 core della CPU
  • Accelerazione grafica attivata
  • Appunti condivisi
  • Ha una cartella condivisa con la macchina host (facoltativo)

Installeremo un simulatore dopo l'altro e illustreremo il funzionamento di base in un articolo collegato. Si consiglia di iniziare con MK404, perché è un po' più semplice e può generare alcuni file utilizzati da MINI404, che MINI404 non è in grado di generare da solo (o almeno non così facilmente).

Probabilmente qualsiasi distro andrà bene, ma se non avete familiarità con Linux vi consiglio di scegliere una distro basata su Debian, in quanto Debian è ben documentata ed è lo strumento di cui si occuperà questa guida.

Aggiornamento e installazione delle dipendenze

Preparati a diventare un super hacker mentre entriamo... nel TERMINALE! Presumiamo che abbiate una nuova installazione di Linux, ma la procedura non dovrebbe essere importante se avete già Linux. Potreste semplicemente avere già alcuni dei pacchetti necessari.

Suggerimento: incollate usando Shift + Ins, non Ctrl + V. Premendo i tasti Su e Giù otterrete il comando precedentemente inserito. Il tasto Tab è la compilazione automatica.

Aprite Konsole o il terminale che preferite (tasto di scelta rapida: ctrl + alt + T) e iniziate ad aggiornare il sistema eseguendo i comandi:

sudo apt-get update -y

sudo apt-get upgrade -y

Questa operazione potrebbe richiedere un po' di tempo. Lasciare scorrere le righe finché non compare di nuovo la riga di comando. Probabilmente ci sono modi più chirurgici per farlo, ma per semplicità questo è il nostro modo di procedere.

Andremo a installare:

  • Git
  • Cmake
  • Python
  • Dependencies (deps).

Il comando seguente dovrebbe installare tutto ciò che serve per eseguire il simulatore.

sudo apt-get install git libglib2.0-dev libfdt-dev libpixman-1-dev zlib1g-dev cmake libsasl2-dev libsdl1.2-dev libseccomp-dev libsnappy-dev libssh2-1-dev libelf-dev gcc-avr libglew-dev freeglut3-dev libsdl-sound1.2-dev libpng-dev libsdl2-dev libgtk-3-dev libstdc++6 g++-7 python2-dev python3-dev libjpeg-dev libwebp-dev libtiff5-dev libsdl2-image-dev libsdl2-image-2.0-0 libusb-1.0-0-dev ninja-build -y

Compilare il compilatore (o qualcosa di simile):

sudo apt-get install build-essential -y

Riavviare la macchina.

sudo reboot

Queste dipendenze e la procedura descritta sono le stesse per MINI404 e MK404!

Installare MINI404

Per l'installazione del simulatore MK404, consultare la sezione Installazione del simulatore MK404
Torniamo al terminal! Mettetevi comodi. D'ora in poi continueremo a lavorare principalmente qui. Non ci soffermeremo più di tanto sulle funzioni di ogni singolo comando, ma si tratta per lo più di cose ovvie. 
 
Dovreste trovarvi nella home/directory inferiore dell'utente. In caso di dubbio si può sempre usare cd per andare in fondo all'albero delle directory. cd ../ riporta indietro di una cartella, cd ../../ di due cartelle, ecc. È possibile vedere le cartelle e i file in una posizione con ls. Ora sei un mago di {Linux}, Harry...
 
Clonare il repository Git. Dovreste trovarvi nella directory principale. Eseguire il comando cd per accertarsene prima di iniziare.
git clone https://github.com/vintagepc/MINI404.git
Entrare nella cartella
cd MINI404

Caricamento delle dipendenze (sottomoduli)

git submodule init

git submodule update

Configurare la compilazione (potrebbero esserci degli errori se si è saltato qualche passaggio precedente)

./configure --target-list=buddy-softmmu --enable-opengl

Poi compila. Ho dato alla macchina virtuale due core (la metà del totale di questo portatile), quindi utilizzo due core con -j2. Ci vorrà un po' di tempo.

make -j2

Configurazione iniziale e avvio

L'output (build) si trova nella sottocartella build/ e si chiama qemu-system-buddy. Entrate in questa directory. È qui che verrà lanciato il simulatore e conterrà tutti i file del firmware, il bootloader, le schermate e i file immagine.

cd

cd MINI404/build/

Scaricare e decomprimere il bootloader e il firmware usando "wget [url]" e "unzip [nome file]". Ho riscontrato problemi quando il nome del file presentava dei punti diversi da quelli che precedono l'estensione.

wget https://prusa-buddy-firmware-dependencies.s3.eu-central-1.amazonaws.com/bootloader-mini-1.0.0.zip

unzip bootloader-mini-1.0.0.zip

Scaricare il file del firmware più recente da https://prusa3d.com/drivers. La procedura è la stessa per qualsiasi file Zip. Fare clic con il tasto destro del mouse sul pulsante di download e "Copia indirizzo link". Incollare questo link dopo wget per scaricare.

wget https://cdn.prusa3d.com/downloads/firmware/prusa3d_fw_4_3_3_MINI.zip

unzip prusa3d_fw_4_3_3_MINI.zip

Se si ottiene un URL con ulteriori informazioni, come quelle in grassetto, è possibile eliminare tutto ciò che segue il nome del file. Si tratta di tracciamento/metadati di Google, credo.
https://cdn.prusa3d.com/downloads/firmware/prusa3d_fw_4_3_3_MINI.zip#_ga=2.176807781.1573756582.1632118194-1308288749.1629274326

Ora è possibile avviare l'applicazione con il seguente comando, sempre all'interno della stessa directory (MINI404/build/buddy-softmmu/). L'applicazione può essere utilizzata in questo stato, ma non avrà una memoria persistente, come il salvataggio dei profili delle piastre di acciaio o di altre impostazioni. Questo verrà impostato in seguito.

./qemu-system-buddy -machine prusa-mini -kernel prusa3d_fw_4_3_3_MINI.bbf -chardev vc,id=p404-scriptcon,cols=80,rows=24

Se ci si trova nella cartella principale, si può evitare di entrare prima nella directory e procedere alla navigazione e all'avvio del simulatore con un unico comando:

cd MINI404/build/ ; ./qemu-system-buddy -machine prusa-mini -kernel prusa3d_4.3.3_MINI.bbf -chardev vc,id=p404-scriptcon,cols=80,rows=24

 Memoria flash persistente per il live z, selezione della lingua e altre impostazioni.

https://github.com/vintagepc/MINI404/wiki/Flash-Storage-Persistence

 Creare i file da utilizzare come SPIflash (8M) e due blocchi st25dv64k (64K).

truncate -s 8M SPIflash.bin

truncate -s 64K st25block1.bin

truncate -s 64K st25block2.bin

Per aprire MINI404 utilizzando questi file, utilizzare:

./qemu-system-buddy -machine prusa-mini -kernel prusa3d_fw_4_3_3_MINI.bbf -chardev vc,id=p404-scriptcon,cols=80,rows=24 -mtdblock SPIflash.bin -pflash st25block1.bin -pflash st25block2.bin

Utilizzo di un'immagine come chiavetta USB

Innanzitutto, è necessario disporre di un file immagine da utilizzare come unità. MK404 può farlo facilmente, ma con MINI404 è un po' più complicato. In breve, è necessario un file immagine con estensione .img e un filesystem FAT32, sul quale è possibile utilizzare mtools per inserire i G-code. 

Scaricare il file immagine preconfezionato da 1 GB con il G-code delle pecore già caricato. È zippato ed è di soli 4Mb.

wget https://cdn.help.prusa3d.com/wp-content/uploads/2021/11/MINIUSB.zip

Decomprimere il file appena scaricato.

unzip MINIUSB.zip

Se si desidera scaricare un G-code e metterlo sulla "chiavetta USB", utilizzare wget [link] da un link in Prusaprinters. I comandi sottostanti scaricheranno e copieranno il file già presente!

wget https://media.prusaprinters.org/media/prints/13787/gcodes/339252_4279d4ab-37ae-49d3-bd5e-ee70893b0eec/sheep_pmoews_200um_mini_pla_2h17m.gcode

Mettere il file del G-code nel file immagine (scheda sd) utilizzando mtools.

mcopy -vsi FAT32.img sheep_pmoews_200um_mini_pla_2h17m.gcode ::

Per avviare MINI404

./qemu-system-buddy -machine prusa-mini -kernel prusa3d_fw_4_3_3_MINI.bbf -chardev vc,id=p404-scriptcon,cols=80,rows=24 -mtdblock SPIflash.bin -pflash st25block1.bin -pflash st25block2.bin -drive if=none,id=usbstick,format=raw,file=MINIUSB.img -device usb-storage,drive=usbstick

Ethernet (PrusaLink!)

Sì, è possibile connettersi alla macchina anche da remoto! In pratica si instrada la rete Internet della macchina virtuale verso la stampante. In questo modo è possibile testare i server NTP e il controllo remoto della stampante MINI404.

./qemu-system-buddy -machine prusa-mini -kernel prusa3d_fw_4_3_3_MINI.bbf -chardev vc,id=p404-scriptcon,cols=80,rows=24 -mtdblock SPIflash.bin -pflash st25block1.bin -pflash st25block2.bin -drive if=none,id=usbstick,format=raw,file=MINIUSB.img -device usb-storage,drive=usbstick -netdev user,id=mini-eth,hostfwd=tcp::3333-:80

Ora è possibile trovare l'IP alla voce Impostazioni LAN, nel menu della stampante.

Grafica Fancy 

Per ottenere un'esperienza completa, è possibile aggiungere -append gfx-full per ottenere un modello 3D dinamico della stampante. Le opzioni grafiche sono molte, per cui si rimanda al link sottostante per una serie completa di argomenti.

https://github.com/vintagepc/MINI404/wiki/Advanced-Visuals

./qemu-system-buddy -machine prusa-mini -kernel prusa3d_fw_4_3_3_MINI.bbf -chardev vc,id=p404-scriptcon,cols=80,rows=24 -mtdblock SPIflash.bin -pflash st25block1.bin -pflash st25block2.bin -drive if=none,id=usbstick,format=raw,file=MINIUSB.img -device usb-storage,drive=usbstick -netdev user,id=mini-eth,hostfwd=tcp::3333-:80 -append gfx-full

Creare un file di script per avviarlo

Come potete vedere, la fila per il lancio sta diventando piuttosto lunga. Esiste uno strumento online per generare l'intera linea a seconda di ciò che si usa, ma si può anche creare uno script bash per lanciare una configurazione impostata.

Creare e iniziare a modificare un piccolo file di testo utilizzando l'editor Nano. 

sudo nano startMINI404.sh

Incollare la riga qui sotto (o quella che si ha a disposizione)

./qemu-system-buddy -machine prusa-mini -kernel prusa3d_fw_4_3_3_MINI.bbf -chardev vc,id=p404-scriptcon,cols=80,rows=24 -mtdblock SPIflash.bin -pflash st25block1.bin -pflash st25block2.bin -drive if=none,id=usbstick,format=raw,file=MINIUSB.img -device usb-storage,drive=usbstick -netdev user,id=mini-eth,hostfwd=tcp::3333-:80 -append gfx-full

Chiudere e salvare

Ctrl+x -> Si per salvare -> Invio per confermare il nome del file.

Rendere lo script eseguibile

sudo chmod +x startMINI404.sh

D'ora in poi è possibile avviare lo script dall'interno della cartella con:

./startMINI404.sh

Usare MINI404

Per controllare il simulatore, ad esempio per fare screenshot, manipolare l'hardware simulato (cortocircuitare o scollegare ventole e riscaldatori, ecc.), è necessario utilizzare i comandi di scripting (scriptcon).

https://github.com/vintagepc/MINI404/wiki/Scripting-Mini

La console si trova in una delle schede denominate p404-scriptcon (riquadro verde). Selezionatelo e staccatelo in modo che sia separato (freccia viola). Ciascun comando è descritto nel link precedente. Il Copia/Incolla non funziona, ma il tasto Tab consente il riempimento automatico.

Ora è possibile avere una visualizzazione con il display su un lato (riquadro blu), la console degli script su un altro (riquadro verde), e l'output del terminale che conferma la generazione dei file (riquadro viola). A destra, nell'immagine sottostante, si vede il comando per fare uno screenshot del display e salvarlo come PNG.

Per l'installazione del simulatore MK404, consultare la sezione Installazione del simulatore MK404

Note Finali

Con questo simulatore è possibile fare molto di più. Abbiamo installato solo MINI+, ma è possibile collegare anche PrusaLink o Octoprint e molto altro ancora. Ora siete pronti e operativi, quindi date un'occhiata alla sezione Wiki Github per ulteriori possibilità, funzioni e cose divertenti.

Informazioni sull'autore

VintagePC è un collaboratore volontario della comunità con una grande conoscenza dell'architettura hardware e firmware. Se volete dare una mano, magari portarlo su altri sistemi (i binari per Windows esistono, ma richiedono Cygwin per essere eseguiti, mentre quelli per Mac hanno funzionato una volta, ma non sono il mezzo di lavoro quotidiano del creatore), o se siete molto aggiornati sugli interni di QEMU e sul modo "corretto" di fare le cose, o se volete contribuire a questo progetto in qualsiasi altro modo, contattatelo tramite Github https://github.com/vintagepc/.

Prusa Research non sviluppa né fornisce assistenza per questo sistema! Possiamo solo correggere gli errori diretti di questa guida e migliorare la chiarezza in base ai commenti. Il nostro supporto tecnico/cliente non può fornire aiuto per quanto riguarda le difficoltà tecniche/di installazione, la risoluzione dei problemi e le richieste di funzionalità. Per questo, vi consigliamo di consultare la documentazione del progetto su Github.
Questo articolo è stato utile?

Commenti

Devi aver effettuato l'accesso prima di aggiungere un commento.
0
Hai ancora delle domande?

Hai ancora delle domande?

Se hai una domanda su qualcosa che non è trattato qui, dai un'occhiata alle nostre risorse aggiuntive.
E se questo non dovesse funzionare, è possibile inviare una richiesta a info@prusa3d.com o tramite il pulsante qui sotto.