私はxamppをfedora 13にインストールしました。私はシリアルポートを使ってシリアルポート経由でマイクロコントローラと通信しようとしています。 私のコードが実行されますPHPスクリプトは、example.phplinuxの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();
?>
ですが、次の警告を与えます。
警告:指定されたシリアルポートは、/opt/lampp/htdocs/xampp/php_serial.class.phpの行147には無効です。 警告:ボーレートを設定できません:デバイスが設定されていないか、 opt/lampp/htdocs/xampp/php_serial.class.php on line 241 警告:パリティを設定できません:デバイスが設定されていないか、/opt/lampp/htdocs/xampp/php_serial.class.php行295
...私はchmod 0777/dev/ttyUSB0コマンドを使用して権限を与えました。私はまた、コマンドを使用して、ダイヤルアウトグループにapacheユーザー "prudhvi"を追加しようとしました: $ usermod -a -G dialout prudhvi
しかし、それは動作しません。 echo 1>/dev/ttyUSB0というコマンドを使って端末から直接コマンドを送信すると、それが動作し、シリアルポートに '1'が送信されます。しかし、私は上記の警告を得るPHPを使用してください。
"$ whoami"を使用してユーザーの名前を確認し、そのユーザー "prudhvi"をダイヤルアウトグループに追加しました。それはまだ仕事をしません。私を助けてください。
本当にphpがttyUSB0にアクセスしていますか?デフォルトではttyS0を使用しようとする可能性があります。 –