OctoPrint
Webové rozhraní tiskového serveru OctoPrint.

V tomto návodu si ukážeme instalaci tiskového serveru OctoPrint na počítač Raspberry Pi. Postup je rozepsaný podrobně tak, aby ho zvládl i začátečník, který s Raspberry Pi nemá předchozí zkušenost. Součástí postupu jsou také předinstalované varianty systému, takže není nutné vždy začínat ruční instalací od nuly.

Varianty OctoPrintu

  1. Pouze varianta bez displeje, od které se odvíjí všechny ostatní konfigurace.
  2. Varianta s displejem a grafickým rozhraním OctoScreen.
  3. Varianta s displejem a grafickým rozhraním OctoDash.
  4. Varianta s displejem a grafickým rozhraním TouchUI.

Potřebný hardware

Raspberry PiRaspberry Pi 3B(+), případně Raspberry Pi 4B.
DisplejLCD displej 3,5" s dotykovou rezistivní vrstvou, pokud chcete variantu s lokálním ovládáním.
Micro SD kartaClass 10 nebo rychlejší, ideálně kapacita 32 GB.
KrabičkaVhodná krabička pro Raspberry Pi, například model z Thingiverse.

Potřebný software

SD Card FormatterNástroj pro formátování SD karet ve Windows.
BalenaEtcherProgram pro zápis image na SD kartu.
Win32DiskImagerAlternativa pro zápis image, která umí také vytvořit zálohu SD karty.
PuTTYTerminál pro SSH připojení k Raspberry Pi.
Advanced IP ScannerProgram pro zjištění IP adresy Raspberry v lokální síti.
OctoPiImage systému s OctoPrintem. V původním postupu byla použita verze OctoPi 0.18.0 RC2.

Ještě než se pustíme do instalace, je dobré upozornit, že postup je praktický a ověřený na konkrétní sestavě. Linux i jednodeskové počítače se vyvíjejí, takže u novějších verzí systému mohou být některé obrazovky nebo volby jiné. Pokud narazíte na problém, držte se co nejvíce stejného hardwaru a softwaru, na kterém byl postup testován.

Hardware použitý při testech

Instalaci lze provést na různém hardwaru, ale testovaná sestava byla následující: Raspberry Pi 3B, LCD displej 3,5" 480 x 320 px připojený přes GPIO/SPI a základní image OctoPrintu OctoPi 0.18.0 RC2.

Raspberry musí být při instalaci připojené k internetu, protože se vše instaluje online z repozitářů. Současně je potřeba mít k Raspberry přístup po síti, protože většina operací proběhne vzdáleně přes terminál. Pro první instalaci je vhodnější kabelové připojení než Wi-Fi.

1. Příprava SD karty

Výběr micro SD karty je důležitý. Minimem je Class 10, tedy zápis alespoň 10 MB/s, ale i to je spíše hranice. Optimální je karta kolem 32 GB a s co nejvyšší reálnou rychlostí zápisu.

Pokud máme staženou image OctoPrintu, potřebujeme program, kterým ji zapíšeme na SD kartu. V tomto postupu je použit Win32DiskImager. Vložíme SD kartu do čtečky a počkáme, až se v systému přihlásí pod nějakým písmenem, například BOOT (E).

SD karta ve Windows
SD karta připojená k počítači a viditelná jako disk BOOT.

Spustíme Win32DiskImager, vybereme image 2020-12-02-octopi-buster-armhf-lite-0.18.0.img, vybereme správnou SD kartu a klikneme na Write.

Zápis image ve Win32DiskImager
Zápis image na SD kartu pomocí Win32DiskImager.

Na obrázku je červeně orámovaný soubor image a zeleně označená SD karta. Písmeno disku budete mít nejspíš jiné. Po potvrzení začne zápis. Rychlost zápisu by neměla být nižší než 10 MB/s, jinak je vhodné použít rychlejší SD kartu.

Před samotným zápisem není nutné kartu formátovat. Zápis image vytvoří potřebné oddíly a souborové systémy. Po ukončení zápisu může Windows zobrazit hlášení, že vložená karta není naformátovaná. V žádném případě ji neformátujte, hlášení jen zavřete.

Bezpečné odebrání SD karty
Bezpečné odebrání SD karty ze systému.

2. Příprava Raspberry

Raspberry by mělo být osazeno chladiči a ideálně i aktivním chlazením, například ventilátorem 40 x 40 x 10 mm v krabičce. Velmi důležité je kvalitní napájení. Z principu není ideální napájet Raspberry přes slabý USB kabel. V ukázkové sestavě je použit malý Step-Down DC/DC měnič nastavený na 5,1 V a napájený přímo ze zdroje 3D tiskárny 12 V nebo 24 V.

Pokud používáte 3,5" TFT displej, osaďte ho opatrně do GPIO konektoru Raspberry. Dbejte na správné zasunutí, protože špatné osazení může způsobit nefunkčnost nebo poškození.

Vložte SD kartu do Raspberry, připojte ethernetový kabel s přístupem k internetu a zapněte napájení. HDMI monitor není nutný, ale může pomoci při kontrole, že Raspberry správně startuje. Malý TFT displej v této fázi ještě fungovat nebude.

Protože Raspberry neovládáme přímo klávesnicí a myší, připojíme se k němu vzdáleně přes SSH pomocí programu PuTTY.

PuTTY připojení
Nastavení SSH připojení v programu PuTTY.

Potřebujeme IP adresu, kterou Raspberry dostalo od lokálního DHCP serveru. Pokud máte připojený monitor, adresa se může zobrazit na konci startovacího logu. Jinak ji lze najít v routeru nebo pomocí programu Advanced IP Scanner.

Advanced IP Scanner
Vyhledání Raspberry v lokální síti pomocí Advanced IP Scanneru.

V ukázce má Raspberry adresu 192.168.43.26. Tuto adresu zadáme do PuTTY do pole Host Name (or IP Address). Port ponecháme 22, typ připojení SSH a klikneme na Open.

PuTTY varování
První připojení přes SSH vyžaduje potvrzení klíče serveru.

Při prvním připojení se zobrazí varování, které potvrdíme. Poté se otevře terminál a Raspberry vyzve k přihlášení.

login as: pi

password: raspberry

Při zadávání hesla se v Linux terminálu nevypisují žádné znaky. Stačí heslo napsat naslepo a potvrdit Enter.

PuTTY login
Přihlášení uživatele pi do terminálu.

Po přihlášení si všimněte IP adresy a host name http://octopi.local. Host name je pohodlnější než IP adresa, protože IP přidělená DHCP serverem se může časem změnit.

PuTTY příkazový řádek
Příkazový řádek, do kterého budeme zadávat příkazy.

Pokud se přes SSH nelze připojit, může být SSH v systému zakázané. Nejjednodušší způsob povolení je vytvořit v oddíle BOOT na SD kartě prázdný soubor SSH.TXT. Po startu Raspberry se SSH povolí.

Všechny příkazy zapisujeme do příkazového řádku a potvrzujeme Enterem. Příkaz lze také zkopírovat do schránky a v PuTTY vložit pravým tlačítkem myši.

sudo apt-get update

sudo apt-get upgrade

Při provádění příkazů může systém vyžadovat heslo nebo potvrzení operace. Pokud se zeptá, zda pokračovat, obvykle stačí zadat y a potvrdit Enter.

Po aktualizaci spustíme konfigurační utilitu Raspberry Pi:

sudo raspi-config

raspi-config
Konfigurační utilita raspi-config.

V první řadě je vhodné změnit heslo uživatele pi: 1 System Options / S3 Password. Dále v 5 Localisation Options nastavíme českou lokalizaci cs_CZ.UTF-8 UTF-8, časové pásmo Europe / Prague a WLAN Country na CZ Czech Republic.

Užitečná volba je také 6 Advanced Options / A1 Expand Filesystem, která rozšíří systémový oddíl na celou kapacitu SD karty. U oficiálních image se to často provede automaticky při prvním spuštění, ale u vlastních záloh je dobré to zkontrolovat. Pokud by byla image vytvořená ze 4GB karty a nahraná na 32GB kartu, bez rozšíření by zbytek místa zůstal nevyužitý.

Tím je základní nastavení Raspberry připravené. Další položky v raspi-config je lepší měnit pouze tehdy, pokud přesně víte, co děláte.

3. Příprava a nastavení OctoPrintu

Pro úvodní konfiguraci OctoPrintu se přihlásíme webovým prohlížečem. Do adresního řádku můžeme zadat IP adresu Raspberry, ale výhodnější je použít host name http://octopi.local.

OctoPrint Setup Wizard
Průvodce prvním nastavením OctoPrintu.

Průvodce projdeme postupně. Na úvodní kartě Start klikneme na Next. Na kartě Restore from a backup? pokračujeme dál, pokud nemáme připravenou zálohu.

V části Access Control vyplníme přihlašovací údaje pro OctoPrint. V ukázce je použito uživatelské jméno Sakul.cz a heslo octoprint, ale v reálném provozu si nastavte vlastní bezpečné heslo. Poté klikneme na Create Account a Next.

U voleb Anonymous Usage Tracking, Connectivity Check a Plugin Blacklist Processing je možné ponechat doporučené zapnutí. V části Set up your printer profile vyplníme základní údaje o tiskárně. Nastavení lze později změnit, takže není nutné se zde bát drobné nepřesnosti.

Po dokončení průvodce lze prostředí doplnit o český jazykový balíček. V horní liště klikneme na symbol klíče, v levém menu vybereme Appearance, u Language Packs klikneme na Manage, poté Browse, vybereme ZIP soubor jazykového balíčku a klikneme na Upload. Po nahrání kartu zavřeme a uložíme změny.

Server následně restartujeme přes symbol vypínače v horní liště volbou Reboot system. Po restartu by mělo být prostředí v češtině. U novějších verzí OctoPrintu mohou být některé položky nepřeložené podle aktuálnosti použitého jazykového balíčku.

Po restartu se může objevit hlášení, že je dostupná aktualizace.

OctoPrint aktualizace
OctoPrint hlásí dostupnou aktualizaci.

Aktualizaci provedeme přímo z webového rozhraní a počkáme na dokončení.

Průběh aktualizace OctoPrintu
Průběh aktualizace OctoPrintu.

Pokud aktualizace selže, může být příčinou nízké napájecí napětí Raspberry. Typicky se v horní liště objeví ikona blesku s vykřičníkem.

Varování OctoPrintu
Varování na nízké napájecí napětí Raspberry.

V takovém případě je nutné problém s napájením vyřešit. Nízké napětí může způsobovat neúspěšné aktualizace, problémy s pluginy i nestabilitu serveru.

Nyní je vhodné připojit 3D tiskárnu a ověřit, že se s ní OctoPrint spojí. Pokud ano, je praktické zapnout automatické připojení po startu serveru.

4. Vytvoření image systému

Po základním zprovoznění je velmi rozumné vytvořit zálohu SD karty. Pokud se v dalších krocích něco pokazí, nebudete muset celý postup opakovat od začátku.

Raspberry vypneme, vyjmeme SD kartu a vložíme ji do čtečky v PC. Spustíme Win32DiskImager, u položky Image File vybereme umístění a název souboru, například 1_OctoPi_0_18_0_RC2-OP_v1_5_3-Bez_TFT.img. Je důležité doplnit příponu .img. Poté klikneme na Read.

Uložení zálohy ve Win32DiskImager
Vytvoření zálohy SD karty pomocí Win32DiskImager.

Tímto způsobem lze zazálohovat jakýkoli systém uložený na SD kartě. Zálohy se vyplatí dělat pravidelně, protože SD karty mají omezenou životnost a u tiskového serveru bývají poměrně vytížené. Po nahrání zálohy na větší SD kartu je potřeba zkontrolovat rozšíření systémového oddílu na celou kapacitu karty.

5. Zprovoznění 3,5" TFT displeje

Dalším krokem je zprovoznění malého dotykového displeje. V ukázce je použit 3,5" displej s rozlišením 480 x 320 px a rezistivní dotykovou vrstvou.

3,5 palcový displej pro Raspberry Pi
3,5" TFT displej pro Raspberry Pi, pohled na PCB a konektor.

Na obrázku je displej záměrně z druhé strany, aby byla vidět deska PCB a připojovací konektor. Je potřeba přesně tato varianta. Dejte si pozor na displeje, které nemají konektor v jednom kuse, ale dělený na dvě části; takové varianty nemusí s tímto postupem fungovat.

Pokračování návodu

Tato veřejná část končí u zprovoznění základního OctoPrintu a úvodu k TFT displeji. Kompletní rozšířený návod včetně všech image je dostupný na Patreonu.

Zajímavé odkazy