MatrixIDE ist eine moderne Web-IDE zur Programmierung und Verwaltung der PixelMatrix (siehe PixelMatrix Projekt). Sie ermöglicht das Schreiben, Kompilieren und Übertragen von Programmen auf die LED-Matrix direkt im Browser.
- Setup & Installation
- Entwicklungsserver starten
- Funktionsweise: WebAssembly
- Matrix-Verbindung & Firmware-Update
- Benutzung: Programmieren der Matrix
- Technologien
- Ressourcen
- Repository klonen
git clone https://github.com/wri-obernburg/MatrixIDE.git cd MatrixIDE
- Abhängigkeiten installieren
npm install
Starte den lokalen Entwicklungsserver mit:
npm run dev
Die Anwendung ist dann unter http://localhost:3000 erreichbar.
Die IDE nutzt WebAssembly (WASM), um den Compiler und Emulator der PixelMatrix direkt im Browser auszuführen. Die C/C++-Logik der Matrix wird mit Emscripten nach WASM kompiliert und als index.wasm
im public/
-Verzeichnis bereitgestellt. Die Kommunikation zwischen JavaScript und WASM erfolgt über die Module.ccall
-Schnittstelle, z.B.:
// Beispiel: LEDs aus WASM holen
const ptr = Module.ccall("get_leds", "number", null, null);
const leds = Module.HEAPU8.subarray(ptr, ptr + (144*4));
Der C++-Code für den Compiler ist in folgender Repository.
Dadurch kann die Matrix-Logik performant und plattformunabhängig im Browser ausgeführt werden.
Die Matrix wird per WLAN verbunden. Standardmäßig ist sie unter http://192.168.0.1
oder http://matrix.local
erreichbar. Die Verbindung erfolgt direkt aus dem Browser (WebUSB/WebSerial wird nicht benötigt, aber ein Chromium-basierter Browser ist erforderlich).
- Firmware herunterladen: Über die Update-Funktion in der IDE oder direkt von PixelMatrix Releases.
- Mit Matrix-WLAN verbinden (SSID: z.B.
PixelMatrix-XXXX
). - Update-Seite öffnen: http://matrix.local/update
- Firmware hochladen und Update durchführen.
- Programm schreiben: Im Editor-Feld der Web-IDE. Die Sprache basiert auf Wrench mit aktivierten Erweiterungen für Math, String und Container.
- Kompilieren: Über den "Compile"-Button wird der Code im Browser nach WASM kompiliert und simuliert.
- Simulation: Die LED-Matrix wird im Browser visualisiert.
- Matrix verbinden: Stelle sicher, dass du mit dem Matrix-WLAN verbunden bist. Die Verbindung wird im UI angezeigt.
- Programm übertragen: Mit "Send to Matrix" wird das kompilierte Programm direkt auf die Matrix übertragen (
/pushDevCode
-API). - Matrix steuern & Apps verwalten: Über die "Matrix Settings" können Apps verwaltet und die Start-App gesetzt werden.
Hinweis: Die Verbindung und Übertragung funktionieren nur in Chromium-basierten Browsern (z.B. Chrome, Edge).
- Next.js (React-Framework)
- TypeScript
- TailwindCSS
- WebAssembly (WASM)
- Emscripten
Viel Spaß beim Programmieren deiner PixelMatrix!