13년차의 서버실

서버, 인프라, 홈랩 기술 블로그

[태그:] OctoPi

  • [3D Printer] 라즈베리 파이 OctoPrint 구축: 3D 프린터 원격 제어 및 모니터링 완벽 가이드

    [3D Printer] 라즈베리 파이 OctoPrint 구축: 3D 프린터 원격 제어 및 모니터링 완벽 가이드

    안녕하세요, 13년차의 서버실 주인장입니다. 오늘은 3D 프린터를 사용하시는 분들이라면 한 번쯤 꿈꿨을 만한 이야기를 해보려고 합니다. 제가 3D 프린터를 처음 들였을 때 말이죠, 프린팅 시작하고 나서 혹시라도 실패할까 봐 계속 옆에 붙어 있거나, 멀리 나갔다가도 조마조마해서 돌아왔던 기억이 납니다. 밤새 프린팅 돌려놓고 아침에 확인해 보면 필라멘트 꼬여서 엉망진창이 된 걸 보고 좌절한 적도 많았고요. 이거 진짜 불편하더라고요.

    그러다 우연히 OctoPrint(옥토프린트)라는 걸 알게 됐습니다. 라즈베리 파이(Raspberry Pi)를 활용해서 3D 프린터를 원격으로 제어하고 모니터링할 수 있게 해주는 마법 같은 솔루션이죠. 처음엔 이걸 어떻게 설치하고 써야 하나 막막했는데, 제가 직접 삽질 좀 해보니 생각보다 훨씬 유용하고 편리하더군요. 오늘은 저처럼 3D 프린터 원격 제어에 목마르셨던 분들을 위해, 라즈베리 파이 OctoPrint 구축 과정을 완벽하게 가이드해 드리려고 합니다. 3D 프린터 원격 제어로 여러분의 작업 환경을 한 단계 업그레이드할 준비 되셨나요? 🎉

    OctoPrint, 넌 누구냐? 라즈베리 파이와 만나면 생기는 일

    OctoPrint(옥토프린트)는 쉽게 말해, 3D 프린터를 위한 웹 인터페이스 기반의 컨트롤러 소프트웨어죠. 이 소프트웨어를 라즈베리 파이에 설치하고, 라즈베리 파이를 3D 프린터와 USB 케이블로 연결하면, 여러분의 3D 프린터는 스마트 프린터로 완전히 다른 기계로 거듭나거든요.

    왜 하필 라즈베리 파이냐고요? 💡 라즈베리 파이는 저렴하고, 작고, 전력 효율이 좋아서 24시간 켜두는 컨트롤러 역할을 하기에 딱이거든요. 게다가 리눅스 기반이라 다양한 설정을 유연하게 할 수 있다는 장점도 있습니다.

    OctoPrint를 활용하면 다음과 같은 멋진 기능들을 쓸 수 있습니다:

    • 원격 제어 (Remote Control): 웹 브라우저나 스마트폰 앱으로 어디서든 프린팅 시작/중지, 온도 조절 등 모든 제어가 가능해요.
    • 실시간 모니터링 (Real-time Monitoring): 웹캠을 연결하면 프린팅 과정을 실시간으로 볼 수 있어서 실패를 조기에 감지하고 대처할 수 있죠.
    • 타임랩스 (Timelapse): 멋진 프린팅 과정을 자동으로 타임랩스 영상으로 만들어줍니다. 이거 진짜 재밌더라고요!
    • 플러그인 확장성 (Plugin Extensibility): 다양한 플러그인으로 기능을 무한 확장할 수 있습니다. 예를 들어, 프린팅 완료 시 알림을 받거나, AI로 실패를 감지하는 플러그인도 있답니다.

    OctoPrint가 라즈베리 파이를 통해 3D 프린터와 연결되어 네트워크로 제어되는 개념도입니다.

    실전 구축 가이드: 라즈베리 파이에 OctoPrint 설치하기

    자, 이제 본격적으로 OctoPrint 설치를 시작해 볼까요? 제가 직접 해보니 몇 가지 포인트만 잘 잡으면 어렵지 않더라고요. 꼼꼼히 따라오시면 됩니다.

    1. 준비물 체크리스트 ✅

    • 라즈베리 파이 (Raspberry Pi): 3B+ 이상을 권장합니다. 저는 현재 라즈베리 파이 4 모델 B 2GB를 쓰고 있는데, 쾌적합니다.
    • Micro SD 카드: 최소 16GB 이상, Class 10 이상의 고속 SD 카드가 좋습니다. (저는 32GB 사용 중입니다.)
    • 5V 고품질 전원 어댑터: 라즈베리 파이 모델에 맞는 정격 전류를 지원하는 어댑터가 중요합니다. (라즈베리 파이 4는 5V 3A, 3B+는 5V 2.5A)
    • USB A-B 케이블: 라즈베리 파이와 3D 프린터를 연결할 케이블입니다. (프린터에 따라 A-Micro B, A-C 등 다를 수 있습니다.)
    • 3D 프린터: 당연하겠죠? 🙂
    • PC 또는 노트북: SD 카드에 OS를 설치할 때 필요합니다.
    • (선택 사항) USB 웹캠: 실시간 모니터링을 위해 필요합니다. 저는 로지텍 C920을 쓰고 있습니다.

    2. OctoPi 이미지 SD 카드에 설치하기

    OctoPrint는 OctoPi(옥토파이)라는 라즈베리 파이용 OS 이미지 형태로 제공돼요. 이걸 SD 카드에 설치하는 게 가장 간편한 방법입니다.

    1. Raspberry Pi Imager(라즈베리 파이 이매저) 설치: 라즈베리 파이 공식 홈페이지에서 여러분의 OS에 맞는 Imager를 다운로드하여 설치합니다.

    2. OctoPi OS 선택: Imager를 실행한 후, ‘CHOOSE OS’를 클릭합니다. ‘Other specific-purpose OS’ > ‘3D printing’ > ‘OctoPi’를 선택합니다. 최신 버전을 선택해 주세요.

    3. 저장 공간 선택: ‘CHOOSE STORAGE’를 클릭하여 준비한 Micro SD 카드를 선택합니다. ⚠️ 올바른 드라이브를 선택했는지 반드시 다시 확인하세요! 잘못 선택하면 데이터가 날아갑니다!

    4. 설정 (중요!): 여기서 중요한 포인트입니다! 톱니바퀴 ⚙️ 모양의 ‘Settings’ 아이콘을 클릭합니다.

      • ‘Enable SSH’를 체크하고, ‘Set username and password’에 여러분이 사용할 사용자 이름(기본값은 <code>pi)과 비밀번호를 설정합니다. 나중에 원격 접속할 때 필요합니다.
      • ‘Configure wireless LAN’을 체크하고, 여러분의 Wi-Fi SSID와 비밀번호를 정확히 입력합니다. ‘Wireless LAN country’도 한국(KR)으로 설정해 주세요.
      • (선택 사항) ‘Set locale settings’에서 Timezone과 Keyboard layout을 설정하면 좋습니다.

      설정을 마치면 ‘Save’를 클릭합니다.

    5. 이미지 쓰기: ‘WRITE’ 버튼을 클릭하여 SD 카드에 OctoPi 이미지를 씁니다. 몇 분 정도 소요될 수 있습니다. 완료되면 SD 카드를 안전하게 제거합니다.

    3. 라즈베리 파이 부팅 및 웹 인터페이스 접속

    이제 거의 다 왔습니다!

    1. SD 카드 삽입 및 연결: 이미지 쓰기가 완료된 Micro SD 카드를 라즈베리 파이에 삽입합니다. 그리고 라즈베리 파이와 3D 프린터를 USB 케이블로 연결합니다.

    2. 전원 공급: 라즈베리 파이에 전원 어댑터를 연결하여 전원을 켑니다. 라즈베리 파이가 부팅을 시작할 겁니다. (처음 부팅 시 시간이 좀 걸릴 수 있습니다.)

    3. IP 주소 확인: 라즈베리 파이가 네트워크에 연결되면, 공유기 관리 페이지에서 라즈베리 파이의 IP 주소를 확인하거나, 네트워크 스캐너 앱 (예: nmap 또는 스마트폰 앱 Fing)으로 octopi.local 또는 할당된 IP 주소를 찾을 수 있습니다.

      # nmap으로 네트워크 스캔 (예시)
      sudo nmap -sn 192.168.0.0/24 # 여러분의 네트워크 대역에 맞게 수정
      # octopi.local로 접속을 시도해 보세요. 안 될 경우 IP를 직접 입력합니다.
              
    4. 웹 브라우저 접속: 웹 브라우저를 열고 http://[라즈베리 파이 IP 주소] 또는 http://octopi.local로 접속합니다.

    OctoPrint 웹 인터페이스에 처음 접속했을 때 보이는 초기 설정 화면입니다. 여기서 사용자 계정과 3D 프린터 연결 설정을 진행합니다.

    4. OctoPrint 초기 설정 마법사

    웹 인터페이스에 접속하면 OctoPrint Setup Wizard(설정 마법사)가 여러분을 반겨줄 겁니다. 차근차근 진행해 주세요.

    1. Access Control(접근 제어): 사용자 이름과 비밀번호를 설정합니다. 보안을 위해 꼭 강력한 비밀번호를 설정해 주세요.

    2. Anonymous Usage Tracking(익명 사용 추적): 선택 사항입니다. OctoPrint 개선에 기여하고 싶다면 허용해요.

    3. Connectivity Check(연결 확인): 인터넷 연결 상태를 확인합니다.

    4. Plugin Blacklist(플러그인 블랙리스트): 특정 플러그인을 제외할 수 있지만, 일반적으로는 기본 설정으로 넘어갑니다.

    5. Webcam Setup(웹캠 설정): 웹캠을 연결했다면 여기서 설정할 수 있어요. 웹캠 URL은 /webcam/?action=stream이 기본이지만, 모델에 따라 다를 수 있습니다. 나중에 ‘Settings’에서 다시 조정 가능합니다.

    6. Printer Profile(프린터 프로필): 사용하고 있는 3D 프린터의 모델명, 빌드 영역 크기(X, Y, Z), 노즐 직경 등을 입력합니다. 이는 G-code 뷰어 등에서 정확한 시각화를 위해 필요해요.

    7. Printer Connection(프린터 연결): 가장 중요한 부분입니다.

      • Serial Port(시리얼 포트): 드롭다운 메뉴에서 /dev/ttyUSB0 또는 이와 유사한 포트를 선택합니다. 이게 여러분의 3D 프린터입니다.
      • Baudrate(보드레이트): 3D 프린터의 펌웨어 설정에 맞는 보드레이트를 선택합니다. 대부분 115200 또는 250000입니다. 확실하지 않다면 ‘AUTO’로 두는 것을 추천해요.
      • ‘Connect’를 클릭하여 3D 프린터와 연결을 시도합니다. 연결에 성공하면 대시보드에 프린터 정보가 나타날 겁니다.

      모든 설정이 끝나면 ‘Finish’를 클릭합니다. 드디어 OctoPrint 구축이 완료됐어요! 🎉

    ⚠️ 삽질 경험 공유: 흔히 겪는 문제와 해결책

    제가 13년차 인프라 엔지니어인데, 사실 이런 홈랩 세팅도 삽질의 연속이거든요. OctoPrint 설치하면서 겪었던 몇 가지 문제와 해결책을 공유해 드릴게요. 혹시 비슷한 경험 있으신가요?

    • 라즈베리 파이 전원 부족 문제: ⚠️ 이거 진짜 중요합니다! 특히 라즈베리 파이 3B+ 이하 모델에 웹캠까지 연결하면 전원이 부족해서 불안정해지는 경우가 많아요. OctoPrint가 자꾸 끊기거나, 웹캠이 동작하지 않는다면 전원 부족을 의심해 보세요. 정품 또는 최소 5V 3A 이상의 고품질 어댑터 사용을 강력히 권장합니다.

    • USB 케이블 문제: 3D 프린터와 라즈베리 파이 연결 시, 저렴하거나 긴 USB 케이블은 데이터 전송 오류나 노이즈를 유발할 수 있습니다. 프린팅 중 끊기거나 오류가 발생한다면 USB 케이블 교체를 고려해 보세요. 💡 페라이트 코어가 달린 짧은 고품질 USB 케이블을 사용하면 좋습니다.

    • 시리얼 포트 인식 실패: OctoPrint에서 /dev/ttyUSB0 같은 시리얼 포트가 보이지 않거나 연결이 안 될 때가 있어요.

      1. 라즈베리 파이에 SSH로 접속하여 dmesg | grep tty 명령어로 USB 장치가 제대로 인식되었는지 확인해 보세요.
      2. 3D 프린터 전원을 한 번 껐다 켜보거나, 라즈베리 파이를 재부팅하는 것도 도움이 됩니다.
      3. 간혹 특정 3D 프린터 펌웨어와 OctoPrint 간의 호환성 문제가 있을 수 있으니, OctoPrint 포럼에서 관련 정보를 찾아보는 것도 좋은 방법입니다.
      # USB 시리얼 포트 인식 확인
      dmesg | grep tty
              

    • Wi-Fi 연결 불안정: OctoPrint가 계속 오프라인되거나 접속이 끊긴다면 Wi-Fi 신호가 약하거나 간섭이 심할 수 있습니다. 💡 라즈베리 파이를 공유기 가까이 두거나, 유선 LAN 연결을 고려해 보세요. 고정 IP를 할당하는 것도 연결 안정성에 도움이 됩니다.

    OctoPrint 대시보드 확인 및 활용 🎉

    모든 설정이 완료되면, 드디어 여러분의 OctoPrint 활용이 시작돼요! 웹 브라우저로 접속하면 다음과 같은 멋진 대시보드를 볼 수 있습니다.

    대시보드에서는 프린터의 현재 온도, 노즐/베드 온도 그래프, G-code 뷰어, 그리고 연결된 웹캠의 실시간 스트리밍 화면을 한눈에 볼 수 있어요. 제가 실제로 써보니까, 집 밖에서도 스마트폰으로 프린팅 과정을 실시간으로 확인하고, 문제가 생기면 바로 중단시킬 수 있어서 프린팅 실패율이 확 줄더라고요.

    OctoPrint 대시보드에서 3D 프린팅이 진행 중인 모습입니다. 웹캠 피드와 온도 그래프, G-code 미리보기를 한눈에 볼 수 있습니다.

    추천 플러그인 (Plugins)

    OctoPrint의 진가는 다양한 플러그인에서 나와요. ‘Settings’ > ‘Plugin Manager’에서 필요한 플러그인을 설치해 보세요.

    • OctoLapse: 예술적인 타임랩스 영상을 자동으로 만들어줍니다. 이거 진짜 신기하고 재밌어요.
    • Theming: OctoPrint 웹 UI의 색상이나 레이아웃을 커스터마이징할 수 있어요.
    • Pushbullet / Telegram: 프린팅 시작/완료/오류 발생 시 스마트폰으로 알림을 보내줍니다. 저도 프린팅 완료 알림은 필수로 쓰고 있습니다.
    • Bed Visualizer: 프린터 베드의 레벨링 상태를 시각적으로 보여줘서 레벨링할 때 아주 유용해요.

    마무리: 3D 프린팅의 새로운 지평을 열다

    오늘은 라즈베리 파이 OctoPrint 구축을 통해 3D 프린터를 원격으로 제어하고 모니터링하는 방법에 대해 자세히 알아봤습니다. 제가 처음엔 이게 뭔가 싶었는데, 막상 구축하고 나니 3D 프린팅 라이프가 완전히 달라지더라고요. 작업의 효율성은 물론이고, 불안감 없이 마음 편하게 프린팅을 돌릴 수 있게 됐습니다. 삽질 좀 했지만, 그만큼 얻은 게 많다고 생각해요.

    OctoPrint는 단순한 원격 제어를 넘어, 여러분의 3D 프린터를 더욱 스마트하고 강력하게 만들어주는 훌륭한 도구예요. 이 글이 여러분의 3D 프린팅 경험을 한 단계 끌어올리는 데 도움이 되었기를 바랍니다. 다음번에는 OctoPrint를 외부에서 더욱 안전하게 접속하는 방법 (VPN 또는 OctoPrint Anywhere)에 대해 자세히 다뤄볼게요. 그때까지 즐거운 프린팅 생활하시길 바랍니다! 😊

    OctoPrint 활용의 주요 이점과 핵심 기능들을 요약한 인포그래픽입니다. 효율적인 3D 프린팅 환경을 구축하는 데 큰 도움이 됩니다.

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

    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 [email protected]
    
    # 또는 IP 주소로 접속
    ssh [email protected]

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

    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 프린터를 통합하는 방법을 다뤄볼 예정입니다. 혹시 궁금한 점이나 다른 삽질 경험 있으시면 댓글로 공유해 주세요! 😊

  • [3D 프린팅] OctoPrint 완벽 가이드: 라즈베리 파이로 원격 제어하기

    [3D 프린팅] OctoPrint 완벽 가이드: 라즈베리 파이로 원격 제어하기

    [3D 프린팅] OctoPrint 완벽 가이드: 라즈베리 파이로 3D 프린터 원격 제어하기

    안녕하세요, 13년차 인프라 엔지니어입니다. 오늘은 제 홈랩에서 정말 유용하게 쓰고 있는 OctoPrint에 대한 이야기를 해볼까 합니다. 혹시 3D 프린터 출력 시작 버튼 누르고 나서, 혹시나 실패할까 봐 전전긍긍하며 프린터 앞에서 밤새 대기하고 계신가요? 아니면 출력 상태 확인하려고 작업실까지 왔다 갔다 하는 게 귀찮으신가요? 제가 딱 그랬거든요. 😅

    저도 처음엔 3D 프린터 출력을 시작하면 중간에 문제가 생길까 봐 걱정이 많았어요. 출력물 베드가 들뜨거나, 필라멘트가 엉키거나, 심지어는 프린터가 오작동해서 불이 날까 봐 불안했죠. 이런 불안감을 해결해 준 게 바로 라즈베리 파이와 OctoPrint였습니다. 이제는 사무실에 앉아서도, 심지어는 외부에 있을 때도 제 3D 프린터의 상태를 실시간으로 모니터링하고 제어할 수 있게 됐습니다. 정말 편하더라고요! 오늘은 이 OctoPrint를 라즈베리 파이에 설치하고 활용하는 완벽 가이드를 공유해 드릴게요. 저의 삽질 경험을 녹여냈으니, 여러분은 좀 더 쉽게 성공하실 수 있을 겁니다. 🎉

    OctoPrint가 라즈베리 파이와 3D 프린터를 연결하여 원격 제어 및 모니터링하는 전체 아키텍처 다이어그램

    OctoPrint와 라즈베리 파이, 그리고 3D 프린터의 연결 구조를 보여주는 다이어그램입니다. 마치 뇌가 신체 각 부분을 통제하는 모습과 비슷하죠?

    OctoPrint가 뭐야? 왜 써야 할까요?

    먼저 OctoPrint가 정확히 무엇인지, 그리고 왜 이걸 써야 하는지부터 알아봐야겠죠?

    OctoPrint 개념 쉽게 설명

    쉽게 말해 OctoPrint는 3D 프린터를 위한 웹 인터페이스 기반의 원격 제어 및 모니터링 시스템입니다. 오픈소스 프로젝트로, 주로 라즈베리 파이 같은 싱글 보드 컴퓨터에 설치해서 사용하죠. 3D 프린터에 USB로 연결하면, 마치 프린터의 두뇌처럼 작동하면서 웹 브라우저나 스마트폰 앱으로 모든 제어를 가능하게 해줍니다.

    OctoPi는 이런 OctoPrint를 라즈베리 파이에 쉽게 설치할 수 있도록 미리 세팅해 놓은 운영체제 이미지입니다. 라즈베리 파이 OS 위에 OctoPrint와 웹캠 스트리밍을 위한 mjpg-streamer 등이 포함되어 있어서, SD 카드에 굽기만 하면 바로 사용할 수 있어요. 저처럼 이것저것 설정하는 데 익숙한 사람에게도 편하지만, 초보자에게는 더할 나위 없이 좋은 솔루션입니다.

    OctoPrint의 주요 장점

    • 원격 제어: 웹 브라우저나 앱으로 언제 어디서든 프린터의 움직임, 온도, 팬 속도 등을 제어할 수 있습니다. G-code(3D 프린터 명령 언어)를 직접 보내는 것도 가능하죠.
    • 실시간 모니터링: 웹캠을 연결하면 실시간으로 출력 과정을 영상으로 볼 수 있습니다. 제가 가장 애용하는 기능 중 하나예요.
    • 타임랩스: 출력 과정 전체를 멋진 타임랩스 영상으로 자동 제작해 줍니다. 결과물을 보면서 뿌듯함을 느낄 수 있죠.
    • 플러그인 확장성: 수많은 플러그인이 있어서 기능을 무한히 확장할 수 있습니다. 예를 들어, AI 기반의 실패 감지 플러그인이나 Telegram 알림 플러그인 등이 있습니다.
    • 파일 관리: G-code 파일을 웹 인터페이스에서 직접 업로드하고 관리할 수 있습니다. SD 카드에 넣었다 뺐다 할 필요가 없어져요.

    실전 구현: 라즈베리 파이에 OctoPi 설치하기

    자, 이제 직접 OctoPrint를 설치해볼 차례입니다. 단계별로 차근차근 따라오시면 어렵지 않게 성공하실 수 있을 거예요. 저도 처음엔 좀 헤맸지만, 결국 해냈거든요! 💡

    준비물

    시작하기 전에 필요한 것들을 먼저 챙겨봅시다.

    • 라즈베리 파이: Raspberry Pi 3B+ 또는 Raspberry Pi 4 (2GB 이상 권장). 저는 Pi 4 4GB 모델을 쓰고 있습니다. 구형 모델은 웹캠 스트리밍 시 버벅일 수 있어요.
    • MicroSD 카드: 16GB 이상 (클래스 10 이상 권장).
    • 라즈베리 파이 전원 어댑터: 5V 3A 이상. 전원 부족은 라즈베리 파이의 가장 흔한 문제입니다. ⚠️ 정품 어댑터를 쓰시는 게 정신 건강에 좋습니다. 제가 싸구려 어댑터 썼다가 엄청 삽질했거든요.
    • USB 케이블 (Type A to B): 3D 프린터와 라즈베리 파이를 연결할 케이블.
    • USB 웹캠 (선택 사항): 모니터링을 위한 웹캠. 라즈베리 파이와 호환되는 모델인지 확인하는 게 좋아요.
    • 컴퓨터: OctoPi 이미지를 MicroSD 카드에 구울 때 사용합니다.

    단계 1: OctoPi 이미지 다운로드 및 설치

    1. OctoPi 이미지 다운로드: OctoPrint 공식 홈페이지에서 최신 OctoPi 이미지를 다운로드합니다.

    2. Raspberry Pi Imager 설치: 컴퓨터에 Raspberry Pi Imager를 설치합니다. 이 툴을 사용하면 아주 쉽게 OS 이미지를 SD 카드에 구울 수 있습니다.

    3. 이미지 굽기:

      • Imager를 실행하고 CHOOSE OS를 클릭합니다.
      • Custom을 선택한 후, 다운로드한 OctoPi 이미지를 선택합니다.
      • CHOOSE STORAGE를 클릭하여 MicroSD 카드를 선택합니다.
      • WRITE를 클릭하여 이미지를 굽습니다. 이 과정은 몇 분 정도 소요될 수 있습니다.
    4. Wi-Fi 및 SSH 설정 (강력 권장): 이미지가 성공적으로 구워지면, SD 카드가 컴퓨터에 다시 마운트됩니다. 이 SD 카드 내부에 boot 파티션이 보일 거예요. 여기에 octopi-wpa-supplicant.txt 파일을 열어서 Wi-Fi 설정을 해줍니다. 주석을 제거하고 아래와 같이 수정하세요.

      # WPA/WPA2 secured
      network={
        ssid="YOUR_WIFI_SSID"
        psk="YOUR_WIFI_PASSWORD"
      }
      

      그리고 SSH를 활성화하려면 boot 파티션에 확장자 없는 ssh라는 이름의 빈 파일을 생성합니다. 윈도우에서는 메모장으로 ssh.txt를 만든 후 확장자를 제거하면 됩니다. ⚠️ SSID나 PSK 오타 조심하세요! 제가 여기서 오타 때문에 연결이 안 돼서 한참을 헤맸습니다. ㅎㅎ

    단계 2: OctoPrint 초기 설정

    1. 라즈베리 파이 부팅: 설정이 완료된 MicroSD 카드를 라즈베리 파이에 삽입하고 전원을 연결합니다. 처음 부팅하는 데 시간이 좀 걸릴 수 있어요.

    2. OctoPrint 접속: 라즈베리 파이가 네트워크에 연결되면, 웹 브라우저를 열고 http://octopi.local 또는 라즈베리 파이의 IP 주소(예: http://192.168.1.xxx)로 접속합니다. IP 주소는 공유기 관리 페이지에서 확인하거나, nmap 같은 툴로 스캔해서 찾을 수 있습니다.

    3. 초기 설정 마법사 진행: 웹 인터페이스에 접속하면 OctoPrint 초기 설정 마법사가 시작됩니다. 사용자 이름, 비밀번호를 설정하고, 3D 프린터 프로필을 생성합니다. 프린터의 베드 사이즈, 노즐 크기 등을 입력하면 돼요. 이 과정에서 액세스 제어를 설정하여 보안을 강화하는 게 중요합니다. 외부에서 접속할 계획이라면 꼭 비밀번호를 강력하게 설정하세요!

    4. 3D 프린터 연결: 라즈베리 파이와 3D 프린터를 USB 케이블로 연결한 다음, OctoPrint 웹 인터페이스에서 Connect 버튼을 클릭합니다. 올바른 Serial Port와 Baudrate를 선택해야 합니다. 보통 자동으로 감지되지만, 안 되면 수동으로 설정해야 해요. 제 프린터는 115200 Baudrate를 썼습니다.

    OctoPrint 웹 인터페이스의 대시보드 화면, 3D 프린터 원격 제어 및 모니터링

    OctoPrint에 성공적으로 접속했을 때 볼 수 있는 대시보드 화면입니다. 제 3D 프린터가 연결되어 있고, 웹캠 스트리밍도 잘 나오고 있네요.

    단계 3: 웹캠 연결 및 설정 (선택 사항)

    실시간 모니터링의 핵심인 웹캠을 연결해봅시다.

    1. USB 웹캠 연결: 라즈베리 파이에 USB 웹캠을 연결합니다.

    2. 웹캠 스트리밍 확인: OctoPrint 웹 인터페이스의 Control 탭으로 이동하면, 웹캠 스트리밍 화면이 보일 겁니다. 만약 보이지 않으면, Settings > Webcam & Timelapse 섹션에서 Stream URL이 올바르게 설정되어 있는지 확인합니다. 보통 /webcam/?action=stream으로 되어 있을 거예요. 웹캠 호환성 문제가 있을 수 있으니, 미리 라즈베리 파이에서 잘 동작하는지 확인해두는 게 좋습니다.

    주의사항 및 삽질 해결 경험

    제가 OctoPrint를 설치하고 사용하면서 겪었던 몇 가지 문제점과 그 해결 방법을 공유해 드립니다. 여러분은 저처럼 삽질하지 마세요! 😅

    • ⚠️ 라즈베리 파이 전원 부족: 가장 흔한 문제입니다. 웹캠이나 다른 USB 장치를 연결했을 때, 라즈베리 파이의 전압이 부족하면 오작동하거나 부팅이 안 될 수 있습니다. 저는 정품 5V 3A 어댑터로 교체하고 나서 해결됐습니다. 터미널에서 dmesg | grep voltage 명령으로 전압 경고를 확인할 수 있어요.

    • ⚠️ USB 케이블 불량: 3D 프린터와 라즈베리 파이를 연결하는 USB 케이블이 불량인 경우가 의외로 많습니다. 다른 케이블로 바꿔보니 바로 연결되는 경험을 몇 번 했어요. 데이터 전송이 가능한 케이블인지 확인하세요.

    • ⚠️ Wi-Fi 연결 문제: SSID나 비밀번호에 오타가 있으면 라즈베리 파이가 Wi-Fi에 연결되지 않습니다. 특히 특수문자가 포함된 비밀번호는 더 주의해야 해요. ssh로 접속해서 sudo cat /var/log/syslog | grep wpa 명령으로 로그를 확인해보면 원인을 찾을 수 있습니다.

    • ⚠️ 웹캠 인식 문제: 일부 웹캠은 라즈베리 파이에서 제대로 인식되지 않거나, mjpg-streamer와 호환되지 않을 수 있습니다. lsusb 명령으로 웹캠이 인식되는지 확인하고, 구글에 [웹캠 모델명] Raspberry Pi OctoPrint로 검색해서 호환성 정보를 찾아보세요. 저는 로지텍 C920 모델을 사용하는데, 아무 문제 없이 잘 작동하더라고요.

    • ⚠️ 프린터 연결 오류: OctoPrint에서 프린터 연결이 안 될 때, Serial Port가 여러 개 뜨거나 Baudrate가 맞지 않는 경우가 있습니다. /dev/ttyUSB0이나 /dev/ttyACM0 같은 포트를 시도해보고, 프린터 제조사에서 권장하는 Baudrate를 찾아보세요. 보통 115200 또는 250000을 많이 써요.

    결과 확인: 따뜻한 커피와 함께하는 원격 출력!

    모든 설정이 완료되고, 드디어 OctoPrint를 통해 3D 프린터를 원격으로 제어할 수 있게 되었습니다! 🎉 이제 여러분은 웹 인터페이스에서 G-code 파일을 업로드하고, 출력을 시작하며, 웹캠으로 진행 상황을 지켜볼 수 있어요. 심지어 문제가 생기면 출력을 일시 중지하거나 취소할 수도 있죠. 이 편리함은 정말이지 겪어봐야 압니다.

    저는 이제 아침에 출근해서 사무실에 앉아 어제 자기 전에 슬라이싱해둔 G-code 파일을 OctoPrint에 업로드하고 출력을 시작합니다. 그리고 중간중간 웹캠으로 출력 상태를 확인하면서 다른 업무를 보거나, 따뜻한 커피 한 잔의 여유를 즐기죠. 예전 같으면 프린터 옆에 붙어 앉아 노심초사했을 텐데, 정말 삶의 질이 달라졌어요. 홈랩의 진정한 의미를 여기서 찾았다고 생각합니다.

    OctoPrint의 플러그인 목록 화면, 3D 프린터 기능 확장

    OctoPrint의 강력한 기능 중 하나인 플러그인 확장 기능입니다. 다양한 플러그인을 통해 기능을 무한히 확장할 수 있어요.

    마무리: 이제 당신의 3D 프린터는 스마트해졌습니다!

    오늘은 OctoPrint와 라즈베리 파이를 활용해 3D 프린터를 원격 제어하고 모니터링하는 방법에 대해 자세히 알아봤습니다. 제가 직접 경험한 삽질과 해결 과정을 공유하면서, 여러분이 좀 더 쉽고 빠르게 이 편리함을 누리시길 바라는 마음으로 글을 써봤어요.

    OctoPrint는 단순히 원격 제어를 넘어, 3D 프린팅 경험 자체를 한 단계 업그레이드 시켜주는 강력한 도구입니다. 이제 여러분의 3D 프린터도 스마트해졌으니, 더 멋진 출력물을 만드는데 집중할 수 있을 거예요. 다음 단계로는 다양한 플러그인을 활용해보시길 추천합니다. 특히 AI 기반 실패 감지 플러그인은 정말 신세계입니다. 🤩

    혹시 설치 중에 궁금한 점이나 문제가 발생하면 언제든지 댓글로 남겨주세요. 저의 13년차 인프라 경험이 여러분의 삽질을 줄여주는 데 도움이 될 수 있다면 기쁠 것 같습니다. 그럼 다음 기술 이야기에서 또 만나요! 🚀

    OctoPrint와 라즈베리 파이를 통한 3D 프린터 원격 제어 장점 인포그래픽

    OctoPrint와 라즈베리 파이의 주요 장점들을 한눈에 볼 수 있도록 요약한 인포그래픽입니다.