Drukowanie z programem Repetier Server

2

Repetier Server, podobnie jak opisany niedawno przez Łukasza Długosza OctoPrint, jest oprogramowaniem umożliwiającym zdalną obsługę drukarki przez sieć za pomocą przeglądarki internetowej. Obydwa te rozwiązania udostępniają interfejs do przesyłania plików G-code, uruchamiania i śledzenia postępu drukowania, kontrolowania temperatur i innych parametrów drukarki z dowolnego komputera w sieci. Niedawno miałem okazję wypróbować serwer Repetiera i przekonać się, czy korzystanie z niego będzie wygodniejsze niż z samego programu Repetier Host.

Wspomniany Repetier Host pozwala na kontrolowanie drukarki z poziomu komputera przez bezpośrednie podłączenie jej do portu USB. Taki sposób komunikacji ma kilka wad – przede wszystkim wymaga, żeby komputer cały czas pozostawał włączony. Przy dużych wydrukach jest to raz że uciążliwe, a dwa, w przypadku zawieszenia lub restartu komputera prowadzi do przerwania wydruku. Inną słabością takiego rozwiązania jest nieco gorsza jakość druku dla bardzo szczegółowych przedmiotów – gdzie komputer nie nadąża z wysyłaniem poleceń dla szybkich i krótkich ruchów głowicy. Drukarka jest wtedy zmuszona robić minimalne przestoje podczas drukowania, co negatywnie wpływa na tworzony przedmiot. Repetier Host pozwala co prawda przed wydrukiem przesłać cały G-code do drukarki w celu zapisania go na karcie SD (skąd już bez połączenia z Hostem mógłby zostać wykonany), jednak trwa to tak długo, że osobiście tylko kilka razy zdarzyło mi się z tej funkcji skorzystać. Dlatego przy większości wydruków trwających powyżej godziny zwykle wyjmuję kartę SD z drukarki i zapisuję na niej plik z programem – choć w przypadku drukarek bez kontrolera LCD i gniazda na kartę nie byłoby to możliwe.

Instalując Repetier Server przede wszystkim miałem nadzieję, że oprogramowanie to rozwiąże problem niewygodnego kopiowania plików na kartę SD drukarki. Miałem też parę pomysłów odnośnie zdalnego kontrolowania urządzenia przez sieć (również poza domem), łącznie z śledzeniem poczynań drukarki przez kamerę internetową.

Instalacja i konfiguracja

Repetier Server można zainstalować na komputerze z Linuksem lub – co jest wygodniejszą opcją – na Raspberry Pi (prostym komputerze wielkości karty kredytowej, zasilanym z ładowarki do telefonu, do kupienia za ok. 135 zł). Wersje na Windows ani na Mac OS nie są dostępne, choć na stronie producenta można przeczytać, że trwają prace nad dostosowaniem oprogramowania do tych systemów operacyjnych.

Do swoich testów wykorzystałem Raspberry Pi w wersji B. Instalacja programu Repetier Server jest trochę bardziej skomplikowana niż przypadku OctoPrint – wymaga zainstalowania na Raspberry Pi czystego systemu (można to zrobić za pomocą instalatora NOOBS), i dopiero później wgrania plików Repetiera. Wśród plików instalacyjnych znajduje się domyślna konfiguracja, którą należy zmodyfikować, prowadzając ustawienia podłączonej drukarki – numer portu, szybkość komunikacji, wielkość pola roboczego itp. Cały proces jest dość dobrze opisany – niestety instrukcja zawiera parę błędów i nieścisłości, przez co może sprawić trochę problemów osobom nie znającym konsoli Linuksa.

Do swojego Raspberry Pi podłączyłem kartę WiFi na USB (wielkości niewielkiego pendrive’a). Po skonfigurowaniu jej (podobnie jak w przypadku instalacji OctoPrinta), Repetier Server stał się dostępny z każdego komputera pod wybranym adresem IP:

Raspberry Pi nie doczekało się u mnie żadnej obudowy – choć w sieci można znaleźć mnóstwo projektów odpowiednich pudełek nadających się do druki. Również zasilenie płytki Raspberry z elektroniki drukarki nie powinno stanowić problemu – jeśli tylko występuje tam napięcie 5V. Przy odpowiedniej instalacji można w ten sposób „przerobić” drukarkę 3D na WiFi bez konieczności podłączania dodatkowych kabli.

Przegląd funkcji programu

Repetier Server pozwala na kontrolowanie pracy wielu drukarek jednocześnie – na stronie głównej, po wpisaniu odpowiedniego adresu w przeglądarce pojawia się lista zarejestrowanych urządzeń. Aby kontrolować wybrane urządzenia, na początku trzeba włączyć komunikację z nimi za pomocą przycisku Activate. Ekran jest trochę nadmiarowy w sytuacji, gdy mamy tylko jedną drukarkę – na szczęście po jej aktywacji tak długo jak Raspberry nie zostanie uruchomione ponownie, wybrana drukarka pozostanie aktywna. Również po restarcie samej drukarki połączenie zostanie automatycznie przywrócone.

Po kliknięciu Use przy wybranej drukarce pojawia się strona z 3 zakładkami: Jobs, Model oraz Control. Cały interfejs jest bardzo prosty i czytelny.

Na stronie Jobs znajduje się lista aktualnych zadań (wydruków), z maksymalnie jednym aktywnym i pozostałymi czekającymi w kolejce. Najprostszym sposobem na wydruk jest kliknięcie Upload jobs, załadowanie pliku G-code z komputera i uruchomienie zadania przyciskiem Start. Przy nazwie zadania pojawi się informacja o procentowym postępie wydruku.

O ile wydrukowane w całości przedmioty znikają z listy Jobs, na stronie Models można stworzyć bazę modeli do wielokrotnego wydrukowania. Po dodaniu do bazy pliku G-code można go dowolną liczbę razy skopiować do kolejki Jobs przyciskiem Copy.

Strona Control zawiera interfejs do bezpośredniego sterowania drukarką: przemieszczania głowicy względem stołu, kontroli temperatur, ręcznego wyciskania filamentu oraz zmiany innych parametrów – jak szybkość druku (speed), współczynnik ekstruzji (flow) oraz moc wentylatora (fan). Opcje te są bardzo przydatne przy każdej zmianie filamentu oraz przy bardziej zaawansowanej kontroli wydruku.

Plusy i minusy

Z programem Repetier Server spędziłem około 2 tygodni, wykonując kilkadziesiąt różnych wydruków. Pewne jego funkcje bardzo przypadły mi do gustu, inne z kolei okazały się trochę uciążliwe. Pomijam tu funkcjonalność obsługi wielu drukarek, jako że nie miałem okazji jej przetestować – w niektórych środowiskach opcja ta może się okazać bardzo istotna.

Najwygodniejszą rzeczą przy korzystaniu z programu Repetier Server była bezprzewodowa komunikacja z drukarką. Na co dzień pracuję na laptopie wpiętym do stacji dokującej, i czasem potrzebuję go odłączyć i przejść do drugiego pokoju. Przy korzystaniu z Repetiera nie musiałem się zastanawiać, czy z laptopa akurat nie idzie drukowanie; nie musiałem też ręcznie kopiować programów na kartę SD. Interfejs programu całkiem dobrze działa też na mniejszych urządzeniach – tabletach i smartfonach.

Inną cenną opcją okazała się możliwość kolejkowania zadań. Czasem w trakcie jednego wydruku miałem już zaplanowany kolejny przedmiot do wykonania, i zanim drukarka skończyła bieżące zadanie, wygodnie było wgrać kolejny plik z G-codem. W przypadku druku z karty SD – trzeba zawsze poczekać, aż urządzenie skończy pracę przed skopiowaniem nowego programu.

Samo tworzenie bazy modeli jest nieco podobne do gromadzenia plików na karcie SD. Nie korzystałem z tej funkcji zbyt często – jednak z pewnością wygodniej jest wybrać zapisany model z listy w przeglądarce internetowej niż szukać go na karcie z panelu drukarki.

Ostatnią miłą rzeczą było dobre wsparcie dla komunikacji RS. Korzystając z serwera nie musiałem ani razu się zastanawiać, pod jakim portem drukarka jest podłączona – co w przypadku bezpośredniego połączenia z laptopem potrafi się zmieniać, gdy np. odłączam kabel USB bez wcześniejszego zamknięcia połączenia z poziomu Repetier Hosta.

Jeśli chodzi o najsłabszą cechę programu Repetier Server, to wskazałbym brak integracji ze slicerami czy Repetier Hostem, którego cały czas używałem do cięcia modeli na warstwy. Po przygotowaniu modelu nie można go wydrukować jednym kliknięciem Print – trzeba zapisać plik na dysku, przejść do okna przeglądarki z otwartym serwerem, załadować plik z dysku, kliknąć „Start upload” i jeszcze raz potwierdzić akcję druku. Zajmuje to ok. 30 sekund, niemniej – przy druku niewielkich modeli jest mocno irytujące. Gdyby Repetier Host był w stanie skomunikować się z serwerem i bezpośrednio przesłać mu G-code – takie rozwiązanie byłoby idealne.

Drugą wadą serwera jest nieco mniejsza wygoda korzystania z kontrolek do sterowania drukarką. Interfejs dostarczany z Repetier Hosta jest po prostu wygodniejszy i pozwala zrobić te same rzeczy mniejszą ilością kliknięć.

W programie Repetier Server brakuje też kilku funkcjonalności, niekiedy bardzo istotnych: nie można wstrzymać wydruku (np. w celu zmiany filamentu), nie ma informacji o przewidywanym czasie zakończenia aktualnego zadania oraz brak jest wsparcia dla przesyłania obrazu z kamery internetowej. Poza tym, przy próbie udostępnienia interfejsu serwera poza sieć domową trzeba samemu zatroszczyć się o bezpieczeństwo dostępu (nie ma opcji zabezpieczenia programu hasłem czy szyfrowania połączenia HTTPS). Zarówno dostęp do kamery jak i logowanie z hasłem można skonfigurować za pomocą oddzielnych programów zainstalowanych na Raspberry Pi, jednak wymaga to nieco pracy.

Podsumowanie

Po dwóch tygodniach eksperymentów z programem Repetier Server podłączyłem drukarkę z powrotem do starego Repetier Hosta – i stwierdziłem, że rozwiązanie to jest dla mnie mimo wszystko wygodniejsze. Nawet jeśli czasem muszę ręcznie wymieniać kartę SD w drukarce – to lepiej jest mieć Slicer i sterowanie drukarką w jednym miejscu, razem z funkcją natychmiastowego druku dla mniejszych przedmiotów. W serwerze Repetiera zabrakło przede wszystkim integracji z innymi produktami – slicerami czy Hostem – tak żeby drukując poświęcać jak najmniej czasu na obsługę dodatkowych narzędzi. Niemniej – dla osób korzystających z wielu drukarek jednocześnie – takie rozwiązanie może okazać się bardzo wygodne.

Udostępnij.

O autorze

Krzysztof Matusiewicz

Z zamiłowania i wykształcenia pracuje w branży IT jako programista Javy. Po godzinach interesuje się elektroniką i praktycznym wykorzystaniem mikrokontrolerów oraz od niedawna z wielką pasją drukiem 3D / FDM. Autor bloga 3dwpraktyce.pl.

Rozmowa
z Cedrykiem
?