QString address = "00:12:6F:03:BC:63"; QString service = "spp"; QDBusConnection bus = QDBusConnection::systemBus(); QDBusInterface manager_iface("org.bluez", "/","org.bluez.Manager", bus); QDBusReply<QDBusObjectPath > devices = manager_iface.call("DefaultAdapter"); if (devices.isValid()) { QDBusObjectPath defaultAdapter = devices.value(); QString defaultAdapterPath = defaultAdapter.path(); qDebug() << defaultAdapterPath; QDBusInterface adapter_iface("org.bluez",defaultAdapterPath,"org.bluez.Adapter",bus); QDBusReply<QDBusObjectPath> path = adapter_iface.call("FindDevice",address); if(path.isValid()) { QDBusInterface serial_iface("org.bluez",defaultAdapterPath,"org.bluez.Serial",bus); QDBusMessage node = serial_iface.call("Connect",service); qDebug() << node; QVariant dev = node.arguments().at(0); qDebug() << dev; QDBusMessage result = serial_iface.call("Disconnect",dev); qDebug() << result; } else { qDebug() << path.error(); } } else { qDebug() << devices.error(); }