OctoPrint를 설치하면 3D 프린터를 원격으로 제어할 수 있다.

먼저, Octoprint 사이트는 아래와 같다.

이미지를 클릭하면 웹페이지로 이동

보통은 RaspberyPi같은 초저가/초절전 PC보드에 달아서 설치하여 3D 프린터의 통신기능을 담당하게 하는데,

나 같은 경우는 애초에 365일 24시간 도는 우분투 NAS에 이를 물리면 되므로 굳이 라즈베리파이를 설치할 필요 없이, Octoprint를 NAS에 설치하고, NAS에 프린터를 USB케이블로 물리면 끝이다.

그냥 이렇게 NAS와 3D 프린터를 놓고 USB선으로 연결하면된다. 사진상 거리에 의하면 넉넉히 2.5M 길이의 USB 케이블이 필요하다

이 프로그램은 2011년에 개인 개발자가 개발하였고, 현재는 3D 프린터의 제조사로부터 스폰서쉽을 받아서 계속 유지보수 하고 있는 중이다.

Ender 3의 제조사인 Creality도 Octoprint를 후원하고 있다!!

아래를 보다 시피, 오픈소스 치고는 상당히 퀄리티가 높다.

OctoPrint를 설치하고 기기에 연결하면, Ender 3 디스플레이창에 노즐 온도와 베드 온도 숫자만 보이고, 노즐과 베드라는 단어가 사라지는 소소한 문제가 있는데, 어쨋든 사용상의 큰 문제는 없다.

Oct Print를 통해 3D 프린터의 온도정보를 알 수 있고, 목표 온도도 설정할 수 있다.

Octprint를 통해 노즐의 위치와 익스트루더도 조작할 수 있다.

Gcode를 읽어서 현재의 인쇄 상황을 알 수 있다.

프린터에서 직접 노즐과 온도를 콘트롤 할 수 있는데, OctoPrint는 프린터제어는 물론, 위와 같이 인쇄 현황에 대해서 매우 자세히 알려준다.

이걸 원격에서 모니터링은 물론 제어도 할 수 있다는게 핵심이다.
추가적인 장점은, SD카드에 GCODE 데이터를 넣고 빼고 할 필요없이 Gcode 데이터를 웹브라우져에서 바로 업로등 하면 된다.(가장 실질적인 장점)

그리고, 캠카메라를 달아서 프린팅되고 있는 상황을 영상으로 볼 수 있다는 점이다.

나는 아직 캠을 달지는 않아서 그 기능은 못쓰고 있지만, Octoprint를 통해 프린터에 대한 제어는 할 수 있는 상황이다.

캠을 굳이 달려고 하지 않은 이유는….프린팅의 문제는 대부분 초기에 발생하고 있기 때문이다.

바로 안착불량….-_-;;; 안착불량의 여부는 Octoprint라 한들 인지하지 못한다. 설사 캠카메라로 달았다고 한들 내가 현재 외출 중이라면, 밖에서 무엇을 할 수 있는가…그저 프린팅 취소 밖에는…..

초보들이 가장 자주 겪는 안착불량…이건 스파게티를 넘어서, 거의 탕수육 수준이다.

어쨋든 몇차례의 레벨링을 거쳐서 드디어 안착불량 없이 프린팅을 하는데 성공했다.

프린팅이 잘되고 있는 모습

프린팅 최종 성공

Octoprint의 장점을 정리해 본다.
  1. Gcode 모델링 데이터를 연결하기 위해 SD카드가 필요없어지고 그냥 네트워크 환경에서 편리하게 데이터를 업로드 하고 프린터에 인쇄명령을 내리면된다.마치, 영화 아이언맨의 토니 스타크의 연구실이 된 것 마냥 착각에 살짝 빠진다.
  2. 외부에서도 웹브라우져를 통해 프린터를 직접 제어할 수 있게 된다. 온도, 노즐포지션 등
  3. 외부에서도 인쇄 상황을 알 수 있다. 현재의 인쇄 레이어 상황이나, 남은 시간 등
  4. 캠을 연결하여 프린터를 상황을 실시간으로 육안 확인 할 수 있다.
    (나같은 경우 NAS가 상시 가동이니 굳이 Octprint 없이도 마음 먹으면 캠을 설치하여 상시로 모니터링 할 수 있긴 하다.)
Octoprint의 단점도 몇가지 써본다.
  1. 설치가 윈도우즈 프로그램처럼 알아서 다해주는게 아니고, 리눅스 프로그램 설치를 공부해야 한다.(윈도우즈 프로그램도 있다고 한다!)
    나같은 경우, 아래의 링크에 도움을 받아서 설치에 성공했다.
    https://www.illuminated3d.com/2020/06/05/setting-up-octoprint-on-ubuntu-20-04-with-python-3/
  2. USB시리얼 통신으로 연결 되지만, 가끔 어떠한 경우 연결이 전혀 되지 않는다. 그 경우, 우분투 리눅스 상에서 Octoprint 서비스를 제 아무리 재시작해도 소용이 없다. 그 경우 NAS를 재부팅하면 대부분 문제가 해결되지만 , 만일 인쇄중이라면 재부팅 즉시 인쇄중인 프로세스에도 문제가 생긴다.
    USB시리얼통신은 리눅스 커널이 root 소유권으로 컨트롤하는 것이기 때문에, 통신상 문제가 발생하는 경우 Octoprint 레벨에서는 조치할 방법이 없다.
  3. Octoprint는 프린터 자체를 제어할 뿐, 인쇄물에 대한 상황을 시뮬레이션할 수 있을 뿐, 실제 상황을 알 수는 없다. 알기 위해서는 캠카메라를 통해서 모니터링하는 것 뿐이다. 알았다고 한들 할 수 있는건 인쇄 중지나 취소 뿐이다. 물론, 이는 Octoprint의 문제는 아니고 3D 프린터의 현재 기술이 그렇다.
  4. 보통의 종이 프린터처럼 3D 프린터가 절전 기능을 지원하지는 않다보니, 3D 프린터를 사용하지도 않으면서 마냥 기기를 켜놓는건 조금 부담이 되므로, 굳이 Octoprint를 써야 하는지 의문은 생긴다. 물론, 이건 Octoprint 자체의 단점은 아니다.

3D 프린터는 아무래도, 종이 프린터만큼 보다는 범용성이 약하고, 아직은 버튼 누르면 편하게 인쇄물이 나오는 그런 단순한 제품이 아니기에 아직은 일반 개인 사용자들이 OctoPrint같은 이런 원격관리 서비스들은 분명히 좋은 기능임에도 굳이 써야할 이유는 아직은 충분치 않다.

왜냐면, 원격관리의 편익보다는 안착불량이나 노즐불량 같은 인쇄 현장에서의 문제가 압도적으로 빈번하기 때문이다.

하지만, NAS가 있고, 3D 프린터에 도전중인 사람이라면 Octoprint를 사용하지 않을 이유가 없다. NAS 놀리면 뭐하는가? 일시켜야지….

설치법까지 남기고 싶지만, 위에 링크한 블로그의 내용이 어렵지 않고, 토씨 하나 안바꾸고 그대로만 하면 되기 때문에 별도로 기록하진 않는다.

그나저나…아직 레벨링도 제대로 못하는데…이런것을 먼저 관심 가지면 안되는데……..