2不是有效的直接i / o文件描述符资源php

时间:2015-06-05 04:39:18

标签: php

我们正在尝试使用php从RFID读取和写入,当前我们能够设置诸如波特率和pirity之类的东西,但无法写入RFID或读取RFID

以下是我的PHP代码:

if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') 
{ 
    echo "hi Windows/n";
    $bbSerialPort = dio_open($portName, O_RDWR);

    if($bbSerialPort){
        dio_close($bbSerialPort);
    }

    exec("mode {$portName} baud={$baudRate} data={$bits} stop={$spotBit} parity=n xon=on");
    $bbSerialPort;
    echo '/nsuccessfull exec';
} 

if(!$bbSerialPort)
{
    echoFlush( "Could not open Serial port {$portName} ");
    exit;
}

$dataToReboot = pack("H*","0205F08A7E");
$bytesSent    = dio_write($bbSerialPort, $dataToReboot );

$runForSeconds = new DateInterval("PT5S"); //5 seconds
$endTime = (new DateTime())->add($runForSeconds);
echoFlush(  "Waiting for {$runForSeconds->format('%S')} seconds to recieve data on serial port" );

while (new DateTime() < $endTime) {

    $data = dio_read($bbSerialPort, 256); //this is a blocking call
    echo "<br>"."number";
    if ($data) {
        echoFlush(  "Data Recieved: ". $data );

    }
}
echoFlush(  "Closing Port" );

dio_close($bbSerialPort);

1 个答案:

答案 0 :(得分:1)

您在脚本顶部的dio_close上呼叫$bbSerialPort。这意味着,您要关闭与RFID的连接。关闭连接后,您无法向其发送消息。

相关问题