W tym artykule opisujemy konfigurację własnego obrazu od zera do dowolnego Raspberry Pi (RPi). Dzięki niemu będziesz w stanie podłączyć podstawową instancję OctoPrinta, którą następnie możesz rozszerzyć. Opisujemy również konfigurację Raspberry Pi Zero podłączonego przez piny GPIO. Raspberry Pi Zero nie ma jednak wystarczającej mocy, aby obsługiwać zaawansowane funkcje OctoPrinta i bardziej rozbudowane wtyczki, jak np. strumieniowanie obrazu i nie jest zalecany przez autorów projektu OctoPrint.
Ponieważ Raspberry Pi Foundation wypuściła swoje własne oprogramowanie do wgrywania obrazu na kartę (Raspberry Pi Imager), nie jest już potrzebne edytowanie plików konfiguracyjnych po wgraniu obrazu. Wszystko można skonfigurować przy flashowaniu karty, z menu zawierającego opcje zaawansowane (Advanced options). Raspberry Pi Imager pozwala nawet na pobieranie obrazów bezpośrednio z niego. Pokażemy Ci cały proces.
Włóż kartę (micro)SD do RPi i podłącz płytkę do drukarki przewodem USB. Następnie włącz je. Raspberry Pi Zero W będzie podłączone do drukarki przez piny GPIO, nie USB. Zalecamy zrobienie tego przed przejściem dalej. Jednak, na potrzeby konfiguracji, możesz zasilić je 5-woltową ładowarką do telefonu, a podłączyć przez piny później.
Podłączając płytkę przez USB, wyłącz port RPi (menu LCD -> Ustawienia -> Port RPi, przełącz na "wył").
Port USB typu B w MK3S/MK2.5S | Port MicroUSB w MINI |
Po pierwszym uruchomieniu RPi będzie potrzebować kilku minut na połączenie się z siecią. Odnalezienie przypisanego adresu IP umożliwi Ci aplikacja mobilna, jak np. "Fing" lub podobny skaner IP. Adres IP będzie mieć taki sam początek, jak Twój komputer, ale inną końcówkę. Będzie widnieć pod nazwą "OctoPrint" i/lub "Raspberry Pi" lub jakąś ich wariacją. Najczęściej spotykane adresy IP to 10.0.0.XXX i 192.168.0.XXX.
Otwórz przeglądarkę i wpisz "octopi.local" lub adres IP przypisany do RPi. Możliwe, że pierwszemu uruchomieniu będzie towarzyszyć powitalny Asystent. Nie pomijaj go i dodaj profil drukarki, który musimy następnie skonfigurować.
Naciśnij ikonkę kółka zębatego (Ustawienia) w prawym górnym narożniku (purpurowa strzałka). Możesz tutaj konfigurować profil, instalować wtyczki i zmieniać inne ustawienia (zielony prostokąt).
Wybierz "Printer profiles" i kliknij ikonkę ołówka (purpurowy prostokąt z prawej strony), aby go edytować. W sekcji "Print bed & Build volume" zmień wartości na pokazane w poniższej tabelce. Cała reszta ustawień pozostaje w domyślnych. Wprowadzone tutaj zmiany mają wpływ jedynie na sposób działania OctoPrint i w żaden sposób nie wpływają na cięcie Twoich plików G-code.
Form Factor | Origin | Heated Bed | Width | Depth | Height | Custom Bounding Box | |
MK3S | Rectangular | Lower left | Yes | 250mm | 210mm | 210mm | X: 0/250, Y: -4/210, Z: 0/210 |
MINI | Rectangular | Lower left | Yes | 180mm | 180mm | 180mm | X: 0/180, Y: -3/180, Z: 0/180 |
Dla RPi podłączonych przez USB, możesz zostawić pola "Serial Port" oraz "Baudrate" na "AUTO" (niebieski prostokąt), następnie kliknij przycisk "Connect". Gratulacje! OctoPrint jest już gotowy do działania z Twoją drukarką. OctoPrint może wyświetlić monit o aktualizację. Zrób to od razu, przed instalacją jakichkolwiek wtyczek.
W sekcji GCODE Scripts (niebieska strzałka), edytuj następujące pozycje:
After print job is cancelled: M603 (red arrow),
After print job is paused: M601 (orange arrow),
Before print job is resumed: M602 (yellow arrow).
Używanie Raspberry Pi z drukarką jest często nazywane "headless system" (w wolnym tłumaczeniu "system bezperyferyjny"), ponieważ nie ma ekranu podłączonego bezpośrednio do RPi. Jeśli przeniesiesz drukarkę do innej sieci (edytując plik octopi-wpa-supplicant.txt zgodnie z jej konfiguracją) lub zapomnisz adresu IP drukarki, istnieje świetna wtyczka do OctoPrinta, która wyświetla adres drukarki podczas jej uruchamiania.
Otwórz interfejs sieciowy OctoPrint, następnie wejdź w ustawienia i w lewej kolumnie odnajdź "Plugin manager", Przewiń w dół i kliknij "Get More..." (purpurowa strzałka), wyszukaj "IPonConnect" i naciśnij "Install". Po instalacji pojawi się monit o odświeżenie strony - kliknij "Refresh".
Wyłącz i włącz drukarkę przyciskiem na zasilaczu. Po kilku minutach na ekranie drukarki powinien pojawić się jej adres IP. Wejście w menu lub włożenie karty SD może spowodować zniknięcie adresu z ekranu i do jego ponownego wyświetlenia konieczny będzie restart drukarki.
Nie jesteśmy odpowiedzialni za rozwój OctoPrint, więc też nie możemy poruszyć wszystkich aspektów jego działania. Z tego względu odsyłamy do oficjalnych zasobów OctoPrint. Polecamy jednak zapoznanie się z naszym poradnikiem:
Poniżej lista wtyczek, które mogą Ci się przydać lub są po prostu fajne:
Aby używać RPi Zero/2 W podłączonego do MK3/S+ przez GPIO, musisz zmienić jedno ustawienie w menu drukarki i skonfigurować obsługę połączenia szeregowego przez RPi. Domyślnie OctoPrint nie używa pinów GPIO w Raspberry Pi do komunikacji szeregowej. Konfigurujesz to przez połączenie z nim przez SSH. Dotyczy to tylko Raspberry Pi Zero/2 podłączonych do płyty głównej Einsy w MK3S/+ bezpośrednio przez GPIO.
Na początku, aby móc w ogóle używać pinów GPIO do połączenia z drukarką, musisz aktywować port RPi (menu LCD -> Ustawienia -> Port RPi i przełącz na "wł").
Wgrany obraz OctoPrint powinien mieć włączone SSH (Secure SHell). SSH jest sposobem zdalnej kontroli nad urządzeniem po wprowadzeniu nazwy hosta (czyli nazwy RPi w sieci) i hasła. Upewnij się, że RPi i Twój komputer są podłączone do tej samej sieci i użyj poniższych danych do logowania.
Otwórz PuTTY i wpisz "nazwahosta@adres_IP" (np. '[email protected]') w polu "Host Name" (zielony prostokąt). W większości przypadków można zostawić port 22. Upewnij się, że rodzaj połączenia ("Connection type") to "SSH" i kliknij Open (purpurowa strzałka).
Klient SSH jest wbudowany w Terminal. Otwórz Terminal i wpisz:
ssh nazwahosta@adres_IP
W konsoli pojawi się monit o hasło. Wpisz swoje hasło. Podczas wpisywania nie będą pojawiać się żadne znaki. Wciśnij Enter i już masz możliwość kontroli nad RPi przy pomocy komend.
Najpopularniejsze dystrybucje mają wbudowanego klienta SSH. Jednak dla wszystkich operacji edycji poza zmianą hasła super-user RPi, możesz odnaleźć i edytować wybrane pliki podłączając kartę przez czytnik kart. Wbudowane czytniki kart mogą nie działać na maszynach wirtualnych - w takim przypadku użyj czytnika USB.
W konsoli pojawi się monit o hasło. Wpisz swoje hasło. Podczas wpisywania nie będą pojawiać się żadne znaki. Wciśnij Enter i już masz możliwość kontroli nad RPi przy pomocy komend.
Musimy zmienić dwa pliki konfiguracyjne i dodać port szeregowy przez SSH. Niektóre z tych komend pochodzą z wątku na naszym forum (dzięki Scott.w12 🙂 ).
Pierwszą rzeczą do aktywacji połączenia szeregowego jest zamiana portów używanych przez GPIO (wlutowane piny) i wewnętrzny moduł Bluetooth. Musimy dodać linię w pliku konfiguracyjnym znajdującym się w partycji "boot".
sudo nano /boot/config.txt
Przyciskiem strzałki w dół przesuń kursor na sam koniec i dopisz:
dtoverlay=pi3-miniuart-bt
Wciśnij Ctrl + X, aby wyjść z edytora tekstu Nano. Naciśnij Y, aby zapisać plik i Enter, aby potwierdzić jego nazwę.
Dla Raspberry PI Zero 2:
Jeśli napotykasz problemy z połączeniem lub odczytem/zapisem, dodaj poniższą linijkę do tego samego pliku.
dtoverlay=disable-bt
Dla pewności możesz również wyłączyć usługi Bluetooth globalnie następującą komendą wysłaną z terminala:
sudo systemctl disable hciuart.service
sudo systemctl disable bluetooth.service
Przejdźmy do kolejnego pliku konfiguracyjnego, w którym musimy usunąć porcję kodu, aby wyłączyć konsolę szeregową.
sudo nano /boot/cmdline.txt
Poszukaj tego tekstu i usuń go.
console=serial0,115200
Wprowadzenie tych wszystkich zmian wymaga zrestartowania RPi poniższą komendą.
sudo reboot
Ostatni etap konfiguracji odbywa się w przeglądarce. Otwórz przeglądarkę i wpisz "octopi.local" lub adres IP przypisany do RPi Zero W. Na początku może przywitać Cię Asystent - nie pomijaj go.
Po wyświetleniu ekranu głównego otwórz ustawienia (w prawym górnym rogu), przejdź do "Serial Connection", następnie "Additional serial ports" i wpisz następujące: (zielony prostokąt).
/dev/ttyAMA0
Zapisz zmiany i zrestartuj OctoPrint. Po ponownym uruchomieniu wybierz nowy port (purpurowa strzałka) i połącz się z drukarką (niebieski prostokąt). Dla wygody możesz zaznaczyć również pola wyboru przy "Save connection settings" oraz "Auto-connect on server startup".
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.