我需要读取串口以使用RS232电缆获取数据,并希望将输出发送到PHP服务器,但我找到了使用node.js的方法。 我经常搜索并找到a solution in PHP,但它对我不起作用。 怎么做?
答案 0 :(得分:1)
如果您使用的是Linux,我会尝试将文件描述符打开到/ dev / your_serial_port。您的PHP脚本可能需要权限(root)才能从此端口读取。您可能有一个tty组或类似的东西允许从此设备读取。在这种情况下,我建议您以root身份启动脚本,并使用posix_setgid()
可能与posix_getgrnam()
一起更改您的流程组,而不是以root用户身份游行。
$groupInfo = posix_getgrnam("tty");
if (! isset($groupInfo["gid"])) {
// "Invalid worker group.
} else if (! posix_setgid($groupInfo["gid"])) {
// Failed to change worker group. (privilege required)
}
我感觉不好你可能在窗户上,所以我挖了一下,我认为你可以打开文件' com1:'在Windows上,可能读取串行数据。如果这不起作用,请查找可以将串行数据转储到stdout的cli程序,并使用类似proc_open的东西从中读取数据。我没有Windows电脑可以尝试任何东西;(