Community-Stufe · kostenlos für die private Nutzung · ohne Konto
Hol dir Melanite.
Eine Laufzeit, drei Wege, sie zu betreiben. Es ist dasselbe Produkt — nimm den Weg, der zu der Hardware vor dir passt.
Worauf soll Melanite laufen?
Wähl die Hardware vor dir. Den Rest machen wir Schritt für Schritt zusammen.
Windows oder Mac?
Welche Art Prozessor hat er?
Nicht sicher? Führ das auf dem Rechner aus — es zeigt amd64 oder arm64:
dpkg --print-architecture Schritt 1 von 3
Docker Desktop installieren
Das solltest du sehen
Docker Desktop ist offen und zeigt Engine running.
Hat nicht geklappt?
- Windows will WSL installieren oder aktualisieren: bestätige das und starte neu, wenn es danach fragt.
- Es startet nicht: Starte den Computer nach der Installation einmal neu.
- Auf dem Mac nimm den Download, der zu deinem Mac passt: Apple-Menü → Über diesen Mac zeigt Apple M… oder Intel.
Schritt 2 von 3
Melanite starten
docker run -d --name melanite --restart unless-stopped `
--stop-timeout 30 --cap-add SYS_NICE `
--ulimit rtprio=99 --ulimit memlock=-1 `
-p 5001:5001 -p 5002:5002 -p 1883:1883 `
-v melanite-data:/data/melanite `
-e TZ={TZ} `
-e MELANITE_FLAVOR_FILE=/usr/share/melanite/flavor.desktop.json `
melanite.io/melanite:latest docker run -d --name melanite --restart unless-stopped \
--stop-timeout 30 --cap-add SYS_NICE \
--ulimit rtprio=99 --ulimit memlock=-1 \
-p 5001:5001 -p 5002:5002 -p 1883:1883 \
-v melanite-data:/data/melanite \
-e TZ={TZ} \
-e MELANITE_FLAVOR_FILE=/usr/share/melanite/flavor.desktop.json \
melanite.io/melanite:latest Das solltest du sehen
Beim ersten Mal lädt es ein, zwei Minuten und zeigt dann eine lange Zeile aus Buchstaben und Zahlen. Diese Zeile heißt: Melanite läuft.
Hat nicht geklappt?
- Cannot connect to the Docker daemon: Docker Desktop läuft noch nicht — starte es und versuch es noch einmal.
- port is already allocated: Ein anderes Programm nutzt Port 5001. Ändere
-p 5001:5001in-p 5081:5001und nimm im nächsten Schritt Port 5081. - The container name "/melanite" is already in use: Du hast es schon einmal gestartet. Führ stattdessen
docker start melaniteaus.
Schritt 3 von 3
Melanite öffnen
Das solltest du sehen
Die Einrichtung von Melanite fragt nach einem Namen und einer Admin-PIN. Schreib dir die PIN auf: Sie schützt alles, was eine Maschine bewegen kann.
Hat nicht geklappt?
- Die Seite lädt nicht: Gib ihr eine halbe Minute — der erste Start dauert einen Moment — und lade neu.
Schritt 1 von 6
Prüf, was du brauchst
- Einen Raspberry Pi 5 und sein Netzteil
- Eine microSD-Karte mit 32 GB oder mehr und einen Kartenleser
- Ein Netzwerkkabel zu deinem Router — und, für den ersten Start am einfachsten, einen Bildschirm (Micro-HDMI)
- Einen Windows-, Mac- oder Linux-Computer
Schritt 2 von 6
Raspberry Pi Imager installieren
Das solltest du sehen
Der Imager öffnet sich und fragt nach deinem Gerät.
Schritt 3 von 6
Melanite herunterladen
Melanite für Raspberry Pi laden
Diese Datei ist noch nicht veröffentlicht, deshalb geht dieser Schritt heute noch nicht. Hinterlass unten auf der Seite deine Adresse, dann sagen wir dir Bescheid.
Das solltest du sehen
Eine Datei, deren Name auf .wic.xz endet, in deinen Downloads. Lass sie gepackt — der Imager entpackt sie beim Schreiben.
Schritt 4 von 6
Karte beschreiben
Das solltest du sehen
Der Imager schreibt das Image, prüft es und sagt, dass du die Karte entnehmen kannst.
Hat nicht geklappt?
- Der Imager bietet an, das Betriebssystem anzupassen (Hostname, WLAN, Benutzer): überspring das — Melanite richtet sich beim ersten Start selbst ein und würde diese Einstellungen ignorieren.
- Die Datei taucht in der Dateiauswahl nicht auf: Stell den Dateityp der Auswahl auf alle Dateien.
- Die Karte ist zu klein oder das Schreiben scheitert kurz vor Schluss: Melanite braucht 32 GB oder mehr.
- Verifizierung fehlgeschlagen: Schreib noch einmal oder nimm eine andere Karte — billige Karten fallen öfter aus.
- Lieber balenaEtcher? Wähl Flash from URL, füg
https://melanite.io/get/raspberry-piein, wähl die Karte und flash.
Schritt 5 von 6
Den Pi starten
Das solltest du sehen
Mit Bildschirm: Nach ein, zwei Minuten erscheint die Einrichtung von Melanite. Ohne: Der Pi taucht in der Geräteliste deines Routers als melanite- mit sechs weiteren Zeichen auf.
Hat nicht geklappt?
- Nach drei Minuten nichts auf dem Bildschirm: Prüf, ob die Karte ganz drin steckt, und schalte den Strom aus und wieder an.
Schritt 6 von 6
Einrichten
http://melanite-xxxxxx.local:5001 auf deinem Computer, mit dem Namen aus der Liste deines Routers.Das solltest du sehen
Die Einrichtung fragt nach einem Namen und einer Admin-PIN. Schreib dir die PIN auf.
Hat nicht geklappt?
melanite-….localöffnet sich nicht: Nimm stattdessen die IP-Adresse aus der Liste deines Routers, z. B.http://192.168.1.42:5001.
Schritt 1 von 6
Prüf, was du brauchst
- Ein Compute Module 5 mit eMMC
- Das CM5 IO Board oder ein Trägerboard, dessen USB-Boot-Port du erreichst
- Ein USB-C-Kabel, das Daten überträgt, und das Netzteil des Boards
- Ein Netzwerkkabel — und, für den ersten Start am einfachsten, einen Bildschirm
- Einen Windows-, Mac- oder Linux-Computer
Schritt 2 von 6
Imager und rpiboot installieren
rpiboot-Installer holen (Windows)
git clone --depth=1 https://github.com/raspberrypi/usbboot && cd usbboot
make && sudo ./rpiboot Das solltest du sehen
Beides ist installiert.
Hat nicht geklappt?
- Windows: der rpiboot-Installer (rpiboot_setup.exe, aus usbboot von Raspberry Pi).
- Mac oder Linux: Bau es mit den zwei gezeigten Zeilen aus dem Quellcode (Mac: installier vorher
libusbmit Homebrew).
Schritt 3 von 6
Melanite herunterladen
Melanite für Raspberry Pi laden
Diese Datei ist noch nicht veröffentlicht, deshalb geht dieser Schritt heute noch nicht. Hinterlass unten auf der Seite deine Adresse, dann sagen wir dir Bescheid.
Das solltest du sehen
Eine Datei, deren Name auf .wic.xz endet, in deinen Downloads. Lass sie gepackt.
Schritt 4 von 6
Das eMMC sichtbar machen
Das solltest du sehen
Nach ein paar Sekunden taucht das eMMC auf deinem Computer als neues Laufwerk auf.
Hat nicht geklappt?
- Es erscheint nichts: Prüf den Jumper und nimm ein USB-C-Kabel, das Daten überträgt, nicht nur Strom.
Schritt 5 von 6
Das eMMC beschreiben
Das solltest du sehen
Der Imager schreibt das Image, prüft es und meldet Erfolg.
Hat nicht geklappt?
- Der Imager bietet an, das Betriebssystem anzupassen: überspring das — Melanite richtet sich beim ersten Start selbst ein.
- Das Schreiben scheitert unter Windows: Der Imager unter Windows ist beim Schreiben dieses Images auf ein CM5 bekanntermaßen unzuverlässig. Von einem Linux-Computer aus klappt es — die Befehle stehen in der Referenz.
Schritt 6 von 6
Starten
http://melanite-xxxxxx.local:5001 mit dem Namen aus der Liste deines Routers.Das solltest du sehen
Die Einrichtung fragt nach einem Namen und einer Admin-PIN. Schreib dir die PIN auf.
Schritt 1 von 3
Das Paket installieren
curl -fLo melanite.deb https://melanite.io/get/linux-deb-{ARCH} && sudo apt install ./melanite.deb Diese Datei ist noch nicht veröffentlicht, deshalb geht dieser Schritt heute noch nicht. Hinterlass unten auf der Seite deine Adresse, dann sagen wir dir Bescheid.
Das solltest du sehen
apt installiert Melanite und startet es als zwei Dienste, melanite und melanite-rt.
Hat nicht geklappt?
- Kein Debian oder Ubuntu: Nimm den Tarball — die Befehle stehen in der Referenz.
- curl: command not found: Installier es vorher mit
sudo apt install curl.
Schritt 2 von 3
Melanite öffnen
http://<dieser Rechner>:5001.Das solltest du sehen
Die Einrichtung von Melanite fragt nach einem Namen und einer Admin-PIN. Schreib dir die PIN auf.
Schritt 3 von 3
Die Echtzeit-Bereitschaft prüfen
melanite-check Das solltest du sehen
Eine Liste von Prüfungen mit Urteil. Zu jeder fehlgeschlagenen gibt es die Lösung; Exit-Status 0 heißt bereit für harte Echtzeit.
Melanite läuft.
Als Nächstes: Bau deinen ersten Regelkreis — ein PID hält einen Wert auf seinem Sollwert, in etwa zehn Minuten.
- Docker Jeder PC, Server oder NAS — Windows, macOS oder Linux. In Minuten startklar. amd64 · arm64
- Linux-Paket Dein eigener Industrie-PC, NUC oder Raspberry Pi 5, als zwei systemd-Dienste. amd64 · arm64
- Raspberry Pi Ein Image für den Pi 5 und das Compute Module 5: flashen, und das Board bootet als SPS mit Touch-HMI. Pi 5 · CM5
01
Docker
Das ganze Melanite in einem Container: die Node-Engine mit ihrem Echtzeit-Prozess, die HMI, die 2D- und 3D-Ansichten, MQTT, Modbus TCP und WLED. Was ein Container nicht haben kann, sagt er dir selbst unter Einstellungen → Dieser Rechner.
-
Speichere das als compose.yaml:
services: melanite: image: melanite.io/melanite:latest container_name: melanite restart: unless-stopped network_mode: host # found on the LAN as itself: mDNS, MQTT, pairing cap_add: [SYS_NICE] # the real-time process may run at SCHED_FIFO ulimits: { rtprio: 99, memlock: -1 } volumes: - melanite-data:/data/melanite - /etc/localtime:/etc/localtime:ro environment: MELANITE_RT_STOP_TIMEOUT: "5" MELANITE_APP_STOP_TIMEOUT: "20" stop_grace_period: 30s volumes: melanite-data:services: melanite: image: melanite.io/melanite:latest container_name: melanite restart: unless-stopped environment: MELANITE_FLAVOR_FILE: /usr/share/melanite/flavor.desktop.json TZ: Europe/Berlin # your time zone — the VM runs on UTC MELANITE_RT_STOP_TIMEOUT: "5" MELANITE_APP_STOP_TIMEOUT: "20" ports: - "5001:5001" # the app - "5002:5002" # https (a phone needs it for its microphone) - "1883:1883" # the built-in MQTT broker cap_add: [SYS_NICE] ulimits: { rtprio: 99, memlock: -1 } volumes: - melanite-data:/data/melanite # a named volume, never a Windows folder stop_grace_period: 30s volumes: melanite-data: -
Starte es — beim ersten Start wird das Image von melanite.io geladen:
docker compose up -d -
Öffne
http://<dieser Host>:5001unter Linux oderhttp://localhost:5001unter Docker Desktop; der Einrichtungsassistent fragt nach einem Namen und einer Admin-PIN.
Kein Internet auf dem Zielrechner?
Lade das Image-Archiv für seine Architektur, lade es in Docker, und nimm dieselbe Compose-Datei mit dem Versions-Tag statt latest:
docker load -i melanite-<version>-docker-amd64.tar.gz
# compose.yaml: image: melanite.io/melanite:<version> | Docker Desktop | Docker unter Linux | |
|---|---|---|
| Node-Graph, HMI, 2D und 3D, Logging, Alarme, Assistent | Ja | Ja |
| MQTT-Broker, Modbus TCP, WLED, Netzwerkkameras | Ja | Ja |
| Echtzeit-Prozess | Ja — 5-ms-Zyklus | Ja — 5-ms-Zyklus; besser auf einem PREEMPT_RT-Host |
| Von Geräten im LAN gefunden | Über die freigegebenen Ports | Ja (Host-Netzwerk) |
| EtherCAT | Nein | Mit einem IgH-Master auf dem Host |
| Tonausgänge als synchrone Lautsprecher | Nein | Mit durchgereichtem /dev/snd |
Updates: neues Image ziehen und den Container neu erstellen — deine Programme liegen im Volume melanite-data und bleiben erhalten.
02
Linux-Paket
Das volle Produkt auf einem Rechner, den du schon betreibst — ein Industrie-PC, ein NUC, ein Server oder ein Raspberry Pi 5. Eigenständig (kein .NET nötig), zwei systemd-Dienste, ein Benutzer ohne Sonderrechte. Rechner, Kernel und für EtherCAT den IgH-Master bringst du mit; Melanite sagt dir, ob sie gut genug sind.
-
Lade das Paket für deine Architektur (Debian 12 oder 13, Ubuntu 22.04 oder 24.04):
Datei Arch. Version Größe SHA-256 Herunterladen -
Installiere es — oder entpacke auf jeder anderen systemd-Distribution den Tarball und starte seinen Installer:
sudo apt install ./melanite_<version>_amd64.deb # or, from the tarball: tar xzf melanite-<version>-linux-amd64.tar.gz sudo ./melanite-<version>-linux-amd64/install.sh Öffne
http://<dieser Rechner>:5001, und der Einrichtungsassistent fragt nach einem Namen und einer Admin-PIN.-
Ist dieser Rechner bereit für harte Echtzeit? melanite-check sagt es dir, Prüfung für Prüfung, mit der Lösung:
melanite-check # exit 0 = ready for hard real-time sudo melanite-check --hwlat=60 # also measure firmware latency (stop Melanite first)
Ein PREEMPT_RT-Kernel und ein isolierter Kern machen aus einem PC eine 1-ms-Steuerung — melanite-check gibt die genaue Kernel-Zeile für diesen Rechner aus. Deine Programme liegen in /var/lib/melanite und werden vom Paket nie entfernt, auch nicht beim Purge.
03
Raspberry Pi
Ein Image für den Raspberry Pi 5 und das Compute Module 5. Flash es, und das Board bootet direkt in Melanite — Echtzeit-Kernel, EtherCAT und die Touch-HMI, nichts weiter zu installieren. Nur der Weg, wie das Image aufs Board kommt, ist verschieden.
-
Lade das Image (und für bmaptool seine Block-Map):
Datei Arch. Version Größe SHA-256 Herunterladen
-
Steck die Karte in den Kartenleser und schreib das Image darauf — lsblk zeigt, welches /dev/sdX die Karte ist:
lsblk sudo bmaptool copy melanite-<version>-raspberry-pi.wic.xz /dev/sdX # or without bmaptool: xzcat melanite-<version>-raspberry-pi.wic.xz | sudo dd of=/dev/sdX bs=4M conv=fsync status=progress Steck die Karte in den Pi 5, schließ Ethernet an und, falls vorhanden, ein Display.
Einschalten. Das Gerät öffnet ein Einrichtungs-WLAN — verbinde dich mit dem Handy, und die Einrichtung öffnet sich von selbst; auf einem Touchscreen zeigt es dafür einen QR-Code.
Das Image bootet von der SD-Karte: Seine Partitionen und Updates sind darauf ausgelegt, NVMe-Boot wird daher nicht unterstützt. Lieber Raspberry Pi OS behalten? Das Linux-Paket lässt sich stattdessen darauf installieren, auf dem Standard-Kernel.
-
Setz den nRPIBOOT-Jumper des Boards (eMMC-Boot aus), verbinde USB-C mit dem PC, versorge das Board mit Strom und mach das eMMC mit Raspberry Pis rpiboot als USB-Laufwerk sichtbar:
git clone --depth=1 https://github.com/raspberrypi/usbboot && cd usbboot make && sudo ./rpiboot -
Schreib das Image — lsblk zeigt, welches /dev/sdX das eMMC ist:
lsblk sudo bmaptool copy melanite-<version>-raspberry-pi.wic.xz /dev/sdX # or without bmaptool: xzcat melanite-<version>-raspberry-pi.wic.xz | sudo dd of=/dev/sdX bs=4M conv=fsync status=progress Jumper entfernen, Strom aus und wieder an. Einschalten. Das Gerät öffnet ein Einrichtungs-WLAN — verbinde dich mit dem Handy, und die Einrichtung öffnet sich von selbst; auf einem Touchscreen zeigt es dafür einen QR-Code.
Das Flashen ersetzt alles auf der Karte oder dem eMMC. Sichere vorher (Einstellungen → Sichern & Wiederherstellen). Flashe unter Linux: Der Raspberry Pi Imager unter Windows ist mit diesem Image unzuverlässig.
Prüfe, was du heruntergeladen hast
Neben jeder Datei steht ihr SHA-256, von unserem Server an der Datei selbst gemessen. Vergleich ihn vor der Installation:
sha256sum <file> # Linux
shasum -a 256 <file> # macOS
Get-FileHash <file> # Windows PowerShell Was sich in jeder Version geändert hat: das Changelog. Kostenlos für die private Nutzung, für Lehre und nicht-kommerzielle Forschung. Jede Nutzung durch ein Unternehmen braucht eine Commercial-Lizenz — siehe Preise.
Commercial-Lizenzen gibt es noch nicht zu kaufen.
Hinterlass eine Adresse, und du bekommst eine Mail, sobald es so weit ist.