onexip
Unternehmen
AI Industry MedTech Design
/
Projekt besprechen
Unternehmen Projekte Team Blog Karriere Über uns Kontakt
onexip
AIIndustryMedTechDesign
Unternehmen Startseite Projekte Team Blog Karriere Über uns Kontakt
Projekt besprechen
/
Industriekamera auf einem Holztisch
Blog/ Hardware
  • Electron
  • Industrie
  • Video

Revolutionary Vision: Industriekameras hochperformant in Electron-Apps einbinden

Martin Spindler8. Mai 2024 · 10 Min. Lesezeit

Inhalt
  1. Industriekameras
  2. Electron als Allrounder
  3. C++ trifft Electron
  4. Herausforderungen
  5. Lösungsweg
  6. Resümee
  7. FAQ
Inhalt · 7 Abschnitte
  1. Industriekameras
  2. Electron als Allrounder
  3. C++ trifft Electron
  4. Herausforderungen
  5. Lösungsweg
  6. Resümee
  7. FAQ

Teilen

Bug Runner

Kurze Pause?

Spring über Bugs, Deadlines und Legacy-Code. Sammle Commits.

Leertaste oder Klick

Du willst leistungsstarke native Bildverarbeitung mit einem flexiblen Web-Framework verbinden? Und fragst Dich, ob hybride Apps dafür schnell genug sind – und wie Spezialgeräte statt Standardhardware hineinkommen?

Das Wichtigste in Kürze

  • Industriekamera trifft Web-AppEine Baumer VLU-02M liefert Live-Bilder direkt in eine Electron-Anwendung.
  • C++ für die LeistungEin NAPI-Addon verarbeitet die Bilddaten nativ und schnell.
  • WiederverwendbarDer Ansatz passt auch für andere native Datenquellen und Spezialhardware.

Bild-Spezialisten: Industriekameras

Industriekameras sind für Bildverarbeitung in der Industrie gebaut – etwa für Qualitätskontrolle, Robotik oder Medizintechnik. Kameras wie die Baumer VLU-02M liefern detaillierte, präzise Bilder:

Hohe Bildrate
160 fps
Ideal für schnelle Bewegungen und Prozesse.
Belichtungszeit
0,004 – 60.000 ms
Passt sich an jedes Licht an.
Herstellerschnittstelle
C/C++ SDK
Für schnelle, systemnahe Verarbeitung.

Hersteller wie Baumer liefern ein SDK (Software Development Kit, also ein Entwickler-Werkzeugkasten) für C/C++. Für Steuerung und Anzeige braucht es trotzdem eine passende Anwendung – und moderne, plattformunabhängige Frameworks nutzen meist andere Sprachen als C++.

Electron: der Allrounder für plattformunabhängige Apps

Electron ist ein Open-Source-Framework auf Basis von Node.js. Damit baust Du Desktop-Apps mit HTML, CSS und JavaScript bzw. TypeScript. Die Vorteile:

  • Plattformübergreifend Eine Codebasis für Windows und macOS – mit Ionic Capacitor sogar für Mobile.
  • Vertraute Standards Designer und Entwickler nutzen ihr vorhandenes Web-Know-how.
  • Anpassbare Oberfläche Moderne UIs, die sich leicht anpassen und skalieren lassen.
  • Große Community Viele Bibliotheken und Ressourcen.
  • Schnelles Prototyping Live-Reload zeigt Änderungen in Echtzeit.
  • Backend-Anbindung Einfache Integration von Services und APIs.
  • Sicherheit Funktionen wie Content-Security-Policy gegen Cross-Site-Scripting.

Der Haken: Electron braucht mehr Ressourcen als native Apps – gerade bei Bildverarbeitung. Und für eine spezielle Industriekamera muss eine eigene Erweiterung her, die Steuer- und Bilddaten mit dem Hersteller-SDK austauscht.

C++ trifft Electron: das Beste aus zwei Welten

Das Ziel: eine Brücke zwischen leistungsfähiger nativer Bildverarbeitung und flexiblem App-Framework.

  • Direkter Hardware-Zugriff Funktionen und Eigenschaften der Kamera direkt ansteuern.
  • Hochperformante Verarbeitung C++ verarbeitet Bilddaten schnell – für hohe Frameraten in Echtzeit.
  • Skalierbar und flexibel Electron liefert die plattformübergreifende App, C++ die Leistung.

Herausforderungen bei Electron + Native

  1. Nebenläufigkeit Die Kameradaten laufen in den Puffer, ohne dass die App wartet oder blockiert.
  2. Komplexe Konfiguration Externe C++-Bibliotheken und SDKs einzubinden ist aufwendig – Fehler lassen sich oft nur per Test eingrenzen.
  3. Debugging C++ und JavaScript gemeinsam zu debuggen ist knifflig. Für Konsolen-Ausgaben bleibt nur der Weg über NAPI.
  4. Sandboxing & IPC Haupt- und Renderer-Prozess sind getrennt. Daten fließen sicher über IPC und die Context-Bridge.

Der Lösungsweg

Datenfluss · vom Sensor bis zur Oberfläche
  1. Kamera Baumer VLU-02M
  2. native.cpp NAPI-Addon (C++)
  3. main.js Hauptprozess
  4. preload.js Context-Bridge (IPC)
  5. renderer.js Oberfläche
  1. Erste Test-App in C++ Eine reine C++-Anwendung mit OpenGL-Ausgabe testet das Baumer-GAPI-SDK. Ein eigener Thread (std::thread) liest das Kamerabild regelmäßig aus. Eine Testbild-Funktion prüft die Schnittstellen auch ohne Kamera.
  2. NAPI-Addon konfigurieren Daraus wird ein C++-NAPI-Addon: Es reserviert Speicher, schreibt die Bildpuffer hinein und steuert zum Beispiel die Belichtungszeit. NAPI ist die Node.js-Schnittstelle zu nativen Bibliotheken; kompiliert wird mit node-gyp über die binding.gyp.
  3. Context-Bridge einrichten Der NAPI-Aufruf läuft im Hauptprozess (main.js). Per IPC und Context-Bridge (preload.js) wird er sicher an die abgeschottete Renderer-Sandbox weitergereicht.
  4. Renderer ruft die Daten ab Die Oberfläche (index.html, renderer.js) holt das aktuelle Bild ab. Die Daten kommen direkt als Uint8Array an – für schnellstmöglichen Zugriff.

Resümee

Der Mehraufwand für NAPI-Export und IPC lohnt sich: Die Live-Ausgabe des Kamerabilds läuft performant und stabil.

Der Ansatz lässt sich auf andere native Datenquellen übertragen – für Bild- oder Signalverarbeitung, neue Hardware, komplexe Algorithmen oder große Datenmengen. Wir greifen ihn sicher wieder auf. Für Produkte, die Nutzende lieben: products users love.

Dein nächster Schritt

Du willst Spezialhardware in Deine App bringen?

Wir verbinden native Performance mit moderner Oberfläche – von der Kamera bis zum Bildschirm.

Sag Hallo

Mehr zu onexip Industry →

Häufig gestellte Fragen

Sie bringt leistungsstarke Bildverarbeitung in plattformübergreifende Desktop-Apps. Das eröffnet neue Möglichkeiten in Qualitätskontrolle, Robotik und Medizintechnik – mit der Flexibilität von Webtechnologien und der Leistung von Industriekameras.

Hohe Bildqualität, hohe Bildraten und flexible Einstellungen. Sie sind für industrielle Bildverarbeitung gebaut und erfassen auch schnelle Bewegungen und Prozesse.

Mit Electron entstehen plattformübergreifende Desktop-Apps aus HTML, CSS und JavaScript. Teams nutzen ihr Web-Know-how, bauen moderne Oberflächen und greifen auf eine große Community zurück.

Nebenläufigkeit, aufwendige Konfiguration, schwieriges Debugging und sichere Datenkommunikation per IPC zwischen Haupt- und Renderer-Prozess.

Mit einem C++-NAPI-Addon, das direkt auf die Kamera zugreift. Eine sorgfältige Konfiguration und saubere IPC-Mechanismen sorgen für eine performante, stabile Live-Ausgabe mit maximaler Bildrate.

Über den Autor

Martin Spindler

Kreativer, qualitätsbewusster Software-Entwickler mit Schwerpunkt C++ – dazu Audioverarbeitung, Java, C#, Web und DevOps. Forschungs-Background in Usability & Accessibility, als Start-up-Gründer hat er eine medizinische App an den Markt gebracht. Seine Leidenschaft: Lösungen tüfteln, die Nutzenden helfen und Spaß machen.

Profil ansehen →
Bug Runner

Kurze Pause?

Spring über Bugs, Deadlines und Legacy-Code. Sammle Commits.

Tippen zum Springen

Weiterlesen

Mehr aus dem Blog.

Alle Beiträge →
  • Softwareentwicklung
    Softwareentwicklung

    Angular: Was Du über das Framework wissen solltest

    Ob Patientenportal, Geräte-Dashboard oder Admin-Tool – Angular liefert, wenn Webanwendungen mehr können müssen. Warum große Unternehmen darauf setzen und wie Du das Potenzial für Dein Projekt nutzt.

    Michaela · 25. Juni 2025 · 8 Min.

  • AI
    AI

    AI Readiness & Integration – Wie onexip Unternehmen auf die KI-Zukunft vorbereitet

    Viele reden über Künstliche Intelligenz, wenige nutzen sie wirklich. Hier erfährst Du, wie Du Schritt für Schritt vom „KI klingt spannend“ zum „KI macht unser Business besser“ kommst.

    Matthias Hänel · 4. Juni 2025 · 6 Min.

  • Design
    Design

    KI-gestützte UX/UI-Optimierung und Personalisierung

    Wer Nutzende versteht und auf ihr Verhalten reagiert, gewinnt Vertrauen, Zeit und Umsatz. So macht KI Interfaces persönlicher – und erfolgreicher.

    Matthias Hänel · 3. Juni 2025 · 3 Min.

onexip

Software und Produktentwicklung aus Dresden. Ein Team, vier Spezialgebiete.

BereicheAI↗Industry↗MedTech↗Design↗
UnternehmenStartseiteProjekteTeamBlogKarriereÜber unsKontakt
RechtlichesImpressumDatenschutzAGBCode of Conduct
© 2002–2026 onexip GmbH · Dresden
/