2013-08-22 12 views
5

czy można wymusić komunikację z np. JavaScript/JQuery do dowolnego portu szeregowego ?!JavaScript/JQuery komunikować się z SerialPort/COM1

Google nie jest w stanie odpowiedzieć na to pytanie .. ale i tak powinno być możliwe .. ENV jest Firefox w moim przypadku ..

pomysły/wiedza jest bardzo mile widziane.

uprzejmie taśma

+0

_ "ale i tak powinno być możliwe" _ - Dlaczego powinno być możliwy? Zasadą jest, że JavaScript działający w przeglądarce nie ma dostępu do niczego poza przeglądarką. Jest to celowa funkcja bezpieczeństwa. Czy mówisz o zapewnieniu tej funkcji com na publicznej stronie internetowej (gdzie nie możesz kontrolować, jaką przeglądarkę może mieć użytkownik), czy mówisz tylko o FF, czy ...? – nnnnnn

+0

masz całkowitą rację - wiem, że ... ale może jest możliwe wymuszenie tego przez: config lub cokolwiek .. mówię o rozwiązaniu desktopowym, nie (publicznym) Internecie i TYLKO dla użycia firefox! muszę rozwiązać ten problem .. jeśli nie jest to możliwe, muszę zainstalować prosty serwer na kliencie i pobrać port przez ajax - to jest awaryjny .. –

Odpowiedz

2

Tak można, ale nie z typowym przeglądarce. Przeglądarki są piaskowane, aby nie mieć dostępu do lokalnego systemu plików (z wyjątkiem plików cookie), aby złośliwe witryny nie mogły odczytać/zapisać na dysku twardym. O ile mi wiadomo, nie ma sposobu, aby to zmienić (bez pisania własnej przeglądarki).

Można to jednak zrobić w JavaScript za pomocą Node.js. Działa jako proces, a nie w oknie przeglądarki i może uzyskać dostęp do systemu plików. W szczególności istnieje już moduł npm (biblioteka węzłów) do komunikacji szeregowej: https://github.com/voodootikigod/node-serialport

Alternatywnie, zawsze możesz po prostu włączyć lokalny serwer sieciowy (przez node.js, php, rails itp.). Serwery sieci Web mogą uzyskiwać dostęp do systemów plików, dlatego powinny mieć dostęp do portów szeregowych.

Mam nadzieję, że to pomoże.

1

sugestia kimstik, wykorzystując wtyczkę jUART dla przeglądarki to doskonałe rozwiązanie .

Inną możliwością jest użycie oprogramowania pośredniego, które ułatwia komunikację szeregową i zapewnia interfejs WWW, który JavaScript może łączyć się z wykorzystaniem żądań AJAX.

Python może być używany, np. skrypt wykorzystujący kombinację pySerial i python-bobo.

+1

Zaktualizować na tym: 15 września 2015 Chrome nie będzie już obsługiwał NPAPI i rozwiązanie prawdopodobnie przestanie działać. [patrz tutaj] (https://support.google.com/chrome/answer/6213033?hl = en) – nerdwaller

Powiązane problemy