Skip to main content

FACTOR Plugin - Remote monitoring and camera integration for OctoPrint

Project description

FACTOR × OctoPrint — 외부 모니터링 & 카메라 연동

FACTOR Logo

3D 프린터를 어디서든 모니터링하세요

하루 종일 출력 돌려놓고 집에 오니 스파게티/익스트루더 꼬임… 그래서 **OctoPrint와 연동되는 외부 모니터링 플랫폼 'FACTOR'**를 만들었습니다.

status platform license language language

🌐 웹사이트📦 다운로드📖 문서💬 이슈 제보


📋 목차


✨ 주요 기능

🖥️ 실시간 모니터링

  • 출력 진행률 및 상태 확인
  • 온도, 프린트 시간 추적
  • 여러 프린터 동시 모니터링

📹 카메라 연동

  • MJPEG/WebRTC/RTSP/HLS 지원
  • 기존 스트림 URL 그대로 사용
  • 실시간 비디오 스트리밍

🔒 보안 강화

  • MQTT TLS/SSL 암호화 지원
  • Rate limiting 및 입력 검증
  • 안전한 명령 실행

⚡ 간편한 설치

  • 5-10분 내 설정 완료
  • 플러그인 자동 업데이트
  • 직관적인 UI

🚀 빠른 시작

📝 사전 요구사항

  • OctoPrint 1.4.0 이상
  • Python 3.8 이상
  • 인터넷 연결

1단계: 회원가입

회원가입
  1. 웹사이트 접속: https://factor.io.kr
  2. 회원가입 진행:
    • 우측 상단 로그인 클릭
    • 회원가입 탭 선택
    • 이메일, 사용자명, 비밀번호 입력
    • Sign Up 버튼 클릭
  3. 이메일 인증: 메일함에서 인증 링크 클릭

💡 : 이메일이 오지 않는다면 스팸 폴더를 확인하세요.


2단계: 플러그인 설치

플러그인 관리자
  1. OctoPrint 설정 열기:
    • 우측 상단 🔧 스패너 아이콘 클릭
    • Plugin Manager 선택
URL로 설치
  1. URL로 설치:
    • Get More… 버튼 클릭
    • …from URL 선택
    • 아래 URL 붙여넣기:
    https://github.com/kangbyounggwan/octoprint-factor-plugin/archive/main.zip
    
    • Install 클릭
  2. OctoPrint 재시작: 설치 완료 후 프롬프트에 따라 재시작

⚠️ 주의: 재시작하지 않으면 플러그인이 활성화되지 않습니다.


3단계: 플러그인에서 로그인

로그인
  1. 플러그인 실행:
    • 좌측 메뉴에서 FACTOR MQTT 클릭
    • 1단계에서 생성한 이메일/비밀번호 입력
    • 로그인 버튼 클릭

4단계: 설비 등록

장비 등록
  1. Device UUID 생성:

    • 생성 버튼 클릭
    • 자동 생성된 Device UUID 확인 및 복사
  2. 카메라 설정 (선택사항):

    • 스트림 URL 입력 (예: http://192.168.1.100:8080/stream)
    • 테스트 버튼으로 연결 확인
    • 저장 클릭
  3. 등록 완료:

    • 등록 버튼 클릭

💡 지원 카메라 형식: MJPEG, WebRTC, RTSP, HLS


5단계: 웹에서 최종 설정

  1. 웹사이트로 이동:

    • 플러그인에서 FACTOR 웹사이트로 이동 버튼 클릭
    • 또는 직접 https://factor.io.kr 접속
  2. 프린터 등록:

    • 4단계에서 생성한 Device UUID 입력
    • 프린터 이름, 설명 등 설정
    • 등록 완료 클릭
  3. 모니터링 시작:

    • 대시보드에서 프린터 상태 실시간 확인
    • MQTT 자동 연결 및 데이터 전송 시작
완료

🎉 설치 완료! 이제 웹사이트에서 프린터를 모니터링하세요.


🛠️ 문제 해결

MQTT 연결 실패

증상: "연결 테스트" 실패

해결 방법:

  1. 네트워크 연결 확인
  2. 브로커 호스트/포트 재확인
  3. 방화벽 설정 확인
  4. OctoPrint 로그 확인: Settings > Logging > octoprint.plugins.factor_mqtt

카메라 스트림이 보이지 않음

증상: 웹사이트에서 카메라 피드 없음

해결 방법:

  1. 스트림 URL이 올바른지 확인
  2. HTTPS 사이트에서 HTTP 스트림은 차단될 수 있음 (Mixed Content)
  3. 브라우저 콘솔에서 에러 확인 (F12)
  4. ffmpeg 프로세스 상태 확인

로그 확인하기

# OctoPrint 로그 위치
~/.octoprint/logs/octoprint.log

# 실시간 로그 모니터링
tail -f ~/.octoprint/logs/octoprint.log | grep MQTT

일반적인 에러 코드

코드 의미 해결 방법
rc=1 잘못된 프로토콜 버전 브로커 설정 확인
rc=2 클라이언트 ID 거부 Instance ID 재생성
rc=3 서버 이용 불가 브로커 상태 확인
rc=4 잘못된 사용자명/비밀번호 인증 정보 재확인
rc=5 권한 없음 계정 권한 확인

🤝 기여하기

버그 리포트, 기능 제안, 풀 리퀘스트 환영합니다!

  1. 이 저장소를 Fork 하세요
  2. Feature 브랜치 생성 (git checkout -b feature/AmazingFeature)
  3. 변경사항 커밋 (git commit -m 'Add some AmazingFeature')
  4. 브랜치에 Push (git push origin feature/AmazingFeature)
  5. Pull Request 생성

개발 환경 설정

# 저장소 클론
git clone https://github.com/kangbyounggwan/octoprint-factor-plugin.git
cd octoprint-factor-plugin

# 가상환경 생성
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# 의존성 설치
pip install -r requirements.txt

# 개발 모드로 설치
pip install -e .

📄 라이선스

이 프로젝트는 AGPLv3 라이선스 하에 배포됩니다.


🙏 감사의 말

  • OctoPrint - 멋진 3D 프린터 제어 소프트웨어
  • Paho MQTT - MQTT 클라이언트 라이브러리
  • 모든 베타 테스터분들께 감사드립니다!

⬆ 맨 위로

Made with ❤️ by FACTOR Team

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

octoprint_factor_plugin-2.5.0.tar.gz (30.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

octoprint_factor_plugin-2.5.0-py3-none-any.whl (33.2 kB view details)

Uploaded Python 3

File details

Details for the file octoprint_factor_plugin-2.5.0.tar.gz.

File metadata

  • Download URL: octoprint_factor_plugin-2.5.0.tar.gz
  • Upload date:
  • Size: 30.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.18

File hashes

Hashes for octoprint_factor_plugin-2.5.0.tar.gz
Algorithm Hash digest
SHA256 0b0ab926be369d9211eb38d24ab4aed69d17fa2e9fabee210547318f38a9bca2
MD5 e483b78f77faeb9b5db50c558a910676
BLAKE2b-256 7bb9dd7529dffeec0acf0c5d8db8be3cb32a164d8d90401a1d050eb7649d3a01

See more details on using hashes here.

File details

Details for the file octoprint_factor_plugin-2.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for octoprint_factor_plugin-2.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f1d7c9d66299ed8c56336f8d0ea00670022d7a82160c1274cb901aeda8121d74
MD5 4935fa81f8f62fe7beac9fed39d937f5
BLAKE2b-256 0e567f29d262a58c5faad1176c10f3ec53fd387636b744daa837bc6039f68513

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page