티스토리 뷰
이번에 하이퍼큐브 에볼루션을 제작하면서 그 동안 3D 프린터를 사용하면서 불편했던 점 중에 하나가
원격으로 확인할 수 있는 방법이 없다는 것이다. PC에 Repetier를 설치하여 사용하더라도 일일이 원격포트를
열어주고 접속해서 확인해야하기 때문에 보안상의 이유로 다소 불안한 부분이 있었으며, 무엇보다 PC가 하루종일
켜있어야 한다는 점이다. 안그래도 전기세 때문에 좀 걱정이었는데 구글에 검색해보니 라즈베리파이에 설치하는
octoprint라는 툴이 있었다. 웹으로 접속하여 프린터가 작동되는 모습을 볼 수도 있고 프린터를 직접 연결하여
제어도 할 수 있었다. 혹시 모르는 상황에 대비하여 원격으로 전기를 차단할 수도 있다는 것이다.
설치하는동안 굉장히 많은 삽질을 했었다. 단순히 Octoprint만 사용한다면 Octoprint 이미지를 다운받아서
사용하길 권장....
https://octoprint.org -> 여기서 이미지 다운로드
1. Raspbian 설치
NOOBS로 설치해도 되고 Raspbian이미지를 받아서 직접 설치해도 된다.
나는 맥을 사용하기 때문에 Apple Pi Baker라는 앱으로 설치했다.
2. octoprint 설치
octoprint는 venv기반으로 설치를 진행하는것같다.
octoprint는 root계정이 아니라 pi로 하는것을 권장한다.
pi@raspberrypi : ~ $ cd ~
pi@raspberrypi : ~ $ sudo apt-get update
pi@raspberrypi : ~ $ sudo apt-get install python-pip python-dev python-setuptools python-virtualenv git libyaml-dev build-essential
설치하겠냐고 물어보면 y를 입력한다.
pi@raspberrypi : ~ $ mkdir OctoPrint && cd OctoPrint
pi@raspberrypi : ~/OctoPrint$ virtualenv venv
pi@raspberrypi : ~/OctoPrint$ source venv/bin/activate
pi@raspberrypi : ~/OctoPrint$ pip install pip --upgrade
pi@raspberrypi : ~/OctoPrint$ pip install https://get.octoprint.org/latest
위 순서까지 진행하면 octoprint가 자동으로 설치된다.
설치가 마무리되면 아래 명령어를 입력한다.
pi@raspberrypi : ~ $ sudo usermod -a -G tty pi
pi@raspberrypi : ~ $ sudo usermod -a -G dialout pi
여기까지 마무리하면 설치가 완료된 것이다.
이제 테스트를 해보장
pi@raspberrypi : ~ $ ~/OctoPrint/venv/bin/octoprint serve
위 명령어를 입력하면 무언가 주르르르르ㅡㄱ 뜨다가 마지막에
* Running on http://0.0.0.0:5000/
위 메세지가 뜬다. 위 메세지가 뜨면 정상적으로 실행이 완료된 것이다.
여기까지 완료하면 octoprint 설치는 정상적으로 완료된 것이다. 이제 해줘야 할 작업은
부팅 시 자동실행 되도록 하는 방법이다. 멍청하게 .bashrc나 /etc/rc.local에다가 작업하지 말자
pi@raspberrypi : ~ $ wget https://github.com/foosel/OctoPrint/raw/master/scripts/octoprint.init && sudo mv octoprint.init /etc/init.d/octoprint pi@raspberrypi : ~ $ wget https://github.com/foosel/OctoPrint/raw/master/scripts/octoprint.default && sudo mv octoprint.default /etc/default/octoprint pi@raspberrypi : ~ $ sudo chmod +x /etc/init.d/octoprint
위 작업까지 완료하면 자동실행 스크립트까지 완료된 것이다.
이제 마지막으로 파일 하나만 수정하면 된다.
pi@raspberrypi : ~ $ sudo vi /etc/default/octoprint
위 파일을 열면
# Configuration for /etc/init.d/octoprint
# The init.d script will only run if this variable non-empty.
OCTOPRINT_USER=pi
# base directory to use
#BASEDIR=/home/pi/.octoprint
# configuration file to use
#CONFIGFILE=/home/pi/.octoprint/config.yaml
# On what port to run daemon, default is 5000
PORT=5000
# Path to the OctoPrint executable, you need to set this to match your installation!
#DAEMON=/home/pi/OctoPrint/venv/bin/octoprint
# What arguments to pass to octoprint, usually no need to touch this
DAEMON_ARGS="--port=$PORT"
# Umask of files octoprint generates, Change this to 000 if running octoprint as its own, separate user
UMASK=022
# Process priority, 0 here will result in a priority 20 process.
# -2 ensures Octoprint has a slight priority over user processes.
NICELEVEL=-2
# Should we run at startup?
START=yes
위와 같이 되어있을 것이다. 아무데나 한줄 띄고
DAEMON=/home/pi/OctoPrint/venv/bin/octoprint를 적어준 다음 저장하고 나오면 된다.
이제 정상적으로 실행되는지 확인해보자.
pi@raspberrypi : ~ $ sudo reboot
pi@raspberrypi : ~ $ ps-ef | grep octo
위와 같이 입력하면
pi 392 1 4 07:59 ? 00:00:50 /home/pi/OctoPrint/venv/bin/python2 /home/pi/OctoPrint/venv/bin/octoprint serve --port=5000
octoprint가 실행되는 것을 알 수 있다.
ifconfig를 입력해서 ip주소를 확인한 다음 웹브라우저에
ip주소:5000
위와 같이 입력하면 octoprint 웹을 확인할 수 있다.
다음 포스팅에선 octoprint 초기설정에 대해 알아보장...
빠잉!
'Linux > Raspberry Pi' 카테고리의 다른 글
[fluidd pi] GPIO Control, PSU Control 버튼 만들기 (0) | 2022.09.16 |
---|---|
[Raspberry Pi] 프로그램 자동실행 서비스 등록하기 (2) | 2021.09.16 |
[Raspberry Pi] MySQL root 계정으로 로그인이 안될 때 (0) | 2021.09.13 |
- Total
- Today
- Yesterday
- 오픈소스
- DIY
- 라즈베리파이
- 아두이노
- C++
- ESP-IDF
- Fusion 360
- ESP
- 3D Printer
- SQLITE3
- 퓨전360
- fusion360
- 자작
- 3d프린터
- 쏘카
- 코딩테스트
- IOT
- 해커랭크
- 리눅스
- 프린터
- 3D 프린터
- C언어
- Arduino
- 오픈소스 하드웨어
- Hypercube
- 하드웨어
- esp32
- 설계
- 프로젝트
- 3D
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |