带RS-232串口的Javascript接口

时间:2009-02-26 19:46:01

标签: javascript serial-port windows-vista

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

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

我做了一些谷歌搜索,似乎没有一种非常好的方法来连接javascript和rs-232。

有人对我有任何建议吗?

谢谢!

9 个答案:

答案 0 :(得分:8)

你喜欢错综复杂的黑客吗?

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

将控件指向网页。

答案 1 :(得分:6)

我认为你需要在它们之间添加Java或Active-X层。 JavaScript在操作系统中非常孤立(故意)。

答案 2 :(得分:4)

特别是Javascript,还是只是从浏览器中用一些方法?哪个浏览器? (IE或Firefox?)使用XUL + javascript的Firefox插件非常简单,尽管你仍然需要在XPCOM(Mozilla相当于ActiveX / COM)中实现一些功能才能使用RS232。

或者,您可以使用JSDB作为即兴网络服务器(在本地计算机的备用端口上)。在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/1,其中9999是#JSDB正在侦听的端口,“1”是串行端口开关。在解析来自浏览器的GET请求后,JSDB代码将侦听端口并发送相应的RS232命令。

答案 3 :(得分:3)

RealTerm具有广泛的COM接口,并且可以通过Windows上的JavaScript轻松控制。 SourceForge downloads page版本为2.0.0.57,i2cchip.com 有一个版本2.0.0.70。

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

可悲的是,JavaScript示例似乎已从更高版本4中删除了。它仍然可以执行,但没有示例。

答案 4 :(得分:2)

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

  1. 签名的java applet可以让您访问系统
  2. 使用RXTX(Java串行COM API)连接到串行端口
  3. Applet需要将文件安装到jre / ext文件夹。这样做后重新启动应用程序。
  4. 现在,如果您从自己的计算机上运行javascript,则可以使用HTA来完全访问系统。

答案 5 :(得分:1)

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

答案 6 :(得分:1)

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

答案 7 :(得分:1)

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

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

感谢您提供的所有意见。如果还有人有想法,我会接受他们。

答案 8 :(得分:0)

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