2017-01-18 5 views
-1

Ich bin derzeit auf der Suche nach Lösungen für die Verwendung von USB innerhalb des Electron-Projekts.Verwenden Sie Electron mit USB

Ich habe viele Threads nicht nur hier auf Stack-Überlauf gefunden. Aber alle sagen verschiedene Dinge aus. Einige sagen, es funktioniert gut (leicht), andere sagen, es ist nicht einmal möglich.

Ich stolperte über USB-Elektron aber das funktioniert nur in Electron prebuild 1.0.2 (soweit ich weiß).

Verwendet jemand erfolgreich Elektron und USB in einem Projekt? Für welche Geräte verwenden Sie diese Kombination? Vielleicht benutzt jemand eine andere Lösung? Wie eine C# (oder was auch immer) binäre im Hintergrund, die im Elektron ausgelöst wird und alle USB-Sachen macht?

Ich bin dankbar für jeden Hinweis!

Update:

Ich habe versucht, diese genannten Lösungen und bekam verschiedene Fehler. Ich habe es auch nie geschafft, die USB- oder Serialport-Pakete gegen Elektronen zu bauen. Wenn ich die Serialport-Paket verwenden, bekomme ich folgende Fehler mit Elektronen 1.4.12:

angular.js:14328 Error: Eine DLL-Initialisierungsroutine ist fehlgeschlagen. 
\\?\E:\Masterthesis\Simplex-Electron\node_modules\serialport\build\Release\serialport.node 
    at Error (native) 
    at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:173:20) 
    at Object.Module._extensions..node (module.js:583:18) 
    at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:173:20) 
    at Module.load (module.js:473:32) 
    at tryModuleLoad (module.js:432:12) 
    at Function.Module._load (module.js:424:3) 
    at Module.require (module.js:483:17) 
    at require (internal/module.js:20:19) 
    at bindings (E:\Masterthesis\Simplex-Electron\node_modules\bindings\bindings.js:76:44) 

Die erste Zeile sagt nur, dass eine DLL-Routine versagt.

+1

Haben Sie schon eine der verfügbaren Lösungen ausprobiert? 'node-serialport' ist ein fantastisches Paket, das Sie verwenden können, um über einen seriellen Bus zu kommunizieren, und ich bestätige, dass es sehr gut mit Electron funktioniert. – Philip

+0

anscheinend sind Sie auf Windows, das ist nicht gut für USB-Entwicklung. Wenn Sie versuchen, den Knoten-Serialport gegen Elektron zu bauen, haben Sie die speziellen Anweisungen auf https://github.com/EmergingTechnologyAdvisors/node-serialport#electron? 'node-usb' verwendet' libusb', das einen eigenen Treiber in Windows hat, siehe https://github.com/tessel/node-usb. Vielleicht ist das ein Problem. es wäre besser, zu diesem Zweck auf Linux umzusteigen ... –

+0

npm 'electron-usb' https://www.npmjs.com/package/electron-usb –

Antwort

0

Danke für alle Antworten. Ich habe herausgefunden, dass die Hardware, mit der ich eine Verbindung herstellen wollte (LEGO Mindstorms Education EV3), ein HIDClass Gerät ist. Daher stellt es sich nicht als eine COM-Schnittstelle zur Verfügung. Bibliotheken wie node-serialport können damit nicht arbeiten.

Ich habe es geschafft, node-serialport für Electron kompilieren. Das funktioniert einwandfrei (wenn sich das USB-Gerät als COM-Gerät ausgibt).

Andere Verbindungsmethoden wie WIFI (node-net) und Bluetooth (node-bluetooth) funktionieren auch gut.

Vielleicht hilft diese Information anderen.

+0

https://github.com/node-hid/node- versteckte sich – Tim