Rock64 jako hlídač 3D tiskárny

Rock64 je jednodeskový počítač formátu RaspberryPi, který je v základu vybavený gigabitovou síťovou kartou, USB3 konektorem, slotem pro eMMC paměť do velikosti 128GB a pár dalšími vychytávkami stejně jako RPi.

Tento návod ukáže, jak na Rock64 nastavit OctoPrint pro sledování 3D tisku a ovládání tiskárny přes Serial a GPIO.

https://www.pine64.org/

Instalace

Já jsem jako základ použil Armbian Bionic 5.75 ve verzi bez GUI (Legacy kernel 4.4)

Po prvním bootu si Armbian sám vynutí změnu hesla pro Roota (defaultní přihlášení je totiž root/1234) a následně vytvoří nového uživatele s vlastním heslem. Pak už je možné přihlásit se znovu pod vlastním uživatelem a začít instalovat :

1) Aktualizace systému

sudo apt update
sudo apt upgrade

2) Potřebné balíčky

sudo apt install python-pip python-dev python-setuptools git gitk git-gui 
libyaml-dev build-essential python-virtualenv virtualenv subversion 
imagemagick ffmpeg libv4l-dev cmake motion ntpdate

3) Je vhodné nastavit si správný čas a lokalizaci:

sudo dpkg-reconfigure locales
sudo dpkg-reconfigure tzdata
sudo ntpdate tik.cesnet.cz

4) Stáhnout a nainstalovat OctoPrint

cd
git clone https://github.com/foosel/OctoPrint.git
cd OctoPrint
pip install -U pip
pip install .

5) Stáhnout a otestovat ovládání GPIO pro Rock64

cd
git clone https://github.com/Leapo/Rock64-R64.GPIO.git
cd Rock64-R64.GPIO
sudo python R64-GPIO-test.py

Nastavení Rocku

Nastavení kamery

Základní nastavení pro motion knihovnu do Rocku je ke stažení zde a je třeba nakopírovat do /etc/motion/motion.conf a nastavit v /etc/default/motion parameter start_motion_daemon=yes. Další nastavení by mělo být dostupné již přes webové rozhraní na adrese Rocku a portu 8080 Pokud provedete změny v motion.conf, je třeba tuto službu restartovat pomocí příkazu

systemctl restart motion.service
sudo motion

Jakmile si doupravíte rozhraní kamery podle potřeby, je nutné ještě prolinkovat motion a octoprint. V Octoprintu je třeba v nastavení, v záložce Webcam & Timelapse nastavit Stream URL na http://<IP_ROCKU>:8081 a otestovat funkčnost. pokud Motion nedetekuje pohyb, stream běží defaultně s frekvencí jeden snímek za vteřinu, jakmile je pohyb detekován, zvýší se framerate na 10fps. Octoprint ale předpoládá stream na 30 fps, takže je možné, že nebude test fungovat spolehlivě. K ověření funkčnosti stačí zadat stejnou adresu i port do webového prohlížeče a pokud se zobrazí náhled z kamery, vše funguje jak má.

Ovládání tiskárny pomocí GPIO

(in progress)

Pro bezpečnější ovládání tiskárny je vhodný doplněk PSU Control, který umožňuje zapínat a vypínat celou tiskárnu.

Pokud vám bude hlásit plugin manager tuto chybu:

Could not find a version that satisfies the requirement OctoPrint (from OctoPrint-PSUControl==0.1.7) (from versions: )
No matching distribution found for OctoPrint (from OctoPrint-PSUControl==0.1.7)

Je třeba znova aktualizovat pip pomocí příkazu:

pip install -U pip

Následně je možné znova nainstalovat PSU Control pomocí správce doplňků v OctoPrintu. Jelikož tento doplněk nativně podporuje pouze RaspberyPi, je nutné zprovoznit ovládání GPIO pinů ručně pomocí skriptů.

TP HD 20180311