본문 바로가기
Tech & Hobby/3D Printer

[3D Printer] OctoPrint 완벽 가이드: 3D 프린터 원격 제어 및 모니터링 설정

by 수누다 2026. 5. 1.

3D 프린터 옆에 계속 붙어 있어야 했던 그 시절

홈랩에 3D 프린터를 들인 지 얼마 안 됐을 때 얘기인데요. 처음엔 정말 신기해서 출력 내내 옆에서 지켜봤거든요. 근데 현실은 긴 출력물은 6시간, 길면 12시간씩 걸리잖아요. 그걸 매번 옆에서 볼 수도 없고, 그렇다고 자리 비웠다가 필라멘트 엉켜서 출력 실패하면... 그 허탈감이란. 😅

그러다 알게 된 게 바로 OctoPrint입니다. 처음 들었을 때 "이게 뭐지, 문어 인쇄?" 했는데 막상 써보니까 3D 프린터 생활이 완전히 바뀌더라고요. 이 글에서는 OctoPrint 설치부터 3D 프린터 원격 제어, 모니터링 설정까지 직접 구축하면서 겪은 삽질과 노하우를 공유해 드릴게요.

▲ OctoPrint 전체 구성도: 라즈베리파이가 3D 프린터와 PC/스마트폰을 연결하는 허브 역할을 합니다.

OctoPrint란? 3D 프린터 원격 제어의 핵심

OctoPrint는 3D 프린터를 웹 브라우저로 원격 제어하고 모니터링할 수 있게 해주는 오픈소스 소프트웨어예요. 쉽게 말하면, 3D 프린터에 스마트 두뇌를 달아주는 거죠.

보통 라즈베리파이(Raspberry Pi)에 설치해서 사용하는데, 라즈베리파이가 3D 프린터 옆에 항상 켜져 있으면서 USB로 프린터와 연결되고, 우리는 어디서든 웹 브라우저로 접속해서 출력을 시작하거나 멈추거나, 카메라로 실시간 확인을 할 수 있는 구조랍니다.

OctoPrint로 할 수 있는 주요 기능

  • ✅ 웹 브라우저에서 G-code 파일 업로드 및 출력 시작/정지
  • ✅ 노즐(Nozzle) 온도, 베드(Bed) 온도 실시간 모니터링 및 제어
  • ✅ 웹캠 연결 시 실시간 영상 스트리밍 및 타임랩스(Timelapse) 촬영
  • ✅ 출력 진행률, 남은 시간 확인
  • ✅ 플러그인(Plugin) 시스템으로 기능 무한 확장
  • ✅ 스마트폰 앱 연동 (OctoEverywhere, OctoApp 등)

저 처음에 온도 그래프가 실시간으로 그려지는 거 보고 진짜 감탄했었거든요. 인프라 엔지니어 감성으로 보면 Grafana 대시보드 느낌이라 바로 마음에 들었습니다 ㅎㅎ.

OctoPrint 시작하기: 준비물 체크리스트

본격적으로 OctoPrint 설치에 들어가기 전에 필요한 것들을 정리했습니다. 제가 직접 사용한 구성 기준이에요.

항목 권장 사양 비고
라즈베리파이 Raspberry Pi 3B+ 이상 Pi 4 추천 (웹캠 스트리밍 쾌적)
MicroSD 카드 8GB 이상 (Class 10) 16GB 이상 권장
USB 케이블 프린터-라즈베리파이 연결용 데이터 통신 가능한 케이블 필수
전원 어댑터 라즈베리파이 공식 어댑터 불안정한 전원은 SD 카드 손상 원인
웹캠 (선택) USB 웹캠 모니터링 강화 시 추가

⚠️ 주의: USB 케이블은 충전 전용이 아닌 데이터 통신이 가능한 케이블을 써야 해요. 이걸 몰라서 처음에 한참 헤맸거든요. 케이블 바꾸니까 바로 인식됐습니다.

OctoPrint 설치: OctoPi 이미지로 빠르게 시작하기

OctoPrint를 라즈베리파이에 설치하는 가장 쉬운 방법은 OctoPi 이미지를 사용하는 거예요. OctoPi는 라즈베리파이 OS 위에 OctoPrint가 미리 설치된 커스텀 이미지라 처음부터 직접 설치하는 것보다 훨씬 편합니다.

1단계: OctoPi 이미지 다운로드 및 SD 카드 굽기

  1. 공식 사이트(octoprint.org)에서 OctoPi 이미지를 다운로드합니다.
  2. Raspberry Pi Imager를 실행하세요.
  3. "OS 선택"에서 "Use custom"을 선택하고 다운받은 OctoPi 이미지를 선택합니다.
  4. SD 카드를 선택하고 굽기 전에 ⚙️ 고급 설정을 열어 Wi-Fi와 SSH를 미리 설정해 두세요.

💡 : Raspberry Pi Imager의 고급 설정에서 Wi-Fi SSID와 비밀번호, SSH 활성화, 사용자 이름/비밀번호를 미리 설정해두면 나중에 별도 작업 없이 바로 SSH 접속이 돼요. 이거 모르면 모니터 연결해서 설정해야 하는데, 알면 훨씬 편합니다.

2단계: Wi-Fi 설정 확인 (선택사항)

Raspberry Pi Imager에서 미리 설정했다면 이 단계는 건너뛰어도 괜찮아요. 추가 설정이 필요하면 SD 카드 루트 디렉토리의 octopi-wpa-supplicant.txt 파일을 편집할 수도 있습니다.

# octopi-wpa-supplicant.txt 예시
network={
  ssid="YOUR_WIFI_SSID"
  psk="YOUR_WIFI_PASSWORD"
}

3단계: 라즈베리파이 부팅 및 SSH 접속

SD 카드를 꽂고 전원을 연결하면 부팅이 시작돼요. 1~2분 기다린 후 SSH로 접속해 보세요.

# SSH 접속 (기본 호스트명은 octopi.local)
ssh pi@octopi.local

# 또는 IP 주소로 접속
ssh pi@192.168.x.x

접속이 되면 절반은 성공한 거예요! 🎉

4단계: OctoPrint 초기 설정 마법사

SSH 접속이 확인됐으면 이제 웹 브라우저에서 http://octopi.local 또는 라즈베리파이 IP 주소로 접속하세요. 처음 접속하면 Setup Wizard(설정 마법사)가 뜨는데, 순서대로 따라가면 돼요.

  1. Access Control(접근 제어): 관리자 계정 생성
  2. Connectivity Check: 인터넷 연결 확인
  3. Plugin Blacklist: 보안 블랙리스트 활성화 (그냥 켜두세요)
  4. Printer Profile: 3D 프린터 정보 입력

프린터 프로파일(Printer Profile) 설정 시 프린터 제조사 홈페이지나 매뉴얼에서 베드 크기, 노즐 직경 등을 확인해서 입력하면 돼요.

▲ OctoPrint 웹 대시보드: 온도 그래프, 출력 진행률, 카메라 피드가 한 화면에 표시됩니다.

3D 프린터 원격 제어 핵심 기능 설정하기

프린터 USB 연결 및 인식 확인

라즈베리파이와 3D 프린터를 USB 케이블로 연결하고 OctoPrint 웹 화면 왼쪽 상단의 Connect 버튼을 누르세요. 포트(Port)와 Baudrate(통신 속도)를 설정해야 하는데, 대부분의 경우 AUTO로 두면 자동으로 잡혀요.

# 라즈베리파이에서 연결된 USB 장치 확인
ls /dev/ttyUSB* /dev/ttyACM*

# 예시 출력
/dev/ttyACM0   # 대부분의 3D 프린터가 이 포트로 잡힙니다

가끔 권한 문제가 생기더라고요. pi 계정에 dialout 그룹 권한이 없으면 포트에 접근을 못합니다.

# dialout 그룹에 pi 사용자 추가
sudo usermod -a -G dialout pi

# 적용을 위해 재부팅
sudo reboot

웹캠 연동으로 실시간 모니터링 강화

웹캠을 연결하면 출력 중 실시간으로 프린터 상태를 볼 수 있어서 진짜 편해요. OctoPi에는 기본적으로 mjpg-streamer가 포함되어 있어서 별도 설치 없이 웹캠만 꽂으면 됩니다.

# 웹캠 인식 확인
ls /dev/video*

# mjpg-streamer 서비스 상태 확인
sudo service webcamd status

OctoPrint 설정 → Webcam & Timelapse 메뉴에서 Stream URL을 확인하세요. 기본값은 보통 http://octopi.local/webcam/?action=stream입니다.

💡 타임랩스(Timelapse) 기능: OctoPrint는 레이어 변경 시마다 사진을 찍어 자동으로 타임랩스 영상을 만들어 줘요. 출력 완료 후 설정 메뉴에서 렌더링된 영상을 다운받을 수 있어요. 이거 처음 만들어봤을 때 진짜 신기했습니다.

꼭 설치해야 할 OctoPrint 플러그인 추천

OctoPrint의 진짜 매력은 플러그인 생태계예요. Settings → Plugin Manager → Get More에서 검색해서 설치할 수 있습니다.

플러그인 이름 기능 추천 이유
Bed Visualizer 베드 레벨링 시각화 베드 평탄도를 3D 그래프로 확인
PrintTimeGenius 출력 시간 예측 개선 기본 시간 예측보다 훨씬 정확함
Telegram Notifications 텔레그램 알림 출력 완료/실패 시 스마트폰 알림
Filament Manager 필라멘트 재고 관리 남은 필라멘트 양 추적
OctoEverywhere 외부 네트워크 접속 VPN 없이 외부에서 안전하게 접속

저는 특히 Telegram Notifications 플러그인을 강력 추천해요. 출력이 완료되거나 실패했을 때 텔레그램으로 사진이랑 같이 알림이 오거든요. 다른 일 하다가 알림 받고 가서 확인하면 되니까 정말 편합니다.

⚠️ 자주 겪는 문제와 해결법

OctoPrint 구축하면서 겪은 문제들과 해결법을 정리했어요. 저만 겪은 게 아닐 거라 생각합니다.

문제 1: 프린터가 연결됐다가 끊겼다가 반복

원인은 대부분 두 가지예요. 첫째는 케이블 문제, 둘째는 라즈베리파이 전원 불안정입니다. USB 허브를 사용한다면 전원 공급이 되는 허브인지 확인하세요. 라즈베리파이 전원 어댑터는 공식 어댑터를 쓰는 게 정말 중요해요. 저도 저렴한 어댑터 쓰다가 한참 고생했거든요.

# 라즈베리파이 전원 상태 확인 (under-voltage 경고 확인)
dmesg | grep -i voltage

# 또는
vcgencmd get_throttled
# 0x0이면 정상, 다른 값이면 전원 문제

문제 2: 웹캠 화면이 안 나옴

웹캠이 USB 3.0 포트에서 인식이 안 되는 경우가 있어요. USB 2.0 포트로 바꿔서 꽂아보세요. 라즈베리파이 Pi 4에서는 USB 포트별로 전력 공급이 달라서 포트를 바꾸는 것만으로 해결되기도 합니다.

# 웹캠 인식 여부 확인
lsusb

# v4l2 장치 목록 확인
v4l2-ctl --list-devices

문제 3: 외부에서 접속이 안 됨

집 밖에서 OctoPrint에 접속하려면 포트 포워딩이나 VPN, 또는 OctoEverywhere 같은 서비스를 써야 해요. 보안 때문에 OctoPrint를 인터넷에 직접 노출하는 건 권장하지 않습니다. 저는 이미 홈랩에 VPN 서버가 있어서 VPN 연결 후 내부 IP로 접속하는 방식을 써요.

⚠️ 보안 경고: 라우터에서 OctoPrint 포트를 직접 외부에 포워딩하는 건 절대 하지 마세요. OctoEverywhere 같은 보안 터널 서비스나 VPN을 사용하세요.

▲ OctoPrint 플러그인 매니저와 텔레그램 알림 설정 화면 예시.

설정 완료! 3D 프린터 원격 제어 활용하기

모든 설정이 완료되면 이런 것들이 가능해져요. 드디어 됐다! 🎉

  • 집 어디서든 Wi-Fi 연결 상태에서 3D 프린터 원격 제어 가능
  • 스마트폰 브라우저에서도 OctoPrint 대시보드 접속 가능
  • 출력 중 자리를 비워도 카메라로 실시간 확인
  • 출력 완료/실패 시 텔레그램 알림 수신
  • 출력물마다 예쁜 타임랩스 영상 자동 생성

심화 활용: G-code 스크립트 자동화

OctoPrint에서는 출력 시작 전/후에 자동으로 실행할 G-code를 설정할 수 있어요. Settings → Printer Profiles 또는 Settings → GCODE Scripts에서 설정합니다.

# 출력 시작 전 G-code 예시 (베드 자동 레벨링 후 시작)
G28 ; 홈 포지션으로 이동
G29 ; 자동 베드 레벨링 (ABL 지원 프린터)
G92 E0 ; 익스트루더 초기화

# 출력 완료 후 G-code 예시
G91 ; 상대 좌표 모드
G1 Z10 F3000 ; Z축 10mm 올리기
G90 ; 절대 좌표 모드
G1 X0 Y200 F3000 ; 베드를 앞으로 이동 (출력물 꺼내기 쉽게)
M84 ; 모터 끄기

이런 자동화 스크립트를 잘 설정해두면 출력 시작 전 베드 레벨링을 자동으로 하거나, 출력 완료 후 베드가 자동으로 앞으로 나와서 출력물 꺼내기도 편해져요. 실제로 써보니까 이게 진짜 편하더라고요.

OctoPrint 설치 방법 비교: OctoPi vs 수동 설치

구분 OctoPi 이미지 사용 기존 라즈베리파이 OS에 수동 설치
설치 난이도 쉬움 ⭐ 보통 ⭐⭐⭐
설치 시간 15~30분 1시간 이상
웹캠 지원 기본 포함 별도 설정 필요
다른 서비스 공존 제한적 자유롭게 구성 가능
추천 대상 OctoPrint 전용 라즈베리파이 기존 라즈베리파이에 추가 설치

처음 시작하시는 분들께는 무조건 OctoPi 이미지를 추천해요. 저도 처음엔 수동 설치로 삽질하다가 결국 OctoPi로 갈아탔거든요 ㅎㅎ.

▲ OctoPrint 설치 옵션 비교 및 핵심 기능 체크리스트 요약.

자주 묻는 질문 (FAQ)

Q. 라즈베리파이 없이 OctoPrint를 쓸 수 있나요?

네, 가능해요. Windows나 macOS, Linux PC에도 설치할 수 있습니다. 다만 24시간 켜두기엔 라즈베리파이가 전기세 면에서 훨씬 유리해요. 항상 켜두는 용도라면 라즈베리파이를 강력히 추천합니다.

Q. OctoPrint 설치 후 슬라이서(Slicer) 소프트웨어는 필요 없나요?

아니요, 슬라이서는 여전히 필요해요. OctoPrint는 G-code를 프린터에 전송하고 제어하는 역할이고, G-code 파일 자체는 Cura, PrusaSlicer 같은 슬라이서로 만들어야 합니다. 슬라이서에서 만든 G-code 파일을 OctoPrint에 업로드해서 출력하는 방식이에요.

Q. OctoPrint가 무료인가요?

OctoPrint 자체는 완전히 무료 오픈소스 소프트웨어예요. 라즈베리파이 하드웨어 비용만 들고, OctoEverywhere 같은 부가 서비스는 유/무료 플랜이 있습니다.

마무리: 3D 프린터 옆에서 해방됐습니다

OctoPrint 덕분에 정말 3D 프린터 생활이 달라졌어요. 이제는 출력 시작해 놓고 다른 일 하다가 텔레그램 알림 오면 확인하는 식으로 써요. 처음 설정할 때 케이블 문제, 권한 문제로 삽질 좀 했지만 한 번 잘 잡아두면 정말 편합니다.

정리하면 이렇습니다:

  • ✅ OctoPi 이미지로 라즈베리파이에 설치 (가장 쉬운 방법)
  • ✅ USB 데이터 케이블 + 안정적인 전원 어댑터 필수
  • ✅ dialout 그룹 권한 설정 잊지 말기
  • ✅ 웹캠 연결로 3D 프린터 원격 모니터링 강화
  • ✅ Telegram Notifications 플러그인으로 알림 설정
  • ✅ 외부 접속은 VPN 또는 OctoEverywhere 사용 (보안 중요!)

다음 글에서는 OctoPrint와 Home Assistant(홈 어시스턴트)를 연동해서 스마트홈과 3D 프린터를 통합하는 방법을 다뤄볼 예정입니다. 혹시 궁금한 점이나 다른 삽질 경험 있으시면 댓글로 공유해 주세요! 😊