2017-10-27 04:42
采纳率: 100%
浏览 580


I need to read a serial port to get data using a RS232 cable, and want to send the output to a PHP server, but i found a way using node.js. I searched a lot and also found a solution in PHP but it doesn't work for me. How to do this?

图片转代码服务由CSDN问答提供 功能建议

我需要读取串口以使用RS232电缆获取数据,并希望将输出发送到PHP 服务器,但我找到了一种方法使用node.js. 我搜索了很多,也找到了 PHP解决方案但它对我不起作用。 如何做到这一点?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • douzhao7634 2017-10-27 05:16

    If you are on Linux, I would try opening a file descriptor to /dev/your_serial_port. Your php script will probably need permissions (root) to read from this port. You may have a tty group or something similar that allows read from this device. In that case, I would recommend starting your script as root, and using posix_setgid() possibly with posix_getgrnam() to change your process group and not parade around as 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)

    I feel bad that you are probably on windows, so I dug around and I think you can open the file 'com1:' on windows and probably read serial data. If that doesn't work, look for a cli program that can dump serial data to stdout and use something like proc_open to read data from it. I have no windows computer to try anything ;(

    解决 无用
    打赏 举报

相关推荐 更多相似问题