Можно ли общаться через последовательный порт машины через JavaScript?
Мне нужно написать короткую программу, которая отправляет данные на микроконтроллер через последовательный порт с графическим интерфейсом и кросс-платформенной совместимостью, и я действительно не хочу использовать Java Swing.
Сам JavaScript не имеет встроенных функций, позволяющих получить доступ к последовательному порту. Тем не менее, различные движки JavaScript (v8, rhino и т. д.) позволяют вам писать свои собственные нативные объекты.
Возможно, вы захотите проверить node.js, библиотеку JavaScript для версии 8, ориентированную на написание кода на стороне сервера (а не кода клиента веб-браузера). Кажется, кто-то уже написал для этого пакет serialport:
Это старый вопрос, но на случай, если это поможет кому-то еще, у приложений Chrome есть доступ к серийному API - http://developer.chrome.com/apps/serial.html - может помочь.
Это специфично для Chrome (очевидно ..), но Chrome доступен для разных платформ, поэтому может ответить на вопрос.
Ответ 3 · рейтинг 3 · Bill
Существует кроссплатформенный плагин для связи через последовательный порт, который называется jUART.
Ответ 4 · Vismari
Да, можно использовать ActiveX (я это сделал). Вы можете создать ActiveX и использовать JavaScript для его вызова. При желании вы можете создать .net dll и зарегистрировать ее с помощью regasm. Взгляните на эту ссылку.
Вы также можете написать ActiveX с помощью VB6 и зарегистрировать его. Оба работают нормально. Ps.: если вы используете ActiveX, код JavaScript будет работать только в IE.
Ответ 5 · CAFxX
Если у вас есть библиотека DLL (к ней относится, например, большинство API-интерфейсов Windows), которая позволяет вам обмениваться данными через последовательный порт, вы можете вызвать ее из кода Firefox Chrome (или кода контента с привилегиями universalxpconnect), используя ctypes.
Ответ 6 · Jubert
Что вы можете сделать, так это использовать апплет Java, который подключается к приложению Java локального компьютера, которое считывает последовательный порт. Затем апплет передает данные в класс JavaScript или во что-то, что может хранить информацию. Затем для доступа к данным можно использовать дополнительный код JavaScript. Это сложное решение, но оно должно работать.