Skip to content

tetalit/print-helper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

3D Printer Monitoring System Documentation

Overview

This is a comprehensive 3D printer monitoring system with spaghetti detection (print failure detection) and Telegram bot integration. The system monitors ongoing prints, detects failures, and provides real-time updates through a Telegram bot interface.

Architecture

Main Components

  • Main Application: Orchestrates all services using a centralized application class
  • Printer Service: Manages communication with the OctoPrint API
  • Telegram Bot Service: Handles user interactions via Telegram
  • Spaghetti Detector: Monitors for print failures using computer vision
  • Camera Service: Centralized service for capturing images from the printer camera
  • Configuration Manager: Unified configuration system with validation

Key Features

  • Real-time print monitoring
  • Spaghetti detection (print failure detection)
  • Timelapse creation
  • Remote control via Telegram
  • Adaptive learning from user feedback
  • Graceful shutdown handling

Installation

  1. Clone the repository
  2. Install dependencies:
    pip install opencv-python requests python-telegram-bot pillow numpy
  3. Set up environment variables:
    • OCTOPRINT_API_KEY
    • TELEGRAM_BOT_TOKEN
    • CHAT_ID

Configuration

All configuration settings are managed through the unified configuration system:

config = ConfigManager()

Key configurable parameters include:

  • Detection thresholds
  • Camera settings
  • Notification preferences
  • Print monitoring intervals
  • Adaptive learning parameters

Services

CameraService

Centralized service for capturing images from the printer camera with proper resource management.

SpaghettiDetector

Uses computer vision to detect print failures with adaptive learning capabilities.

TelegramBot

Handles user interactions, notifications, and remote commands.

PrinterManager

Manages communication with the OctoPrint API for printer status and controls.

Error Handling

The system implements centralized error handling with proper logging and graceful degradation.

Logging

All important events are logged with appropriate severity levels for debugging and monitoring.

Security

  • Input validation for all user inputs
  • Secure handling of credentials
  • Environment variable validation

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages