5

我目前正在从事一个涉及 4 端口 A/V 开关的项目。此开关可通过 RS-232 控制。

与交换机接口的计算机运行 Vista。我想创建一个侧边栏小工具,它有 4 个按钮 - 交换机上的每个端口 1 个。当用户按下按钮时,它会切换到该端口。

我做了一些谷歌搜索,似乎没有一种很好的方式来在 javascript 和 rs-232 之间进行接口。

有人对我有什么建议吗?

谢谢!

4

9 回答 9

8

你喜欢复杂的黑客吗?

安装网络服务器。使用 CGI、Python、PHP、Perl 或其他方法从 Web 服务器上的页面控制串行端口。

将控件指向网页。

于 2009-02-26T20:59:54.767 回答
6

我认为您需要在两者之间添加一个 Java 或 Active-X 层。JavaScript 与操作系统很好地隔离(故意)。

于 2009-02-26T19:50:22.330 回答
4

特别是 Javascript,或者只是通过某种方法从浏览器中获取?和哪个浏览器?(IE 还是 Firefox?)使用 XUL + javascript 的 Firefox 插件非常简单,尽管您仍然需要在 XPCOM(Mozilla 等效于 ActiveX/COM)中实现某些东西才能使用 RS232。

或者,您可以将JSDB用作临时 Web 服务器(在本地机器的备用端口上)。在 JSDB 中使用 RS232 端口非常容易:

c:\>jsdb
js>S=new Stream('com1://115200');
com1
js>S.write('\x00');    // send ASCII character 0 to the serial port
1
js>

因此,您的浏览器端实现可能只是您最喜欢的书签/链接/事物是链接到http://localhost:9999/comport/19999 是 JSDB 正在侦听的端口的位置,而“1”是串行端口开关。JSDB 代码将监听端口并在解析来自浏览器的 GET 请求后发送适当的 RS232 命令。

于 2009-02-26T21:07:09.587 回答
3

RealTerm具有广泛的 COM 接口,并且易于通过 Windows 上的 JavaScript 进行控制。SourceForge 下载页面的版本为 2.0.0.57,i2cchip.com 的版本为 2.0.0.70。

默认安装的“examples”子目录中有一个 JavaScript 示例。

可悲的是,JavaScript 示例似乎已从更高版本中删除4仍​​然可以这样做,但没有示例。

于 2012-03-28T07:49:21.773 回答
2

我没有解决方案,但这可能是一个开始。

  1. 签名的 java 小程序可以让您访问系统
  2. 使用 RXTX (Java Serial COM API) 连接串口
  3. Applet 需要将文件安装到 jre/ext 文件夹。这样做后重新启动应用程序。

现在,如果您在自己的机器上运行 javascript,您可以使用HTA来完全访问系统。

于 2009-02-26T21:02:56.913 回答
1

很抱歉在我自己的问题下发帖——我还没有注册,所以现在我无法编辑它。

我想为该任务实现一个 Vista 侧边栏小工具。不幸的是,看起来这些基本上只是带有 javascript 的 html 文档,所以看起来这对我来说不是一个好的解决方案。我可能只写一点.Net 应用程序之类的。

感谢您的所有意见。如果还有人有想法,我会采纳的。

于 2009-02-26T21:27:26.137 回答
1

您可以尝试查看 V8 之类的内容,并为 C 库编写一个小型包装器以向 VM 公开。

于 2009-02-26T20:26:25.487 回答
1

您需要在系统上安装一个 RS-232 ActiveX 组件,然后在侧边栏小部件的 javascript 代码中创建一个对象。请注意,从 ActiveX 组件创建对象没有标准,这仅在 JScript 中可用,JScript 是微软对我们都知道的 Javascript 语言的实现。

于 2009-02-26T20:51:26.083 回答
0

AFAIK,Vista 小工具的运行时支持使用签名的 ActiveX 控件。您也可以使用 Java。您可以为 .Net 创建一个 ActiveX 包装器,它对串行设备有相当多的支持。大多数情况下,ActiveX + Serial 通信仅限于商业控制。

于 2009-04-07T17:14:00.417 回答