Webové rozhraní pro 3D tiskárnu

Aby jsme nemuseli trávit hodiny hlídáním tisku na 3D tiskárně, může se hodit vzdálené ovládaní 3D tiskárny přes webové rozhraní a nejlépe i s možností sledování pomocí webové kamerky. K tomuto účelu je Raspberry Pi Zero W jako stvořené. Má malé rozměry, nízkou pořizovací cenu, rozhraní pro připojení kamery  a spoustu možností dalšího rozšíření.

Instalace OctoPrint na Raspberry Pi Zero W

Co budeme potřebovat nakoupit:

K instalaci bude potřeba krátkodobě si zapůjčit Raspberry Pi Zero bez WiFi (platí v době psaní článku 7.6.2017)

K řízení 3D tiskárny využijeme webovou aplikaci OctoPrint a připravený image OS OctoPi. Bohužel zatím není k dispozici stable verze image OctoPi podporující Zero W, takže musíme použít pro přípravu původní  Zero bez WiFi. Stáhneme stable verzi OctoPi 0.13 z adresy  https://octopi.octoprint.org/.  Nahrajeme stažený image na microSD kartu pomocí programu  Win32 Disk Imager.

Ještě než microSD kartu vložíme do Raspberry Pi Zero tak si nastavíme parametry pro WiFi připojení. Otevřme k editaci soubor octopi-network.txt nejlépe programem PSpad, v případě zabezpečení WiFi sítě pomocí WPA/WPA2 do proměnné wpa-ssid zadáme název naší WiFi sítě a do proměnné wpa-psk přihlašovací heslo.

Nyní můžeme microSD kartu vložit do Raspberry Pi Zero, připojit WiFi adaptér a napájení a vyčkat než se nainstaluje Raspbian z nahrané image. Instalaci můžeme případně sledovat přes připojený monitor přes HDMI nebo vyčkat cca 3 minuty. Nyní by jsme měli vidět připojené Zero na našem AP s možností zjištění jakou dostalo přidělenou IP adresu. Vše je možné provést pohodlně i z mobilního telefonu s Androidem ve kterém si zapneme hotspot za předpokladu že máme datové služby.

Nyní se můžeme k Raspberry Pi Zero připojit pomocí SSH a provést aktualizaci jádra a firmware linuxu Raspbian. Pro připojení použijeme v případě Windows aplikaci PuTTY v případě Androidu například aplikaci Mobile SSH. Do Raspberry Pi Zero se přihlásíte pomocí IP, kterou jsme si před chvíli zjistili s uživatelským jménem pi a heslem raspberry. Nyní zadáte níže uvedené příkazy a vždy vyčkáte na dokončení – instalace, zejména apt-get dist-upgrade, bude trvat déle.

sudo su
apt-get update
apt-get dist-upgrade
apt-get install rpi-update
rpi-update
apt-get clean

Nyní můžeme Raspberry Pi Zero odpojit a microSD kartu vyjmout a vložit do Raspberry Pi Zero W s připojenou kamerou. Po zapnutí napájení by nám mělo Zero naběhnou a připojit se k síti WiFi.

Nyní se již můžeme připojit na webové rozhraní aplikace OctoPrint, stačí jen zadat do prohlížeče IP adresu Raspberry Pi Zero W. Při prvním spuštění jsme vyzvání k volbě přihlašovacích údajů a následně se nám již nabídne aktualizace nejnovější verze OctoPrint.

 

Instalace češtiny pro OctoPrint

Ač překlad pro aplikaci OctoPrint je již delší dobu kompletně hotov tak bohužel není čeština v aplikaci dostupná což je velká škoda. Naštěstí si můžeme balíček s češtinou zkompilovat sami – máme řece k dispozici Raspberry Pi s linuxem ;-).

Připojíme se k Raspberry Pi Zero W připojit pomocí SSH a zadáme postupně tyto příkazy:

sudo su
service octoprint stop
cd /home/pi/OctoPrint/translations/
mkdir cs
cd cs
mkdir LC_MESSAGES
cd LC_MESSAGES
wget https://www.maxinoha.cz/wp-content/uploads/2019/01/messages.po
cd /home/pi/OctoPrint
source /home/pi/oprint/bin/activate
python setup.py develop
python setup.py babel_compile
python setup.py babel_bundle --locale=cs
service octoprint start

Nyní by již mělo webové rozhraní OctoPrint naběhnout v češtině a pro jistotu nastavíme češtinu jako výchozí jazyk, viz následující obrázek.

 

Instalace pluginu Email Notifier

Instalace a konfigurace tohoto pluginu se zdá být trochu komplikovanější, tak si popíšeme postup. Nejdříve provedeme instalaci pluginu standardně přes webové rozhraní OctoPrint a po instalaci provedeme restart.

Nyní se k Raspberry Pi Zero W připojíme pomocí SSH a zadáme postupně tyto příkazy:

sudo su
/home/pi/oprint/bin/pip install keyring --no-deps
/home/pi/oprint/bin/pip install yagmail
/home/pi/oprint/bin/python
import yagmail
import keyring
yagmail.register('vaš-login-na-smtp', 'vaše-heslo')

Z pythonu vyskočíte pomocí kláves CTL-Z, následně provedete reboot. Pak již stačí přes webové rozhraní nastavit příjemce, smtp server a přihlašovací jméno a vykoušet odeslat testovací e-mail.