2013-10-23 43 views
0

我需要让Web应用程序向LPT端口发送信号。该硬件设计用于侦听0V或5V TTL信号。从Web应用程序向LPT端口发送信号

您是否知道任何activeX,PHP类,JS甚至是中间件软件,或者任何可以让我将此LPT功能“插入”到Windows环境中本地使用的PHP/JS应用程序的任何东西?

回答

0

我从来没有使用此功能的工作,但PHP有1,或许您可以使用 http://nl1.php.net/Exec

编辑这是我在网上找到了一个例子

<?php 
$cmd = "start /D C:\OpenSA\Apache /B Apache.exe -D SSL"; 
exec($cmd,$output,$rv); 
?> 
+0

我发现在命令提示符下运行'echo 1> lpt1'确实有效。 'exec()'听起来很有希望,但我没有得到如何使用它来运行'echo 1' ... – Yako

+0

这看起来是个不错的例子: <?php $ computername =“MyComputer”; $ ip = gethostbyname($ computername); exec(“ping”。$ ip。“-n 1 -w 90 && exit”,$ output); print_r($ output); ?>更多示例,请看这里http://nl1.php.net/manual/en/function.exec.php –

0

我们有一个基于浏览器的票务(如电影院的票房系统),该系统使用串行端口将命令直接发送到票证打印机。在这里,它是如何工作的:

  • 一个小的应用程序,由于历史原因,卡莱“代理”启动,并读取配置文件
  • 这个配置文件只包含工作站ID和路径首选浏览器可执行
  • 的代理询问用户名和密码,验证通过普通的HTTP服务器(盐渍哈希值,没有什么秘密通过线路),从配置文件
  • 如果认证被授予也发送工作站ID,服务器发送一个配置(例如“port = com1”,“baud = 19200”,...),会话ID和一次性URL
  • 代理启动浏览器,将其指向此一次性URL
  • 然后,代理通过HTTP进入一个长轮询循环,从而将命令从服务器转发到串行端口,使用之前获得的设置(并中继任何来自打印机的输入,例如“出纸”)

基本上,这意味着两个客户端同时使用同一个会话:浏览器和代理 - 一种非常简单的方法分享信息。实际上,这意味着中继串行端口和浏览器共享一个会话。

我相信,这可以很容易地适应您的使用。因为历史原因,代理是用TCL/TK编写的,因为那时候这是在Windows(9x,NT和CE系列),OSX和Linux上获得跨平台HTTP和串口处理的最简单方法。它也可以很容易地被打包成一个自包含的.exe(或相应的.app,ELF可执行文件,...)

今天,我会使用C#代理,因为Mono现在已经不够好了给你Mac,Linux,Android和iOS

+0

这似乎是一条有趣的路径。但是,我没有那么多的技能,我宁愿寻找更简单的PHP解决方案...... – Yako

+0

没有任何东西:服务器上的PHP脚本只能控制传送到客户端浏览器的内容。客户端的浏览器没有内置的方式直接与LPT硬件进行通信(而代理商有 - 这就是要点) –

相关问题