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?
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 withposix_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 ;(
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 保护模式-系统加载-段寄存器