Linux(Debian)PHP USB串口

时间:2017-07-01 01:24:16

标签: php linux usb

我正在尝试连接到Ent Tec USB PRO并从DMX控制器(Obey 10)接收数据。

看起来已连接

[260650.393279] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
[260658.258766] usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB0

USB-设备

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  8 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0403 ProdID=6001 Rev=06.00
S:  Manufacturer=ENTTEC
S:  Product=DMX USB PRO
S:  SerialNumber=EN211058
C:  #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=300mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ftdi_sio

#lsmod | grep ftdi_sio

ftdi_sio               53248  0
usbserial              49152  1 ftdi_sio
usbcore               249856  9 usbhid,ehci_hcd,ohci_pci,ftdi_sio,usbserial,xhci_pci,ohci_hcd,xhci_hcd,ehci_pci

PHP - Comm() - > https://github.com/Xowap/PHP-Serial

$serial = new \SerialClass\Comm();
$serial->Comm();
$serial->deviceSet("/dev/ttyUSB0");
if (!$serial->_device) {
die("Connection failed");
}
$serial->confParity("none");
$serial->confBaudRate(9600);
$serial->confCharacterLength(8);
$serial->confStopBits(1);
$serial->confFlowControl("none");
$serial->deviceClose();
$serial->deviceOpen();
stream_set_timeout($serial->_dHandle, 5);

while ($connection_ok) {

    echo "#" . $iterations;

    $str   = $serial->readPort();

    echo "<BR><BR>Str: " . $str;

    if ($iterations++ > 1) {
        $connection_ok = FALSE;
        $serial->deviceClose();
        die("<BR><BR>DONE");
    } else {
        sleep(1);
    }
}

它正在运行,没有任何错误。我有一个tail -f /var/log/apache2/error.log的ssh,它没有显示任何内容。

输出 - 不是很令人兴奋......

#0

Str: 
#1

Str: 
#2

Str:

DONE

注意,DMX USB PRO上有灯亮,待机时闪烁。当我在Windows框中使用它时,它在传输数据时会快速闪烁。当我在Debian上运行PHP脚本时,灯熄灭了。这可能是司机问题吗?

https://www.enttec.com/us/products/controls/dmx-usb/dmx-usb-pro/

# lsof | grep /dev/ttyUSB0不返回任何内容。

我不确定下一步该尝试什么? 如果有人有任何建议我会很感激。

Addtitions:

mkaatman - 谢谢您的建议。

PHP日志路径error_log = /var/log/php/errors.log也没有返回任何错误。

Pascal Meunier - 谢谢您的建议。

我尝试使用波特率和停止位,遗憾的是没有区别。

Ent Tec - 建议9600波特和1个停止位。这适用于Windows。我会尝试所有的主要范围。

未找到解决方案

我改为创建了一个c ++应用程序,输入效果很好。

0 个答案:

没有答案