라즈베리파이에 옥토프린트를 설치해서 3D 프린터(Ender-3) 제어하기
3D 프린터는 출력 시간이 길기 때문에 중간에 외출을 하게 될 수도 있습니다.
밖에서는 출력물이 제대로 출력되고 있는지 알 수 없고, 오류가 났다면 정지를 시켜야 필라멘트 낭비를 줄일 수 있습니다.
또한 프린팅을 진행할때마다 SD카드를 뺏다 꼈다 하는 번거로움이 있는데, octoprint
이용한다면 원격으로 3d 프린터를 제어할 수 있고, 타임랩스 기능도 제공이 되어 유용합니다.
1. 준비물
라즈베리파이3
SD 카드
3D 프린터
데이터 케이블
카메라
2. octopi 설치하기
raspberry pi imager를 다운 받고 설치 후, 실행합니다.
- 라즈베리파이 모델을 선택 합니다.
Other Specific Purpose OS
->3D printing
->OctoPi (stable)
을 선택합니다.- SD카드를 선택해줍니다.
ctrl
+shift
+x
를 누르면 세부 설정이 가능합니다. 여기서 사용자아이디
비밀번호
, 와이파이아이디
비밀번호
, 그리고시간대
를 설정해줍니다.- Next를 누르면 이미지를 굽기 시작합니다.
3. 라즈베리파이에 3D 프린터에 연결하기
SD카드를 라즈베리파이에 장착한뒤 Ender-3에 연결시켜주고, 라즈베리파이와 같은 네트워크에 연결된 컴퓨터에서 http://octopi.local 주소로 접속하면 됩니다.
만약 위의 주소로 접속이 불가능하다면 라즈베리파이에 직접 연결하여 로컬 IP주소를 가져와 주소창에 입력 후 접속하면 됩니다.
4. 옥토프린트 초기 설정
이후 초기 설정을 하는 단계가 나오는데, 아래를 참고하여 자신의 상황에 맞게 설정하면 됩니다.
Access Control
Anonymous Usage Tracking
Online connectivity check
Plugin blacklist
Default Printer Profile
5. 3D 프린터 연결
설정이 끝난뒤, 페이지에서 설정값 저장
및 시작시 서버에 자동연결
을 체크
해준 뒤 연결을 클릭
합니다.
여기까지 완료되었으면, 왼쪽 메뉴에서 gcode
파일을 원격
으로 업로드
하고, 프린트
도 원격
으로 진행할 수 있습니다.
오른쪽 메뉴에서는 히팅베드
, 노즐
의 온도
확인 및 제어, 스테퍼 모터
제어와 카메라
스트리밍, 타임랩스
설정 등이 가능합니다.
6. 포트포워딩
포트포워딩을 하면 외부에서 공유기를 통해 octoprint에 접속할 수 있습니다. 내부 포트번호
는 80
으로 설정하면 됩니다. (참고 : 라즈베리파이, 포트포워딩하기)
7. 고정 IP 설정하기
공유기 설정에서 고정IP 설정이 가능합니다. IP가 주기적으로 변경되면 외부에서 접속이 불가능하기 때문에 고정 아이피로 설정하는 것을 권장합니다.
8. 카메라
OctoPrint Settings
-> Classic Webcam
메뉴에서 Flip webcam horizontally
, Flip webcam vertically
옵션을 통해 카메라를 대칭시킬 수 있으며, Rotate webcam 90 degrees counter clockwise
옵션을 통해 회전시킬 수도 있습니다.
또한 Camera Settings
플러그인을 설치하여 비디오 비트레이트를 올려줄 수 있습니다.
9. 카메라 해상도 높이기
macOS에서 terminal을 실행한 뒤, ssh를 통해 octopi에 접속합니다.
ssh octopi.local
octopi.txt
파일을 수정합니다.
sudo /boot/nano octopi.txt
camera_raspi_options="-r 1920x1080 -f 10"
재부팅 후 적용됩니다.
sudo reboot
재부팅 후 적용됩니다.
기본값인 640x480
해상도가 1920x1080
보다 더 넓은 화각을 가지고 있습니다. (4K를 크롭해서 사용하기 때문) (참고)
10. 영상 워터마크 제거
config.yaml파일을 열어 webcam 하위 항목에 watermark: false
를 추가해줍니다.
sudo nano ~/.octoprint/config.yaml
webcam:
ffmpeg: /usr/bin/avconf
watermark: false
11. 타임랩스
Timelapse
탭으로 들어가면 옥토프린트의 내장 타임랩스 기능을 설정할 수 있습니다.
Timelapse Mode
를 On Z Change
로 설정하면, 레이어 1층이 쌓일때마다 1장의 스냅샷을 찍을 수 있습니다.
이외에 Frame rate
또는 필요한 설정을 확인해서 진행하면 됩니다.
내장 타임랩스 기능 말고도, octolapse 익스텐션을 설치하여 타임랩스를 찍을 수도 있습니다.
내장 타임랩스는 사진을 위한 일시정지가 없기 때문에 출력 시간이 동일하지만 출력물과 출력 헤더 부분이 같이 찍혀 깔끔하지 않습니다.
반면에 octolapse는 사진을 찍을때마다 xyz 축들이 정렬된 상태에서 찍기 때문에 깔끔한 영상을 얻을 수 있지만, 출력 시간이 오래 소요됩니다.
내장 타임랩스로 찍은 결과물입니다.