Ich möchte eine Terminal-Anwendung erstellen, die eine Verbindung zu einem Bluetooth-Gerät herstellt und alle Befehle ausgibt, die vom Bluetooth-Gerät gesendet werden. Bis jetzt kann ich eine Liste der verfügbaren Geräte scannen und ausgeben.Erstellen Sie einen Terminal-basierten Bluetooth-Monitor in XCode?
Jede Richtung würde sehr geschätzt werden - ist das überhaupt möglich? Was soll ich jetzt ansehen? Ich habe versucht, BluetoothDeviceAddress und IOBluetoothL2CAPChannelGetDevice zu verwenden, hatte aber noch keinen Erfolg.
Hier ist mein Code so weit:
#include <Foundation/Foundation.h>
#include <Cocoa/Cocoa.h>
#include <IOBluetooth/objc/IOBluetoothDeviceInquiry.h>
#include <IOBluetoothUI/IOBluetoothUI.h>
int main (int argc, const char * argv[]) {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSLog(@"start bluetooth search");
IOBluetoothDeviceInquiry *d = [[IOBluetoothDeviceInquiry new] init];
[d setInquiryLength: 5];
[d setUpdateNewDeviceNames: TRUE];
[d start];
[NSThread sleepUntilDate: [NSDate dateWithTimeIntervalSinceNow: 7]];
[d stop];
NSArray *deviceList = [d foundDevices];
NSLog(@"found %d devices", [deviceList count]);
for(int i=0;i < [deviceList count]; i++) {
NSScanner *theScanner = [NSScanner scannerWithString:[NSString stringWithFormat:@"%@", [deviceList objectAtIndex:i]]];
NSString *tagDeviceName = @"mName - ";
NSString *tagEndLine = @"\n";
NSString *currentDeviceName;
// extract the mName from the current array value
while ([theScanner isAtEnd] == NO) {
[theScanner scanUpToString:tagDeviceName intoString:NULL];
[theScanner scanString:tagDeviceName intoString:NULL];
[theScanner scanUpToString:tagEndLine intoString:¤tDeviceName];
} // end [theScanner isAtEnd]
NSLog(@"device name: %@", currentDeviceName);
}
[pool release];
return 0;
}
Mit welchem Bluetooth-Gerät muss es verbunden werden? Welches Profil möchten Sie verwenden? –
Ich teste gerade mit einer Wii-Fernbedienung. – Chris