蓝牙中的警告消息:不支持TIOCGSERIAL

时间:2018-01-08 16:20:06

标签: c++ qt ubuntu bluetooth serial-port

我想将“客户端”模式下的蓝牙条码扫描器(Gryphon GBT4400)连接到具有串行端口配置文件的蓝牙PC。 蓝牙PC适配器是Atheros Communications AR3012 PC在Ubuntu Server 16.04下运行。

我首先通过bash脚本运行以下命令:

    sdptool add --channel=22 SP > /dev/null
    rfcomm watch /dev/rfcomm0 22 1>/dev/null 2>&1 &

然后使用扫描仪扫描条形码,将扫描仪连接到蓝牙电脑(此条形码包括电脑蓝牙接口的MAC地址)。 它运作良好:PC和扫描仪现已连接。

然后我通过在QT 5.5.1上构建的PC上运行的QT / C ++应用程序打开串口,代码如下:

    pSerialPort = new QSerialPort("/dev/rfcomm0");
    pSerialPort->open(QIODevice::ReadOnly);

在此步骤中,此警告消息立即显示在PC上:

    Bluetooth: TIOCGSERIAL is not supported

除了此警告,一切都运作良好:QT应用程序正确检索所有扫描的条形码值。

我在网上几乎找不到任何东西 有人可以帮我理解这条警告信息吗?

1 个答案:

答案 0 :(得分:0)

您可以使用以下命令删除所有警告和错误消息:

qt_app 2>/dev/null

但这会隐藏您可能希望看到的其他警告。要隐藏这一个而不必更改任何源代码并重新编译,您可以执行以下操作:

qt_app 2>&1 | grep -v TIOCGSERIAL