【问题标题】:Is it possible to trigger a PHP or BASH script when /dev/ttyUSB0 receives data?/dev/ttyUSB0 接收数据时是否可以触发 PHP 或 BASH 脚本?
【发布时间】:2023-04-09 20:44:01
【问题描述】:

我有一个连接到我的 USB 端口的设备,它每 16 秒传输一次信息。数据是十六进制的,如下所示:

10 00 00 00 00 00 00 00 12 80 07 08 00 05 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b2

当这些信息进入我的 /dev/ttyUSB0 时,我如何触发 BASH 或 PHP(LAMP 正在运行)?

【问题讨论】:

  • 我认为这两种语言都不适合这种情况,您需要一个服务器守护程序或持久应用程序
  • 我用 C 语言编写了一个读取/写入 /dev/ttyUSB0 的程序,我可能会尝试将其用作代理/驱动程序来访问 USB。您在考虑什么服务器守护程序或持久性应用程序?

标签: php bash serial-port usb


【解决方案1】:

一种解决方案是使用 libnotify 库。安装 libnotify-tools 包,然后运行以下脚本。

while true
do    
    inotifywait -e CLOSE /dev/ttyUSB0 && run_the_command
done

【讨论】:

  • 有没有办法使用该命令查看发送内容的输出?到目前为止,我已经尝试过了,它成功了:(root@8012:~# inotifywait -e CLOSE /dev/ttyUSB0 && echo "got datas" 设置手表。手表已建立。/dev/ttyUSB0 CLOSE_WRITE,CLOSE 有数据跨度>
  • 不幸的是 inotify 不会让你看到数据,它只会告诉你文件是否发生了变化。
  • 有没有办法以某种方式通过管道将数据发送到 php 脚本?
猜你喜欢
  • 2023-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-18
  • 1970-01-01
相关资源
最近更新 更多