docs: README aktualisiert + englische Version hinzugefügt

This commit is contained in:
2026-04-21 23:57:31 +02:00
parent c97253597b
commit 8394f77767
2 changed files with 288 additions and 19 deletions

227
README.en.md Normal file
View File

@@ -0,0 +1,227 @@
# KX-Bridge
Connects the Anycubic Kobra X to OrcaSlicer no Klipper, no Raspberry Pi required.
KX-Bridge runs on your PC or NAS and provides a Moonraker-compatible interface so OrcaSlicer can control the printer directly: print start, temperatures, progress, pause/resume/cancel, AMS filament changes, print speed, and more.
**Version:** 0.9.1-beta4
---
## Included files
| File | Description |
|------|-------------|
| `kobrax_moonraker_bridge.py` | Bridge main program |
| `kx-bridge` | Pre-built Linux binary |
| `extract_credentials.exe` | Read credentials from AnycubicSlicerNext (Windows) |
| `extract_credentials` | Read credentials from AnycubicSlicerNext (Linux) |
| `kobra_x_orcaslicer_preset.zip` | OrcaSlicer printer profile for the Kobra X |
| `bridge.sh` | Linux service manager |
| `Dockerfile` / `docker-compose.yml` | Docker deployment |
| `.env.example` | Configuration template |
---
## What's supported?
- Printer status (temperature, progress, state)
- File transfer and print start
- Print control: pause, resume, cancel
- Temperature control during an active print
- Print speed (Silent / Normal / Sport)
- AMS filament change (load / unload)
- Light and fan control
- Web UI with dashboard, temperature cards, axis control, and camera view
- Settings and self-update directly in the browser (⚙ menu)
- OrcaSlicer connection (Moonraker protocol)
---
## Requirements
- Anycubic Kobra X in LAN mode (printer must be reachable via LAN, not only through Anycubic Cloud)
- PC, NAS, or server on the same network (Windows or Linux)
- Docker or Python 3.9+
- Printer MQTT credentials → [Step 1](#step-1-extract-credentials)
---
## Quick start
### Step 1: Extract credentials
The bridge needs printer-specific MQTT credentials.
> **Important:** The printer must be in LAN mode. The credentials can only be extracted when the printer is reachable directly over LAN (not solely through Anycubic Cloud).
Start AnycubicSlicerNext and connect to the printer (wait until the printer status is shown), then:
**Windows:**
```
extract_credentials.exe --write-env
```
**Linux:**
```bash
chmod +x extract_credentials
./extract_credentials --write-env
```
The credentials are saved automatically to `.env`.
> If the result looks uncertain: `--verbose` shows all found candidates. Enter the correct value manually in `.env`.
---
### Step 2: Check configuration
```bash
cp .env.example .env
# Open .env and verify the values
```
---
### Step 3: Start the bridge
**Option A Docker (recommended):**
```bash
docker compose up -d
```
Runs in the background and restarts automatically after a system reboot.
**Option B Linux binary:**
```bash
chmod +x kx-bridge
./kx-bridge
# Or with the service manager:
./bridge.sh start
```
**Option C Python directly:**
```bash
pip install aiohttp
python kobrax_moonraker_bridge.py
```
---
### Step 4: Install OrcaSlicer profile
1. Import `kobra_x_orcaslicer_preset.zip` into OrcaSlicer:
File → Import → Import Configs → select ZIP
2. Select Anycubic Kobra X as your printer
---
### Step 5: Connect OrcaSlicer
1. Open printer settings
2. Connection type: **Moonraker**
3. Host: `http://BRIDGE-PC-IP:7125`
4. Click "Test" — a success message confirms the connection
---
## Web UI
The bridge serves a web interface at `http://BRIDGE-IP:7125`:
| Section | Function |
|---------|----------|
| Dashboard | Printer status, progress, temperature overview |
| Temperatures | Set nozzle and bed temperature directly |
| Motion | X/Y/Z movement, motor release |
| Print Speed | Silent / Normal / Sport |
| Fan / Light | Fan speed and work light |
| AMS | Load / unload filament |
| Camera | Live preview (if supported by the printer) |
| ⚙ Settings | MQTT credentials, poll interval, self-update |
### Self-update
The ⚙ menu in the web UI lets you check for new versions and update the bridge in place — no reinstallation needed. After the download the bridge restarts automatically with the new version.
---
## bridge.sh Service manager (Linux)
```bash
./bridge.sh start # Start in background
./bridge.sh stop # Stop
./bridge.sh restart # Restart
./bridge.sh status # Show status
./bridge.sh log 50 # Show last 50 log lines
```
---
## Docker Useful commands
```bash
docker compose up -d # Start
docker compose down # Stop
docker compose logs -f # Follow logs
docker compose pull && docker compose up -d # Update
```
---
## Troubleshooting
**Port 7125 already in use:**
```bash
./bridge.sh stop
./bridge.sh start
```
**OrcaSlicer connection test fails:**
- Check firewall: port 7125 must be reachable
- Check bridge log: `./bridge.sh log` or `docker compose logs`
- Is the printer IP in `.env` correct?
**Credentials rejected:**
- Start AnycubicSlicerNext and connect to the printer
- Run `extract_credentials --verbose` and check all candidates
- Enter the correct value manually in `.env`, then restart the bridge
**Temperature changes are ignored:**
- During an active print, temperature changes are sent via a separate channel — this is normal and the bridge handles it automatically.
**Docker: Permission denied:**
```bash
sudo usermod -aG docker $USER
# Log out and back in, then try again
```
---
## Configuration reference (.env)
| Parameter | Description | Example |
|-----------|-------------|---------|
| `PRINTER_IP` | Printer IP address | `192.168.1.100` |
| `MQTT_PORT` | MQTT port (do not change) | `9883` |
| `MQTT_USERNAME` | Username (starts with "user") | `userXXXXXXXXXX` |
| `MQTT_PASSWORD` | Password (~15 characters) | `***` |
| `DEVICE_ID` | Device ID (32 hex characters) | `xxxxxxxx...` |
| `MODE_ID` | Model ID (Kobra X default) | `20030` |
---
## Security notes
- The bridge binds to `0.0.0.0:7125` by default — use on your local network only
- `.env` contains printer credentials — do not share publicly
- All credentials are processed locally only — nothing is sent to external servers
---
## Disclaimer
This project is intended for private use and to enable interoperability between the Anycubic Kobra X and free software (OrcaSlicer).
`extract_credentials` only reads the memory of the AnycubicSlicerNext process running on your own PC. No data is transmitted or stored anywhere other than the local `.env` file.
This project is not affiliated with Anycubic and is not operated commercially.

View File

@@ -2,7 +2,9 @@
Verbindet den Anycubic Kobra X mit OrcaSlicer ohne Klipper, ohne Raspberry Pi. Verbindet den Anycubic Kobra X mit OrcaSlicer ohne Klipper, ohne Raspberry Pi.
KX-Bridge läuft auf deinem PC oder NAS und stellt eine Schnittstelle bereit, über die OrcaSlicer den Drucker direkt steuern kann: Druckstart, Temperatur, Fortschritt, AMS-Farbwechsel. 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-beta4
--- ---
@@ -11,6 +13,7 @@ KX-Bridge läuft auf deinem PC oder NAS und stellt eine Schnittstelle bereit, ü
| Datei | Beschreibung | | Datei | Beschreibung |
|-------|-------------| |-------|-------------|
| `kobrax_moonraker_bridge.py` | Bridge-Hauptprogramm | | `kobrax_moonraker_bridge.py` | Bridge-Hauptprogramm |
| `kx-bridge` | Vorkompilierte Linux-Binary |
| `extract_credentials.exe` | Zugangsdaten aus AnycubicSlicerNext auslesen (Windows) | | `extract_credentials.exe` | Zugangsdaten aus AnycubicSlicerNext auslesen (Windows) |
| `extract_credentials` | Zugangsdaten aus AnycubicSlicerNext auslesen (Linux) | | `extract_credentials` | Zugangsdaten aus AnycubicSlicerNext auslesen (Linux) |
| `kobra_x_orcaslicer_preset.zip` | OrcaSlicer-Druckerprofil für den Kobra X | | `kobra_x_orcaslicer_preset.zip` | OrcaSlicer-Druckerprofil für den Kobra X |
@@ -20,6 +23,21 @@ KX-Bridge läuft auf deinem PC oder NAS und stellt eine Schnittstelle bereit, ü
--- ---
## 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 ## Voraussetzungen
- Anycubic Kobra X im LAN-Modus (Drucker muss über LAN erreichbar sein, nicht nur über Anycubic-Cloud) - Anycubic Kobra X im LAN-Modus (Drucker muss über LAN erreichbar sein, nicht nur über Anycubic-Cloud)
@@ -35,18 +53,16 @@ KX-Bridge läuft auf deinem PC oder NAS und stellt eine Schnittstelle bereit, ü
Die Bridge benötigt druckerspezifische MQTT-Zugangsdaten. 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. > **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.
Die Zugangsdaten werden mit `extract_credentials` aus dem laufenden AnycubicSlicerNext ausgelesen. AnycubicSlicerNext starten und mit dem Drucker verbinden (bis der Drucker-Status angezeigt wird), dann:
Vorbereitung: AnycubicSlicerNext starten und mit dem Drucker verbinden (bis der Drucker-Status angezeigt wird). **Windows:**
Windows:
``` ```
extract_credentials.exe --write-env extract_credentials.exe --write-env
``` ```
Linux: **Linux:**
```bash ```bash
chmod +x extract_credentials chmod +x extract_credentials
./extract_credentials --write-env ./extract_credentials --write-env
@@ -69,13 +85,13 @@ cp .env.example .env
### Schritt 3: Bridge starten ### Schritt 3: Bridge starten
Option A Docker (empfohlen): **Option A Docker (empfohlen):**
```bash ```bash
docker compose up -d docker compose up -d
``` ```
Läuft im Hintergrund, startet automatisch nach Systemneustart. Läuft im Hintergrund, startet automatisch nach Systemneustart.
Option B Linux Binary: **Option B Linux Binary:**
```bash ```bash
chmod +x kx-bridge chmod +x kx-bridge
./kx-bridge ./kx-bridge
@@ -83,7 +99,7 @@ chmod +x kx-bridge
./bridge.sh start ./bridge.sh start
``` ```
Option C Python direkt: **Option C Python direkt:**
```bash ```bash
pip install aiohttp pip install aiohttp
python kobrax_moonraker_bridge.py python kobrax_moonraker_bridge.py
@@ -93,7 +109,7 @@ python kobrax_moonraker_bridge.py
### Schritt 4: OrcaSlicer-Profil installieren ### Schritt 4: OrcaSlicer-Profil installieren
1. `kobra_x_orcaslicer_preset.zip` in OrcaSlicer importieren: 1. `kobra_x_orcaslicer_preset.zip` in OrcaSlicer importieren:
Datei → Konfigurationen importieren → ZIP auswählen Datei → Konfigurationen importieren → ZIP auswählen
2. Anycubic Kobra X als Drucker auswählen 2. Anycubic Kobra X als Drucker auswählen
@@ -102,9 +118,30 @@ python kobrax_moonraker_bridge.py
### Schritt 5: OrcaSlicer verbinden ### Schritt 5: OrcaSlicer verbinden
1. Drucker-Einstellungen öffnen 1. Drucker-Einstellungen öffnen
2. Verbindungstyp: Moonraker 2. Verbindungstyp: **Moonraker**
3. Adresse: `http://IP-DES-BRIDGE-PC:7125` eintragen 3. Adresse: `http://IP-DES-BRIDGE-PC:7125` eintragen
4. Auf "Test" klicken bei erfolgreicher Verbindung erscheint eine Bestätigungsmeldung 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.
--- ---
@@ -133,23 +170,26 @@ docker compose pull && docker compose up -d # Update
## Fehlerbehebung ## Fehlerbehebung
Port 7125 belegt: **Port 7125 belegt:**
```bash ```bash
./bridge.sh stop ./bridge.sh stop
./bridge.sh start ./bridge.sh start
``` ```
Verbindungstest in OrcaSlicer schlägt fehl: **Verbindungstest in OrcaSlicer schlägt fehl:**
- Firewall prüfen: Port 7125 muss erreichbar sein - Firewall prüfen: Port 7125 muss erreichbar sein
- Bridge-Log prüfen: `./bridge.sh log` oder `docker compose logs` - Bridge-Log prüfen: `./bridge.sh log` oder `docker compose logs`
- Drucker-IP in `.env` korrekt? - Drucker-IP in `.env` korrekt?
Zugangsdaten werden abgelehnt: **Zugangsdaten werden abgelehnt:**
- AnycubicSlicerNext starten, mit Drucker verbinden - AnycubicSlicerNext starten, mit Drucker verbinden
- `extract_credentials --verbose` ausführen und alle Kandidaten prüfen - `extract_credentials --verbose` ausführen und alle Kandidaten prüfen
- Richtigen Wert manuell in `.env` eintragen, Bridge neu starten - Richtigen Wert manuell in `.env` eintragen, Bridge neu starten
Docker: Permission denied: **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 ```bash
sudo usermod -aG docker $USER sudo usermod -aG docker $USER
# Neu einloggen, dann erneut versuchen # Neu einloggen, dann erneut versuchen
@@ -172,7 +212,9 @@ sudo usermod -aG docker $USER
## Sicherheitshinweise ## Sicherheitshinweise
- Alle Zugangsdaten werden ausschließlich lokal verarbeitet - 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
--- ---
@@ -180,6 +222,6 @@ sudo usermod -aG docker $USER
Dieses Projekt dient der privaten Nutzung und der Herstellung von Interoperabilität zwischen dem Anycubic Kobra X und freier Software (OrcaSlicer). 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 Tool funktioniert nur für den Prozess des Druckers, dem du selbst gehörst. `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. Das Projekt steht in keiner Verbindung zu Anycubic und wird nicht kommerziell betrieben.