Távoli nyomtatás és felügyelet: az OctoPrint telepítése és használata

Mire jó az OctoPrint?

Az OctoPrint egy távoli nyomtató vezérlő megoldás, amivel böngészőből, akár otthonunktól távolról is tudjuk vezérelni a nyomtatónkat. Változatos hardverre lehet telepíteni, de a legkézenfekvőbb egy Raspberryi Pi-re telepíteni, az ár-érték arány miatt, és az alacsony fogyasztás miatt. Több modul van benne, amivel egy webkamerával figyelhetjük valós időben a nyomtatást illetve a gcode megjelenítő szintén valós időben mutatja, éppen mit csinál a nyomtató. A Repetier Host-hoz hasonló irányítási lehetőségünk is van, sőt még böngészőben is tudunk szeletelést (slicing) indítani a Cura modul segítségével. 

octoprint1.JPG

Figyelmeztetés!

Bár az OctoPrint alkalmassá teszi a nyomtatót a távoli vezérlésre, hivatalosan mi nem támogatjuk és bátorítjuk, hogy magára hagyjuk a nyomtatót, főleg ha huzamosabb időre nem vagyunk otthon. Bár konkrétan a Wanhao i3 esetén még nem volt példa arra, hogy tüzet okozzon, de az ördög nem alszik és a 3D nyomtatóknál előfordult már tűz eset. Ha mégis otthon hagynánk a nyomtatót magára, mindenképpen gondokodjuk további védelmi megoldásokról, pl. tűzriasztó, füstriasztó, adott esetben automatikus oltó szerkezet.

A telepítés

Amennyiben Raspberry Pi-re szeretnénk telepíteni, a legegyszerűbb megoldás az OctoPi letöltése, mert ez egy kész image, amit csak ki kell írnunk a MicroSD kártyára és be kell állítanunk az OctoPrint-et (ha timelapse videókat akarunk csinálni, főleg hosszú nyomtatásokról, akkor legalább 16GB-os kártyát használjunk). Innen letölthető: https://github.com/guysoft/OctoPi. Ha segítség kell a telepítésben, szívesen segítünk. 

Használata

A telepítés után az első lépésként be kell állítunk pár dolgot, pl. egy felhasználónevet, jelszót, és csak ezek megadásával válik irányíthatóvá a nyomtató, vagy lehet indítani nyomtatást. Ez azért hasznos, ha publikussá tesszük az OctoPrint webes felületét, nehogy valaki rajtunk kívül irányítgassa a nyomtatót. :) Adjunk hozzá egy nyomtató profilt is, itt csak annyit kell beállítani, hogy téglalap alapú a tárgyasztalunk, és 200x200x180-as a nyomtatási terület. Ezt a beállítást a jobb felső sarokban lévő Settings-el is előcsalogathatjuk.

octoprint3.JPG

Csatlakoztassuk a nyomtatót a Raspberryi Pi USB portjára, illetve opcionálisan webkamerát is a Raspberry-re (olyat válasszuk,amiben van hardveres MJPEG támogatás vagy pedig a Raspberry Camera Modult-t, de ez utóbbi elég drága és a szalagkábeles csatlakozás miatt kicsit körülményesebben illeszthető a nyomtatóra). Nekem most egy ilyen van, de ez sem a legolcsóbb kategória: http://support.logitech.com/en_us/product/webcam-c905

A nyomtató menüjében, a Configuration alatt, állítsuk a baudrate-et 250000-re (mentsük el az EEPROM-ba is), majd itt az OctoPrint alatt is a Connection alatt állítsuk be 250000-re. Csatlakozás után lehetőségünk van a nyomtatót irányítani és elindítani egy nyomtatást.

octoprint4.JPG

Távoli nyomtatás

Az OctoPrint fő funkciója, hogy távolról (másik szobából pl.) feltölthetünk a Raspberry Pi memóriájába gcode fájlokat, és azokat ki tudjuk nyomtatni, USB kapcsolaton keresztül. Ezzel át tudjuk hidalni a folyamatos memóriakártya ki-be rakosgatást, illetve a rohangálást. Továbbá messziről is nyomon tudjuk követni a nyomtatás állapotát, nem kell folyamatosan nézegetni az LCD-t.

A nyomtatás nagyon egyszerű: a bal oldalsó sávban az Upload gombbal fel lehet tölteni a gcode fájlt, majd az utolsó ikonnal el tudjuk indítani a nyomtatást:

octoprint7.JPG 

Nyomtatás közben az ablak (bal felső sarokban az állapot, mennyi ideig tart még a nyomtatás, stb.):
octoprint1.JPG

Valós idejű állapot gcode alapján:

octoprint2.JPG

Távoli felügyelet / irányítás

A Control fül alatt tudjuk irányítani a nyomtatónkat illetve ha van webkamera csatlakoztatva, látjuk a webkamera jelét. 

Timelapse

Egy kétségkívül látványos funkciója az OctoPrint-nek a beépített timelapse funkció, amivel egy gyorsított felvételt tudunk készíteni a nyomtatásról. Egy nem olyan jól sikerült felvétel itt: (ezen a Z magasság emelésekor készít egy új felvételt, de be lehet állítani másodperc alapú időzítést is): 

Még ki kell találnom valamit, hogy valami jobb helyre tegyem a webkamerát, rögzíteni valahova pl. Jelen pillanatban a vezérlődobozra van téve.

Slicing távolról és egyéb kiegészítők

A Settings -> Plugin manager alól telepíthetünk plusz kiegészítőket, pl. a Cura engine-t, amivel az STL feltöltésével a gcode-ot is elő tudjuk állítani, és itt használhatjuk a saját Cura profilunkat is (ini fájl feltöltése). Érdemes a többi plugin-t is átnézni, sok hasznos van.

Tapasztalatok, tippek

Nyomtatás indítása

A nyomtatást a fentiek alapján nagyon egyszerűen el tudjuk indítani, azonban még webkamera használata esetén is ajánlott az első réteg után ránézni a nyomtatásra, hogy biztosan minden rendben van-e.

Mobiltelefonos felügyelet

Bár az OctoPrint egy böngészőben futtatható alkalmazás, és így elméletben mobiltelefonon is használhatjuk, de a felületet nem mobiltelefonra optimalizálták. Két megoldás van a mobilos felügyeletre / használatra:

  • Csak a webkamera figyelése: a webkamera a http://xxxxx:8080/?action=stream címen sugároz MJPEG formátumban, amit pl. a tinycam-el lehet egyszerűbben figyelni.
  • Nyomtatás vezérlése: OctoDroid alkalmazás vagy esetleg: OctoPrint Android

Ha van megfelelő routerünk, akkor az ip címünket a pl. a www.noip.com szolgáltatásával tudjuk egy statikus hostnév alá regisztrálni, pl. 3dnyomtato.no-ip.com, stb.

Megbízhatóság

És hogy mennyire megbízható? Mindig azt szokták javasolni, hogy SD kártyáról megbízhatóbb a nyomtatás, és ez valószínűleg igaz is. De az elmúlt 2 hét tapasztalati alapján ez a megoldás is megbízható, nem egy esetben 6-7 órás nyomtatás is simán ment. Az OctoPrint pedig folyamatosan fut, nem volt szükség újraindításra 2 hét alatt sem, tehát annak az "uptime-ja" is rendben van.

További tervek

Tárgy eltávolítása

Valamit ki szeretnék találni, hogy ha nem tapad annyira a tárgy, akkor egy kis hűlés után távolról is el tudjam távolítani a tárgyat a tárgyasztalról. Erre több létező megoldás is van, ezekből fogok majd valamit kipróbálni:

Távoli ki és bekapcsolás

Megoldható egy relével a nyomtató ki-be kapcsolása OctoPrint-ből: https://github.com/foosel/OctoPrint/wiki/Controlling-a-relay-board-from-your-RPi