2025-03-12 12:33:05 +01:00

2.4 KiB
Executable File

🖨️ 3D-Drucker Status API 📊

Willkommen beim Blueprint der 3D-Drucker Status API! Diese API ermöglicht es Ihnen, den Status mehrerer über LAN verbundener 3D-Drucker zu überwachen und Druckaufträge an sie zu senden.

🌟 Funktionen

  • 🔍 Abrufen des Status von 3D-Druckern, einschließlich ihres aktuellen Status, Fortschrittes und Temperatur.
  • 📥 Senden von Druckaufträgen an verfügbare 3D-Drucker.
  • 💾 Speichern und Aktualisieren des Status jedes Druckers in einer SQLite-Datenbank.

🛠️Verwendete Technologien

  • 🐍 Python
  • 🌶️ Flask
  • 🗄️ SQLite
  • 🌐 HTTP-Anfragen

📋 Verordnungen

Bevor Sie die API starten, stellen Sie sicher, dass Sie folgendes haben:

  • Python 3.x installiert
  • Flask und python-dotenv-Bibliotheken installiert (pip install flask python-dotenv)
  • Eine Liste von IP-Adressen der 3D-Drucker, die Sie überwachen möchten

🚀 Erste Schritte

  1. Klonen Sie das Repository:

    git clone https://git.i.mercedes-benz.com/TBA-Berlin-FI/MYP
    
  2. Installieren Sie die erforderlichen Abhängigkeiten:

    pip install -r requirements.txt
    
  3. Erstellen Sie eine .env-Datei im Projektverzeichnis und geben Sie die IP-Adressen Ihrer 3D-Drucker an:

    PRINTER_IPS=192.168.0.10,192.168.0.11,192.168.0.12
    
  4. Starten Sie das Skript, um die SQLite-Datenbank zu erstellen:

    python create_db.py
    
  5. Starten Sie den API-Server:

    python app.py
    
  6. Die API ist unter http://localhost:5000 erreichbar.

📡 API-Endpunkte

  • GET /printer_status: Rufen Sie den Status aller 3D-Drucker ab.
  • POST /print_job: Senden Sie einen Druckauftrag an einen bestimmten 3D-Drucker.

📝 API-Nutzung

Druckerstatus abrufen

Senden Sie eine GET-Anfrage an /printer_status, um den Status aller 3D-Drucker abzurufen.

Antwort:

[
  {
    "ip": "192.168.0.10",
    "status": "frei",
    "progress": 0,
    "temperature": 25
  },
  {
    "ip": "192.168.0.11",
    "status": "besetzt",
    "progress": 50,
    "temperature": 180
  },
  ...
]

Druckauftrag senden

Senden Sie eine POST-Anfrage an /print_job mit der folgenden JSON-Last, um einen Druckauftrag an einen bestimmten 3D-Drucker zu senden:

{
  "printer_ip": "192.168.0.10",
  "file_url": "http://example.com/print_file.gcode"
}

Antwort:

{
  "message": "Druckauftrag gestartet"
}

📄 Lizenz

  • --> Noch nicht verfügbar