# 🖨️ 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: ```json [ { "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: ```json { "printer_ip": "192.168.0.10", "file_url": "http://example.com/print_file.gcode" } ``` Antwort: ```json { "message": "Druckauftrag gestartet" } ``` ## 📄 Lizenz - --> Noch nicht verfügbar