linux中的php串口通信

标签 php linux serial-communication

我已经在 fedora 13 中安装了 xampp。我正在尝试使用 php 串行类通过串行端口与微 Controller 通信。 我的代码是 example.php

include("php_serial.class.php");
$serial = new phpSerial();
$serial->deviceSet("0");

$serial->confBaudRate(9600); //Baud rate: 9600 
$serial->confParity("none"); //Parity (this is the "N" in "8-N-1") 
$serial->confCharacterLength(8); //Character length (this is the "8" in "8-N-1") 
$serial->confStopBits(1); //Stop bits (this is the "1" in "8-N-1") 
$serial->confFlowControl("none"); //Device does not support flow control of any kind, so set it to none.

//Now we "open" the serial port so we can write to it
$serial->deviceOpen();

$serial->sendMessage("*1" ); //sleep(1); // echo "hi"; $serial->deviceClose();

?>

php 脚本得到执行但给出以下警告。

警告:第 147 行的/opt/lampp/htdocs/xampp/php_serial.class.php 中指定的串口无效 警告:无法设置波特率:设备未设置或在第 241 行的/opt/lampp/htdocs/xampp/php_serial.class.php 中打开 警告:无法设置奇偶校验:设备未设置或在第 295 行的/opt/lampp/htdocs/xampp/php_serial.class.php 中打开

...我使用了命令:chmod 0777/dev/ttyUSB0 来授予权限。我还尝试使用命令将 apache 用户“prudhvi”添加到拨出组: $ usermod -a -G 拨出 prudhvi

但它不起作用。当我使用以下命令直接从终端发送命令时:echo 1 >/dev/ttyUSB0 它起作用并且“1”被传输到串行端口。但是使用 php 我得到了上面的警告。

我已使用“$whoami”检查用户名并将该用户“prudhvi”添加到拨出组。它仍然不起作用。请帮帮我。

最佳答案

我用 Debian 做过一次,用 PHP 脚本控制 Arduino 板,最初遇到了同样的问题。

在 Debian 中,您需要将 Apache 用户添加到 dialout 组,以允许它发出串行连接请求。我认为 Fedora 也是如此。

在 Debian 中,命令是:

useradd -G dialout www-data

但是我相信 Fedora 将 Apache 用户命名为 apache。我没有要测试的 Fedora 机器,但我假设您需要运行的命令是:

useradd -G dialout apache

然后您需要重新启动您的 xampp 服务器。

引用以下内容:

http://www.cyberciti.biz/faq/howto-linux-add-user-to-group/ http://fedoraproject.org/wiki/Administration_Guide_Draft/Apache#Apache_File_Security

尼尔

关于linux中的php串口通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10373308/

相关文章:

php - 如何用mysql查找一条记录的字段名?

linux - 守护进程和孤儿进程之间的区别?

c - Shellcode 和格式字符串漏洞?

c++ - 使用 C++ 通过 RS232 在 pc 和 arduino 之间进行串行通信

c - AVR、UART、Proteus仿真,虚拟终端显示的不是所有数据

php - 根据 HTML 选择选项在 PHP 中分配一个变量并将结果插入数据库表

php - 在 google pubsub 中设置 gmail 的发布权限给出了被拒绝的权限

php - 类别不起作用

python - python multiprocessing 出现奇怪的进程克隆

c++ - QSerial错误与Arduino通信