228 lines
6.8 KiB
Markdown
228 lines
6.8 KiB
Markdown
# KX-Bridge
|
||
|
||
Verbindet den Anycubic Kobra X mit OrcaSlicer – ohne Klipper, ohne Raspberry Pi.
|
||
|
||
KX-Bridge läuft auf deinem PC oder NAS und stellt eine Moonraker-kompatible Schnittstelle bereit, über die OrcaSlicer den Drucker direkt steuern kann: Druckstart, Temperatur, Fortschritt, Pause/Fortsetzen/Abbrechen, AMS-Farbwechsel, Druckgeschwindigkeit und mehr.
|
||
|
||
**Version:** 0.9.1-beta5
|
||
|
||
---
|
||
|
||
## Enthaltene Dateien
|
||
|
||
| Datei | Beschreibung |
|
||
|-------|-------------|
|
||
| `kobrax_moonraker_bridge.py` | Bridge-Hauptprogramm |
|
||
| `kx-bridge` | Vorkompilierte Linux-Binary |
|
||
| `extract_credentials.exe` | Zugangsdaten aus AnycubicSlicerNext auslesen (Windows) |
|
||
| `extract_credentials` | Zugangsdaten aus AnycubicSlicerNext auslesen (Linux) |
|
||
| `kobra_x_orcaslicer_preset.zip` | OrcaSlicer-Druckerprofil für den Kobra X |
|
||
| `bridge.sh` | Service-Manager für Linux |
|
||
| `Dockerfile` / `docker-compose.yml` | Docker-Deployment |
|
||
| `.env.example` | Konfigurationsvorlage |
|
||
|
||
---
|
||
|
||
## Was wird unterstützt?
|
||
|
||
- Druckerstatus (Temperatur, Fortschritt, Zustand)
|
||
- Dateiübertragung und Druckstart
|
||
- Drucksteuerung: Pause, Fortsetzen, Abbrechen
|
||
- Temperaturregelung während des laufenden Drucks
|
||
- Druckgeschwindigkeit (Leise / Normal / Sport)
|
||
- AMS-Farbwechsel (Einziehen / Ausziehen)
|
||
- Licht- und Lüftersteuerung
|
||
- Web-UI mit Dashboard, Temperaturkarten, Achsensteuerung und Kameraansicht
|
||
- Einstellungen und Self-Update direkt im Browser (⚙-Menü)
|
||
- OrcaSlicer-Verbindung (Moonraker-Protokoll)
|
||
|
||
---
|
||
|
||
## Voraussetzungen
|
||
|
||
- Anycubic Kobra X im LAN-Modus (Drucker muss über LAN erreichbar sein, nicht nur über Anycubic-Cloud)
|
||
- PC, NAS oder Server im gleichen Netzwerk (Windows oder Linux)
|
||
- Docker oder Python 3.9+
|
||
- MQTT-Zugangsdaten des Druckers → [Schritt 1](#schritt-1-zugangsdaten-ermitteln)
|
||
|
||
---
|
||
|
||
## Schnellstart
|
||
|
||
### Schritt 1: Zugangsdaten ermitteln
|
||
|
||
Die Bridge benötigt druckerspezifische MQTT-Zugangsdaten.
|
||
|
||
> **Wichtig:** Der Drucker muss sich im LAN-Modus befinden. Nur wenn der Drucker direkt über LAN (nicht ausschließlich über die Anycubic-Cloud) erreichbar ist, können die Zugangsdaten ermittelt und die Bridge genutzt werden.
|
||
|
||
AnycubicSlicerNext starten und mit dem Drucker verbinden (bis der Drucker-Status angezeigt wird), dann:
|
||
|
||
**Windows:**
|
||
```
|
||
extract_credentials.exe --write-env
|
||
```
|
||
|
||
**Linux:**
|
||
```bash
|
||
chmod +x extract_credentials
|
||
./extract_credentials --write-env
|
||
```
|
||
|
||
Die Zugangsdaten werden automatisch in `.env` gespeichert.
|
||
|
||
> Falls das Ergebnis unsicher wirkt: `--verbose` zeigt alle gefundenen Kandidaten. Den richtigen Wert manuell in `.env` eintragen.
|
||
|
||
---
|
||
|
||
### Schritt 2: Konfiguration prüfen
|
||
|
||
```bash
|
||
cp .env.example .env
|
||
# .env öffnen und Werte kontrollieren
|
||
```
|
||
|
||
---
|
||
|
||
### Schritt 3: Bridge starten
|
||
|
||
**Option A – Docker (empfohlen):**
|
||
```bash
|
||
docker compose up -d
|
||
```
|
||
Läuft im Hintergrund, startet automatisch nach Systemneustart.
|
||
|
||
**Option B – Linux Binary:**
|
||
```bash
|
||
chmod +x kx-bridge
|
||
./kx-bridge
|
||
# Oder mit Service-Manager:
|
||
./bridge.sh start
|
||
```
|
||
|
||
**Option C – Python direkt:**
|
||
```bash
|
||
pip install aiohttp
|
||
python kobrax_moonraker_bridge.py
|
||
```
|
||
|
||
---
|
||
|
||
### Schritt 4: OrcaSlicer-Profil installieren
|
||
|
||
1. `kobra_x_orcaslicer_preset.zip` in OrcaSlicer importieren:
|
||
Datei → Konfigurationen importieren → ZIP auswählen
|
||
2. Anycubic Kobra X als Drucker auswählen
|
||
|
||
---
|
||
|
||
### Schritt 5: OrcaSlicer verbinden
|
||
|
||
1. Drucker-Einstellungen öffnen
|
||
2. Verbindungstyp: **Moonraker**
|
||
3. Adresse: `http://IP-DES-BRIDGE-PC:7125` eintragen
|
||
4. Auf „Test" klicken – bei erfolgreicher Verbindung erscheint eine Bestätigungsmeldung
|
||
|
||
---
|
||
|
||
## Web-UI
|
||
|
||
Die Bridge stellt unter `http://BRIDGE-IP:7125` eine Web-Oberfläche bereit:
|
||
|
||
| Bereich | Funktion |
|
||
|---------|----------|
|
||
| Dashboard | Druckerstatus, Fortschritt, Temperaturübersicht |
|
||
| Temperaturen | Nozzle und Bett direkt setzen |
|
||
| Achsen | X/Y/Z-Bewegung, Motorfreigabe |
|
||
| Druckgeschwindigkeit | Leise / Normal / Sport |
|
||
| Lüfter / Licht | Lüfterdrehzahl und Drucklicht |
|
||
| AMS | Filament einziehen / ausziehen |
|
||
| Kamera | Live-Vorschau (falls vom Drucker unterstützt) |
|
||
| ⚙ Einstellungen | MQTT-Zugangsdaten, Poll-Intervall, Self-Update |
|
||
|
||
### Self-Update
|
||
|
||
Über das ⚙-Menü in der Web-UI kann die Bridge auf neue Versionen prüfen und sich selbst aktualisieren — ohne Neuinstallation. Nach dem Download startet sie automatisch neu.
|
||
|
||
---
|
||
|
||
## bridge.sh – Service-Manager (Linux)
|
||
|
||
```bash
|
||
./bridge.sh start # Im Hintergrund starten
|
||
./bridge.sh stop # Beenden
|
||
./bridge.sh restart # Neustarten
|
||
./bridge.sh status # Status anzeigen
|
||
./bridge.sh log 50 # Letzte 50 Log-Zeilen
|
||
```
|
||
|
||
---
|
||
|
||
## Docker – Nützliche Befehle
|
||
|
||
```bash
|
||
docker compose up -d # Starten
|
||
docker compose down # Stoppen
|
||
docker compose logs -f # Logs verfolgen
|
||
docker compose pull && docker compose up -d # Update
|
||
```
|
||
|
||
---
|
||
|
||
## Fehlerbehebung
|
||
|
||
**Port 7125 belegt:**
|
||
```bash
|
||
./bridge.sh stop
|
||
./bridge.sh start
|
||
```
|
||
|
||
**Verbindungstest in OrcaSlicer schlägt fehl:**
|
||
- Firewall prüfen: Port 7125 muss erreichbar sein
|
||
- Bridge-Log prüfen: `./bridge.sh log` oder `docker compose logs`
|
||
- Drucker-IP in `.env` korrekt?
|
||
|
||
**Zugangsdaten werden abgelehnt:**
|
||
- AnycubicSlicerNext starten, mit Drucker verbinden
|
||
- `extract_credentials --verbose` ausführen und alle Kandidaten prüfen
|
||
- Richtigen Wert manuell in `.env` eintragen, Bridge neu starten
|
||
|
||
**Temperaturänderungen werden ignoriert:**
|
||
- Während eines laufenden Drucks werden Temperaturänderungen über einen separaten Kanal gesendet — das ist normal und wird von der Bridge automatisch erkannt.
|
||
|
||
**Docker: Permission denied:**
|
||
```bash
|
||
sudo usermod -aG docker $USER
|
||
# Neu einloggen, dann erneut versuchen
|
||
```
|
||
|
||
---
|
||
|
||
## Konfigurationsreferenz (.env)
|
||
|
||
| Parameter | Beschreibung | Beispiel |
|
||
|-----------|-------------|---------|
|
||
| `PRINTER_IP` | IP-Adresse des Druckers | `192.168.1.100` |
|
||
| `MQTT_PORT` | MQTT-Port (nicht ändern) | `9883` |
|
||
| `MQTT_USERNAME` | Benutzername (beginnt mit „user") | `userXXXXXXXXXX` |
|
||
| `MQTT_PASSWORD` | Passwort (~15 Zeichen) | `***` |
|
||
| `DEVICE_ID` | Geräte-ID (32 Hex-Zeichen) | `xxxxxxxx...` |
|
||
| `MODE_ID` | Modell-ID (Kobra X Standard) | `20030` |
|
||
|
||
---
|
||
|
||
## Sicherheitshinweise
|
||
|
||
- Die Bridge bindet standardmäßig auf `0.0.0.0:7125` — nur im lokalen Netzwerk nutzen
|
||
- `.env` enthält Drucker-Credentials — nicht öffentlich teilen
|
||
- Alle Zugangsdaten werden ausschließlich lokal verarbeitet — keine Übertragung an externe Server
|
||
|
||
---
|
||
|
||
## Hinweis zur Nutzung
|
||
|
||
Dieses Projekt dient der privaten Nutzung und der Herstellung von Interoperabilität zwischen dem Anycubic Kobra X und freier Software (OrcaSlicer).
|
||
|
||
`extract_credentials` liest ausschließlich den Arbeitsspeicher des auf deinem eigenen PC laufenden AnycubicSlicerNext-Prozesses. Es werden keine Daten übertragen oder gespeichert, außer in die lokale `.env`-Datei.
|
||
|
||
Das Projekt steht in keiner Verbindung zu Anycubic und wird nicht kommerziell betrieben.
|