Qt and Bluetooth
-
So, I created server by this tutorial - http://doc.qt.io/qt-5/qtbluetooth-btchat-example.html.
When, I'm trying to connect to my mac with BLE iPhone application I only see unknown service with system information about mac.
System: Ubuntu 15.04
Console output:Starting bluetooth server! "28:CF:E9:1F:2C:D8" Bluetooth server started!
I also tried to launch this application on Mac OS X with Qt 5.5. Same result.
Code:
QBluetoothLocalDevice localDevice; QBluetoothAddress adapterAddress = localDevice.address(); qWarning() << "Starting bluetooth server!"; qWarning() << adapterAddress; rfcommServer = new QBluetoothServer(QBluetoothServiceInfo::RfcommProtocol, this); connect(rfcommServer, SIGNAL(newConnection()), this, SLOT(clientConnected())); bool result = rfcommServer->listen(adapterAddress); if (!result) { qWarning() << "Cannot bind chat server to " << adapterAddress.toString(); return; } qWarning() << "Bluetooth server started!"; serviceInfo.setAttribute(QBluetoothServiceInfo::ServiceName, tr("Bt Chat Server")); serviceInfo.setAttribute(QBluetoothServiceInfo::ServiceDescription, tr("Example bluetooth chat server")); serviceInfo.setAttribute(QBluetoothServiceInfo::ServiceProvider, tr("qt-project.org")); static const QLatin1String serviceUuid("e8e10f95-1a70-4b27-9ccf-02010264e9c8"); serviceInfo.setServiceUuid(QBluetoothUuid(serviceUuid)); QBluetoothServiceInfo::Sequence publicBrowse; publicBrowse << QVariant::fromValue(QBluetoothUuid(QBluetoothUuid::PublicBrowseGroup)); serviceInfo.setAttribute(QBluetoothServiceInfo::BrowseGroupList, publicBrowse); QBluetoothServiceInfo::Sequence protocolDescriptorList; QBluetoothServiceInfo::Sequence protocol; protocol << QVariant::fromValue(QBluetoothUuid(QBluetoothUuid::L2cap)); protocolDescriptorList.append(QVariant::fromValue(protocol)); protocol.clear(); protocol << QVariant::fromValue(QBluetoothUuid(QBluetoothUuid::Rfcomm)) << QVariant::fromValue(quint8(rfcommServer->serverPort())); protocolDescriptorList.append(QVariant::fromValue(protocol)); serviceInfo.setAttribute(QBluetoothServiceInfo::ProtocolDescriptorList, protocolDescriptorList); serviceInfo.registerService(adapterAddress);
-
@nedo99 There is starting with Qt 5.5, see the new feature list