gpt4 book ai didi

linux中的php串口通信

转载 作者:IT王子 更新时间:2023-10-29 00:21:41 27 4
gpt4 key购买 nike

我已经在 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com