2013-08-22 6 views
5

ist es möglich, jede Kommunikation von z. Javascript/JQuery zu irgendeinem Seriencomport ?!JavaScript/JQuery kommunizieren mit SerialPort/COM1

Google ist nicht in der Lage, diese Frage zu beantworten .. aber trotzdem sollte es möglich sein .. env ist firefox in meinem Fall ..

Ideen/Wissen sehr willkommen ist.

freundlicherweise Band

+0

_ "aber trotzdem sollte es möglich sein," _ - Warum es sein sollte möglich? In der Regel kann JavaScript, das im Browser ausgeführt wird, auf nichts außerhalb des Browsers zugreifen. Dies ist eine bewusste Sicherheitsfunktion. Sprechen Sie darüber, diese com-Funktion auf einer öffentlichen Webseite anzubieten (wo Sie nicht kontrollieren können, welchen Browser der Benutzer hat), oder sprechen Sie nur von FF, oder ...? – nnnnnn

+0

Sie sind völlig richtig - ich weiß das .. aber vielleicht ist es möglich, es über about: config oder was auch immer .. ich spreche über eine Desktop-Lösung, kein (öffentliches) Internet und nur für Firefox-Nutzung! Ich muss dieses Problem lösen .. wenn es nicht möglich ist, muss ich einen einfachen Server auf dem Client installieren und den Port über Ajax greifen - das ist der Fallback .. –

Antwort

2

Ja können Sie, aber nicht mit einem typischen Browser. Browser sind Sandboxed, um keinen Zugriff auf das lokale Dateisystem (außer Cookies) zu haben, so dass bösartige Websites nicht von Ihrer Festplatte lesen/auf diese schreiben können. Soweit ich weiß, gibt es keine Möglichkeit, dieses Behavior zu überschreiben (außer dem Schreiben eines eigenen Browsers).

Dies kann jedoch in JavaScript mit Node.js erfolgen. Es läuft als Prozess und nicht in einem Browserfenster und kann auf das Dateisystem zugreifen. Insbesondere gibt es bereits ein npm Modul (Node-Bibliothek) für die serielle Kommunikation: https://github.com/voodootikigod/node-serialport

Alternativ können Sie immer nur einen lokalen Webserver spin up (via node.js, php, Schienen, etc.). Webserver können auf Dateisysteme zugreifen und sollten daher auf serielle Ports zugreifen können.

Hoffe, das hilft.

1

kimstik Vorschlag, für den Browser des jUART Plugin ist eine ausgezeichnete Lösung .

Eine andere Möglichkeit ist die Verwendung einer Middleware, die die serielle Kommunikation erleichtert und eine Webschnittstelle bietet, mit der JavaScript mit AJAX-Anfragen interagieren kann.

Python könnte verwendet werden, z.B. ein Skript unter Verwendung einer Kombination von pySerial und python-bobo.

+1

Update zu diesem: 15. September 2015 Chrome wird nicht mehr unterstützt NPAPI und die Lösung werden wahrscheinlich nicht mehr funktionieren. [siehe hier] (https://support.google.com/chrome/answer/6213033?hl = de) – nerdwaller