我想知道我是否可以使用PHP来控制与并口或USB端口连接的外部硬件? 任何想法或资源?
答案 0 :(得分:5)
这是Linux上串行连接设备的有用类:PHP Serial
通常使用串行端口 与外围设备通信, 如:调制解调器,POS终端, 特殊打印机等。
此类可用于通信 并配置连接到的外围设备 Linux下的串口,简化了 应用程序的开发 需要访问串行设备。
答案 1 :(得分:3)
您可能需要查看php exec。 PHP不允许通过API直接访问硬件,您需要调用子程序来执行此操作。
答案 2 :(得分:2)
如果您可以用C ++编写与该设备通信的程序,则可以创建PHP扩展:http://www.devarticles.com/c/a/Cplusplus/Developing-Custom-PHP-Extensions-Part-1/
答案 3 :(得分:0)
您必须编写一个可以通过系统调用调用的程序。 PHP代码无法直接访问您的硬件。
答案 4 :(得分:0)
根据我对Filip Ekberg的答案的评论......也许。
这取决于您的操作系统和所需的访问级别 - 它应该是双向的吗?您是否尝试将控制线用于流量控制以外的目的?你知道通信协议的细节吗?
下进行。
答案 5 :(得分:0)
如果您打算在* NIX系统上运行此功能,您可能需要查看Plan 9 From User Space。使用这些库,您可以编写一个C程序,使您的硬件显示为文件系统的一部分,例如,您可以像安装USB驱动器一样安装它。 安装完成后,您可以使用PHP的函数来操作文件来控制硬件。
如果你不知道Plan 9是什么,这可能不是很清楚。让我通过一个虚拟示例来说明:您的硬件是一个电子板,通过7段显示器显示登录用户的数量。您可以使用用户空间中的Plan 9来编写一个安装2个文件的程序:
/某处/输入
/某处/输出
将“42”(与文本文件一样)写入输入将使您的电路板显示42。 例如,读数输出会告诉您这个数字没有变化多长时间。
这可能不是实现目标的最简单方法,因为学习使用Plan 9库并不是一件容易的事(虽然IRC上的人非常友善和乐于助人),但在我看来这是最优雅的方式。
有了这个,您还可以使用任何其他语言控制您的硬件,因为我知道所有语言都可以操作文件。
答案 6 :(得分:0)
嗯,它是一个LPT端口和二进制文件,用于Lin和Win以及用于调用此二进制文件的小PHP代码:
答案 7 :(得分:0)
您可能想用socket io npm软件包研究Node js。.我建立了一个简单的系统,可以直接通过Web api界面控制硬件。 我的Linux机器是Raspberry Pi,它控制与ots I / O相连的硬件。我的Node js网络服务器位于树莓派中,Node js不仅可以侦听前端javascript的Web指令,还可以通过npm硬件I / O包控制硬件。