【问题标题】:JavaScript/JQuery communicate with SerialPort/COM1JavaScript/JQuery 与 SerialPort/COM1 通信
【发布时间】:2013-08-22 11:46:43
【问题描述】:

是否可以强制任何通信,例如Javascript/JQuery 到任何串口?!

google 无法回答这个问题.. 但无论如何应该是可能的.. env 在我的情况下是 firefox..

非常欢迎提出想法/知识。

请贴上

【问题讨论】:

  • “但无论如何它应该是可能的” - 为什么它应该是可能的?作为一般规则,在浏览器中运行的 JavaScript 不能访问浏览器之外的任何内容。这是一个经过深思熟虑的安全功能。您是在谈论在公共网页上提供此 com 功能(您无法控制用户可能拥有的浏览器),还是仅在谈论 FF,或者...?
  • 你完全正确 - 我知道.. 但也许可以通过 about:config 或其他方式强制它.. 我说的是桌面解决方案,没有(公共)互联网,只有供火狐使用!我必须解决这个问题..如果不可能,我必须在客户端上安装一个简单的服务器并通过 ajax 获取端口 - 这就是后备..

标签: javascript jquery firefox serial-port firefox-addon


【解决方案1】:

我认为这是可能的..

查看:jUART,用于从 JavaScript 进行串行端口通信的跨平台浏览器插件 https://github.com/billhsu/jUART

【讨论】:

    【解决方案2】:

    【讨论】:

    • 根据this blog post,Chrome 已经不再支持 Chrome 操作系统以外的任何其他应用。
    【解决方案3】:

    是的,您可以,但不能使用典型的浏览器。浏览器被沙盒化,无法访问本地文件系统(cookie 除外),因此恶意站点无法读取/写入您的硬盘驱动器。据我所知,没有办法覆盖这种行为(除了编写自己的浏览器)。

    但是,这可以使用 Node.js 在 JavaScript 中完成。它作为进程而不是在浏览器窗口中运行,并且可以访问文件系统。具体来说,已经有一个用于串口通信的npm模块(节点库):https://github.com/voodootikigod/node-serialport

    或者,您可以随时启动本地 Web 服务器(通过 node.js、php、rails 等)。 Web 服务器可以访问文件系统,因此应该可以访问串行端口。

    希望这会有所帮助。

    【讨论】:

      【解决方案4】:

      kimstik 的建议,使用浏览器的 jUART 插件是一个很好的解决方案。

      另一种可能性是使用中间件,它促进串行通信并提供 Web 界面,JavaScript 可以使用 AJAX 请求与之交互。

      可以使用 Python,例如使用pySerialpython-bobo 组合的脚本。

      【讨论】:

      • 更新:2015 年 9 月 15 日 Chrome 将不再支持 NPAPI,该解决方案可能不再有效。 see here
      猜你喜欢
      • 2012-01-20
      • 2011-01-02
      • 1970-01-01
      • 1970-01-01
      • 2013-02-26
      • 1970-01-01
      • 2011-09-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多