본문 바로가기
3D프린팅

옥토프린터 수동 설치 방법과 옥토파이로 자동설치 하는법 모두 알아봅시다

by YJHTPII 2022. 5. 26.
반응형

https://kwonkyo.tistory.com/388

 

옥토프린터 수동 설치 방법과 옥토파이로 자동설치 하는법 모두 알아봅시다

옥토프린터를 설치하는 방법은 여러 가지가 있을 수 있는데 가장 쉬운 방법은 OctoPi를 사용하는 방법입니다. (옥토파이 설치는 포스팅 뒷부분을 참고해주세요) OctoPi는 라즈베리파이를 옥토프린

kwonkyo.tistory.com

 

옥토프린터를 설치하는 방법은 여러 가지가 있을 수 있는데 가장 쉬운 방법은 OctoPi를 사용하는 방법입니다. (옥토파이 설치는 포스팅 뒷부분을 참고해주세요) OctoPi는 라즈베리파이를 옥토프린터를 사용하는데 최적화된 세팅으로 미리 만들어둔 라즈비언 이미지를 의미합니다. 그래서 라즈베리파이의 부팅 이미지로 옥토파이를 선택하면 운영체제와 옥토프린터 그리고 각종 필수 플러그인까지 모두 한 번에 설치할 수 있죠. 

하지만 옥토프린터를 사용하시는 분들이 대부분 라즈베리파이 3B+ 이상을 사용하시는데 라즈베리파이를 옥토프린터만 사용하기에 오버스펙이라 아까운 것 같습니다. 그래서 라즈베리파이를 범용 라즈비안을 설치하고 옥토프린터를 별도로 설치해 봤습니다.

 

 

먼저 라즈비안이 설치된 라즈베리 파이를 준비합니다. 라즈비안 설치 및 초기화에 대한 내용이 궁금하시다면 이전 포스팅을 참조해 주세요.

 

라즈베리파이 처음 사용자를 위한 기본설정 A to Z

제목은 거창한데 A to Z는 아니고 사실은 A to C 정도이고 라즈베리파이를 처음 만져보는 저 같은 사람이 뭔가를 해보기 위해서 기본적으로 필요한 작업들을 모아봤습니다. 지금까지 했던 일련의 �

kwonkyo.tistory.com

 

octoprint 설치

저는 기본계정인 pi로 설치했습니다. 시작하기 전 패키징 업그레이드를 한번 해줍니다. 음.. 다들하길래 저도 하고 시작할게요.

pi@raspberrypi :~ $ sudo apt-get update
(중략)
pi@raspberrypi :~ $ sudo apt-get upgrade

옥토프린터는 파이썬으로 만들어져 있어서 파이썬 사용 환경을 만들어주어야 하는데요. 필요한 파일들을 한 번에 설치해 줍니다.

pi@raspberrypi :~ $ sudo apt-get install python-pip python-dev python-setuptools python-virtualenv git libyaml-dev build-essential

 

 

이제 옥토 프린터를 설치하기 위한 폴더를 하나 만들어주겠습니다.

pi@raspberrypi :~ $ mkdir octoprint

옥토프린트 폴더로 이동해서 virtualenv 환경을 활성화해주고 파이선 패키지들도 업그레이드해줍니다. virtualenv라는 건 옥토프린터 뿐만아니라 파이썬을 이용하는 다른 프로그램들이 패키지 버전 의존성이 다를 수 있기 때문에 옥토프린터만을 위한 개발환경을 가상으로 꾸며주는 그런 역할을 한다고 합니다.

pi@raspberrypi :~ $ cd octoprint
pi@raspberrypi :~/octoprint$ virtualenv venv
(중략)
pi@raspberrypi :~/octoprint$ source venv/bin/activate
(venv) pi@raspberrypi :~/octoprint$ pip install pip --upgrade

이제 옥토프린트의 최신 버전을 pip로 설치합니다.

(venv) pi@raspberrypi :~/octoprint$ pip install https://get.octoprint.org/latest

마지막으로 pi 계정에 터미널과 시리얼 접근권한을 추가해서 옥토프린트가 3D 프린터를 컨트롤할 수 있도록 합니다.

pi@raspberrypi :~ $ sudo usermod -a -G tty pi
pi@raspberrypi :~ $ sudo usermod -a -G dialout pi

이제 설치가 끝났습니다.

옥토프린트 실행

pi@raspberrypi :~ $ ~/octoprint/venv/bin/octoprint serve

위와 같은 명령어로 옥토프린트 서버를 실행합니다.

옥토프린트에 접속해 보겠습니다. 옥토프린트의 기본 포트는 5000번입니다. 웹브라우저에서 옥토프린터 주소를 입력해서 접속합니다. 다음 그림처럼 환영 메시지를 만나셨나요? 그럼 설치가 잘 되었네요.

 

 

옥토프린트 자동실행

저는 옥토프린트를 라즈베리파이의 여러 기능들 중 하나로 사용하기 때문에 옥토프린트가 늘 실행되어 있을 필요가 없습니다. 필요할 때마다 실행시켜서 사용을 할텐데요. 하지만 라즈베리파이가 켜지면 옥토프린트가 자동으로 실행되기를 원할 수도 있을 텐데요. 그럴 때 아래 링크에 있는 스크립트를 사용해주면 된다고 합니다.

 

OctoPrint/OctoPrint

OctoPrint is the snappy web interface for your 3D printer! - OctoPrint/OctoPrint

github.com

 위 링크에 들어가 보시면 "cotoprint.default, octoprint.init, octoprint.service" 이렇게 3가지 파일을 보실 수 있는데 이 중에서 "cotoprint.default, octoprint.init" 스크립트를 복사해와서 자동실행 설정을 해줄 수 있습니다. 다음과 같이 wget 명령어를 이용해서 스크립트를 복사해와서 default와 init.d 스크립트 폴더에 각각 저장을 합니다.

pi@raspberrypi :~ $ wget https://github.com/foosel/OctoPrint/raw/master/scripts/octoprint.init 
pi@raspberrypi :~ $ sudo mv octoprint.init /etc/init.d/octoprint
pi@raspberrypi :~ $ wget https://github.com/foosel/OctoPrint/raw/master/scripts/octoprint.default
pi@raspberrypi :~ $ sudo mv octoprint.default /etc/default/octoprint

이제 스크립트에 실행 권한을

pi@raspberrypi :~ $ sudo chmod +x /etc/init.d/octoprint

마지막으로 저장을 한 스크립트 중 default 폴더에 저장을 한 파일을 열어보면 아래와 같은 내용이 있는데요 여기서 16행의 맨 앞에 "#"를 지우고 주석 해제를 해 줍니다.

 

 

앞서 옥토프린터를 설치한 경로와 일치되게 각 폴더명이 동일한지 한번 확인하시고 파일 저장하시면 되겠습니다. (리눅스에서는 경로에 영문 대소문자를 구분합니다)

 

옥토파이 설치

지금까지는 라즈베리파이 OS에 옥토프린트를 별도로 설치하는 방법을 알아봤는데요. 이것저것 다 귀찮다 하시면 바로 옥토파이만 설치하실수도 있습니다.

먼저 아래 경로에서 옥토파이 이미지를 다운로드합니다.

octoprint.org/download/

 

 

다음으로 부팅 디스크를 만들어주는 프로그램을 다운로드합니다. 사용할 수 있는 프로그램의 종류가 다양한데요. 옥토파이 홈페이지에서 안내하고 있는 Etcher를 사용하겠습니다.

https://www.balena.io/etcher/

위 주소로 가서 Etcher를 받아 설치하고 프로그램을 실행합니다.

Etcher 사용법은 간단합니다. 다운로드한 옥토파이 이미지를 선택하고, 두 번째로 옥토파이를 설치할 메모리카드를 선택하고 마지막 "Flash"버튼을 눌러주면 됩니다.

 

 

한참 기다리면 옥토파이가 설치된 SD카드가 만들어집니다.

 

 

SD카드를 라즈베리파이로 옮겨 가기 전에 한 가지만 먼저 수정해줍니다. SD카드 내용을 파일 탐색기로 열어보면 "octopi-wpa-supplicant.txt"파일을 찾을 수 있는데요 여기서 라즈베리파이가 와이파이에 바로 접속할 수 있도록 네트워크 설정을 수정합니다.

 

 

이 파일을 수정하실 때 주의할 점이 워드패드나 메모장은 사용하지 말라고 하네요. 

 

 

자세한 이유는 모르지만 저는 VSCode를 이용했었는데 아무 문제가 없었습니다.

이렇게 하고 나서 SD카드를 라즈베리파이에 넣어주고 그냥 켜주기만 하시면 옥토프린터 서버가 가동되고 "ip주소:5000"으로 서버에 접속할 수 있습니다.

 

 

 

끝!

 

반응형

댓글