MK/MINI404 to symulatory platform RAMBO/Einsy Rambo/Buddy. Są rozwijane na i działają natywnie pod Linuxem. Możliwe jest zbudowanie dla Windows przy pomocy Cygwin, ale tutaj pokażemy ścieżkę dla Linuxa.
W Prusa Research używamy jego narzędzia do testowania firmware w rozwoju i otrzymywania pięknych, ostrych zrzutów ekranu dla list zmian na Githubie i naszej Bazy Wiedzy. Istnieje szereg opcji automatyzacji poprzez skrypty i jest to świetny sposób na przetestowanie własnych niestandardowych konstrukcji firmware lub formatowania tłumaczeń społeczności, ich działania i odczytu na różnych wyświetlaczach naszej drukarki. A może po prostu chcesz zobaczyć drukarkę w akcji i zbadać układ menu i rozwiązanie, które wymyśliliśmy, jeśli rozważasz drukarkę Original Prusa.
Jest to projekt, który wciąż jest w trakcie opracowywania. Niektóre z wymienionych tu błędów lub mniej dopracowanych procedur mogły zostać naprawione do tego czasu, a nowe funkcje mogły zostać dodane. Ten przewodnik ma za zadanie przybliżyć laikowi sposób instalacji i rozpoczęcia zabawy z tym wspaniałym narzędziem, jak również dać wyraz uznania dla twórcy znanego jako VintagePC.
Musisz mieć zainstalowaną dystrybucję Linuksa. Może być zainstalowana na maszynie wirtualnej, ale nie będziemy tutaj opisywać jej instalacji i konfiguracji. Zwróć uwagę, że w VirtualBox na Windows 10 wystąpiły duże problemy z grafiką.
Tutaj uruchomimy symulator na Linuxie Mint (lekka wersja Xfce), po prostu dlatego, że autor woli to rozwiązanie. W rzeczywistości jest on rozwijany pod OpenSUSE, ale zależności i polecenia przedstawione tutaj są oparte i testowane na Linux Mint. Jednakże, ten przewodnik powinien obejmować większość dystrybucji opartych na Debianie/Ubuntu. Prawdopodobnie każda dystrybucja będzie odpowiednia, ale niezbędne zależności mogą się różnić pomiędzy nimi. Jeśli nie znasz Linuksa, zalecamy wybranie dystrybucji opartej na Debianie, ponieważ jest on dobrze udokumentowany i to właśnie dla niego ten przewodnik będzie omawiał zależności.
Jednym z minusów tej dystrybucji jest dość duży rozmiar, więc upewnij się, że maszyna wirtualna ma:
Zainstalujemy jeden symulator po drugim i omówimy podstawowe użycie w podlinkowanym artykule. Należy zacząć od MK404, ponieważ jest on trochę łatwiejszy i może wygenerować niektóre pliki używane w MINI404, których MINI404 nie może wygenerować samodzielnie (a przynajmniej nie tak łatwo).
Przygotuj się do zostania super hakerem, ponieważ wchodzimy do... TERMINALA! Zakładamy, że masz świeżą instalację Linuksa, ale procedura nie powinna mieć znaczenia, jeśli masz już Linuksa. Możesz po prostu mieć już niektóre z potrzebnych pakietów.
Otwórz Konsole lub jakikolwiek terminal, który znajdziesz (klawisze skrótu: Ctrl + Alt + T) i zacznij aktualizować system, uruchamiając:
sudo apt-get update -y
sudo apt-get upgrade -y
Może to zająć trochę czasu. Pozwól, aby linie przewijały się, dopóki nie pojawi się ponownie linia poleceń. Prawdopodobnie istnieją dokładniejsze sposoby robienia tego, ale robimy to w ten sposób dla uproszczenia.
Zainstalujemy:
Poniższe polecenie powinno zainstalować wszystko, co jest potrzebne do uruchomienia symulatora.
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
Skompiluj kompilator (lub coś w tym stylu):
sudo apt-get install build-essential -y
Zrestartuj maszynę.
sudo reboot
git clone https://github.com/vintagepc/MINI404.git
cd MINI404
Ładowanie czegoś w stylu zależności (submodułów)
git submodule init
git submodule update
Skonfiguruj build (mogą pojawić się błędy, jeśli poprzedni krok został pominięty)
./configure --target-list=buddy-softmmu --enable-opengl
Następnie skompiluj. Dałem VM dwa rdzenie (połowa tego, co ma ten laptop), więc używam dwóch rdzeni z -j2. To zajmie trochę czasu.
make -j2
Wynik (build) znajdzie się w podkatalogu build/ i ma nazwę qemu-system-buddy. Wejdź do tego katalogu. To tutaj uruchomimy symulator i będzie on zawierał wszystkie pliki firmware, bootloader, zrzuty ekranu i pliki obrazów.
cd
cd MINI404/build/
Pobierz i rozpakuj bootloader i firmware, używając "wget [url]" i "unzip [filename]". Napotkałem problemy, w których nazwa pliku miała kropki inne niż tylko przed rozszerzeniem.
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
Pobierz najnowszy plik z firmware ze strony https://prusa3d.com/drivers. Ta procedura jest taka sama dla każdego pliku .zip. Kliknij prawym przyciskiem myszy na przycisk pobierania i wybierz "Kopiuj adres". Wklej ten link po wget, aby pobrać.
wget https://cdn.prusa3d.com/downloads/firmware/prusa3d_fw_4_3_3_MINI.zip
unzip prusa3d_fw_4_3_3_MINI.zip
Możesz teraz uruchomić aplikację następującym poleceniem, będąc w tym samym katalogu (MINI404/build/buddy-softmmu/). W tym stanie może być używana, ale nie będzie miała trwałej pamięci, jak zapisywanie profili arkuszy stalowych czy innych ustawień. Ustawimy to później.
./qemu-system-buddy -machine prusa-mini -kernel prusa3d_fw_4_3_3_MINI.bbf -chardev vc,id=p404-scriptcon,cols=80,rows=24
Jeśli jesteś w folderze głównym, możesz uniknąć wchodzenia najpierw do katalogu, a raczej zarówno przejść do folderu, jak i uruchomić sima w jednym poleceniu:
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
https://github.com/vintagepc/MINI404/wiki/Flash-Storage-Persistence
Utwórz pliki do wykorzystania jako SPIflash(8M) i dwa bloki st25dv64k (64K).
truncate -s 8M SPIflash.bin
truncate -s 64K st25block1.bin
truncate -s 64K st25block2.bin
Aby otworzyć MINI404 przy użyciu tych plików należy użyć:
./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
Po pierwsze, musisz mieć plik obrazu, aby użyć go jako nośnika. MK404 może zrobić to łatwo, ale z MINI404 jest to trochę bardziej skomplikowane. Mówiąc krótko, potrzebujesz pliku obrazu z końcówką .img, oraz systemu plików FAT32, na którym możesz użyć mtools do umieszczenia plików G-code.
Pobierz gotowy plik obrazu 1 GB z załadowanym już G-codem z owcą. Jest on spakowany i ma tylko 4Mb.
wget http://help.prusa3d.com/wp-content/uploads/2021/11/MINIUSB.zip
Rozpakuj właśnie pobrany plik.
unzip MINIUSB.zip
Jeśli chcesz pobrać G-code i umieścić go na "pendrive", użyj wget [link] z linku na Printables. Komendy poniżej ściągną i skopiują plik, który już masz!
wget https://media.prusaprinters.org/media/prints/13787/gcodes/339252_4279d4ab-37ae-49d3-bd5e-ee70893b0eec/sheep_pmoews_200um_mini_pla_2h17m.gcode
Umieść plik G-code w obrazie pliku (karty SD) za pomocą mtools.
mcopy -vsi FAT32.img sheep_pmoews_200um_mini_pla_2h17m.gcode ::
Aby uruchomić 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
Tak, możesz połączyć się z maszyną również zdalnie! Zasadniczo kierujesz Internet maszyny wirtualnej do drukarki. To da Ci możliwość przetestowania serwerów NTP i zdalnego sterowania drukarką 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
Teraz możesz znaleźć adres IP w sekcji Ustawienia LAN, w menu drukarki.
Aby w pełni doświadczyć symulatora, możesz dodać -append gfx-full i uzyskać dynamiczny model 3D drukarki. Opcje graficzne są liczne, więc zobacz poniższy link, gdzie znajdziesz kompletny zestaw argumentów.
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
Jak widać, linia do uruchomienia staje się dość długa. Istnieje narzędzie online do generowania całej linii w zależności od tego, czego używasz, ale możesz również stworzyć skrypt basha, aby uruchamiać jeden zestaw konfiguracyjny.
Tworzenie i rozpoczęcie edycji małego pliku tekstowego przy użyciu Nano.
sudo nano startMINI404.sh
Wklej poniższy wiersz (lub jakikolwiek masz)
./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
Zamknij i zapisz
Ctrl+x -> "Yes", aby zapisać -> Enter, aby potwierdzić nazwę pliku.
Uczyń skrypt wykonywalnym
sudo chmod +x startMINI404.sh
Od tej pory możesz uruchomić skrypt z poziomu folderu za pomocą:
./startMINI404.sh
Aby sterować symulatorem, np. robić zrzuty ekranu, manipulować symulowanym sprzętem (zwierać lub rozłączać wentylatory i grzałki itp.), należy użyć poleceń skryptowych (scriptcon).
https://github.com/vintagepc/MINI404/wiki/Scripting-Mini
Konsola do tego celu znajduje się w jednej z zakładek o nazwie p404-scriptcon (zielony prostokąt). Wybierz ją i odłącz, aby była oddzielna (purpurowa strzałka). Każde polecenie jest opisane w powyższym linku. Kopiuj/wklej nie działa, ale klawisz Tab powoduje autouzupełnianie.
Teraz możesz mieć widok z wyświetlaczem po jednej stronie (niebieski prostokąt), konsolę skryptową w innym okienku (zielony prostokąt) oraz wyjście z terminala potwierdzające wygenerowanie plików (purpurowy prostokąt). Po prawej stronie na poniższym zrzucie ekranu widać polecenie wykonania zrzutu ekranu i zapisania go jako PNG.
Z tym symulatorem można zrobić o wiele więcej. My zainstalowaliśmy tylko MINI+, ale możesz go również połączyć z PrusaLink lub Octoprint oraz wiele więcej. Wszystko jest już gotowe do pracy, więc sprawdź Wiki na GitHubie, gdzie znajdziesz więcej opcji, funkcji i zabawy.
VintagePC jest wolontariuszem, który przyczynia się do rozwoju społeczności i ma duży wgląd w architekturę sprzętu i firmware. Jeśli chcesz pomóc w uczynieniu stosu OpenGL bardziej nowoczesnym i wydajnym, przeportować go na inne systemy (binaria dla Win istnieją, ale wymagają Cygwin do uruchomienia, a Mac działał raz, gdy ktoś się o to upomniał, ale nie jest to system, którego twórca używa na co dzień) lub w jakikolwiek sposób przyczynić się do tego projektu, skontaktuj się z człowiekiem poprzez jego Github https://github.com/vintagepc/.
Jeśli masz pytanie dotyczące czegoś, czego nie opisaliśmy, to sprawdź dodatkowe zasoby.
A jeśli to nie działa, możesz wysłać zgłoszenie na [email protected] lub klikając poniższy przycisk.