ich möchte erstmal ein kleines Programm schreiben, dass Bluetoothgeräte endeckt und nach einander auflisten kann. Hierzu habe ich mir zuerst die Bluez-Library angesehen. Jedoch wurde mir empfohlen die QT-Bindings zu verwenden. Ok soweit so gut. Also habe ich mir mal Qt + Qt-Creator auf meinem System installiert. Mit qdbusviewer habe ich die Devices überprüft und mir die angebotenen Funktionen angsehen.
Danach habe ich mit Hilfe der Examples folgenden Code geschrieben
Code: Alles auswählen
#include <QtCore/QCoreApplication>
#include <QtCore/QDebug>
#include <QtCore/QStringList>
#include <QtDBus/QtDBus>
#include <QDBusMessage>
#include <QDBusInterface>
#include <QObject>
....
void method1()
{
QDBusConnection bus = QDBusConnection::systemBus();
QDBusInterface dbus_iface("org.bluez", "/org/bluez/hci0","org.bluez.Adapter", bus);
QDBusMessage reply = dbus_iface.call("DiscoverDevices");
if (reply.type() == QDBusMessage::ErrorMessage)
qDebug() << reply.errorMessage();
else {
}
}
Hierzu ein Auszug aus der shell auf der ich hcidump ausgeführt habe:
debian:/home/virtual# hcidump -X -V
HCI sniffer - Bluetooth packet analyzer ver 1.42
device: hci0 snap_len: 1028 filter: 0xffffffff
< HCI Command: Inquiry (0x01|0x0001) plen 5
lap 0x9e8b33 len 8 num 0
> HCI Event: Command Status (0x0f) plen 4
Inquiry (0x01|0x0001) status 0x00 ncmd 1
< HCI Command: Inquiry Cancel (0x01|0x0002) plen 0
> HCI Event: Command Complete (0x0e) plen 4
Inquiry Cancel (0x01|0x0002) ncmd 1
status 0x00
Kann jemand meinen Fehler endecken oder hat mir einer einen Code-Schnipsel den ich verwenden kann?
Was für mich auch noch ganz interessant wäre, ist wie ich die SIGNALE die der Funktion "DiscoverDevices" abfangen und im Programm verwenden kann. Mir würd ein Objet mit Mac-Adresse,RSSI und Devicename erstmal reichen.
Danke im voraus.
MFG
DonDom