ios8 / Bluetooth LE / Pulsmesser

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • ios8 / Bluetooth LE / Pulsmesser

    Hallo,

    ich suche schon den ganzen Tag nach einen Funktionierenden Beispiel oder HIlfe
    wenn ich folgenden Code Aufrufe bekomme ich die Meldung das "Power on" ist allerdings der darauf folgende Scan findet es nciht
    der Pulsmesser ist ein "Beets BLU HRM1" und das SDK von der Enticklerseite geht natürlich auch nicht!

    Habe einiges gelesen das es vielleicht in Verbindung mit dem Healthkit ist oder so.
    Alle habe das gleiche Problem mit iOS 7 alles ok und mit dem Update auf iOS8 geht nix mehr

    beetsblu.de/monitor.html


    Kann mir jemand Bitte Helfen!
    Danke

    Quellcode

    1. // Method called whenever the device state changes //
    2. - (void)centralManagerDidUpdateState:(CBCentralManager *)central
    3. {
    4. // Determine the state of the CentralManager //
    5. // (To make sure this iOS device is Bluetooth low energy compliant and it can be used as the CentralManager) //
    6. if ([central state] == CBCentralManagerStatePoweredOff) {
    7. NSLog(@"CoreBluetooth BLE hardware is powered off");
    8. }
    9. else if ([central state] == CBCentralManagerStatePoweredOn) {
    10. NSLog(@"CoreBluetooth BLE hardware is powered on and ready");
    11. // Create an array with Bluetooth-services you wish to detect //
    12. NSArray *services = @[[CBUUID UUIDWithString:HRM_HEART_RATE_SERVICE_UUID], [CBUUID UUIDWithString:DEVICE_INFO_SERVICE_UUID]];
    13. // Start scanning for services //
    14. NSDictionary *options = [NSDictionary dictionaryWithObject:[NSNumber numberWithBool:YES] forKey:CBCentralManagerScanOptionAllowDuplicatesKey];
    15. [self.centralManager scanForPeripheralsWithServices:services options:options];
    16. NSLog(@"mario");
    17. }
    18. else if ([central state] == CBCentralManagerStateUnauthorized) {
    19. NSLog(@"CoreBluetooth BLE state is unauthorized");
    20. }
    21. else if ([central state] == CBCentralManagerStateUnknown) {
    22. NSLog(@"CoreBluetooth BLE state is unknown");
    23. }
    24. else if ([central state] == CBCentralManagerStateUnsupported) {
    25. NSLog(@"CoreBluetooth BLE hardware is unsupported on this platform");
    26. }
    27. }
    Alles anzeigen
    _________________________________________________
    Tue was du willst, solange du niemanden damit schadest,
    denn die Liebe ist das wahre Gesetz
  • Ich würde erstmal den Duplicate-Key rausnehmen, der wird da eigentlich nicht benötigt und macht gelegentlich gerne Ärger. Dann würde ich testweise mal ohne den Service-Filter scannen und sehen, ob das gewünschte Gerät gefunden wird. Kann sein, dass das HealthKit mittlerweile abgreift, dann kommt man an die Daten nicht mehr über die BLE-API, sondern halt über HealthKit. Findest du das Gerät denn am Mac, wenn du z.B. per LightBlue scannst?

    Edit: Ich hatte dazu einen Vortrag auf der letzten Macoun, die Materialien sind mittlerweile dort verfügbar (kein HRM, sondern ein Health Thermometer, aber das Vorgehen ist recht ähnlich). Vielleicht hilft das ja, richtig verständlich wird's allerdings erst, wenn das Video zum Talk online geht.
    Multigrad - 360°-Produktfotografie für den Mac
  • Hallo,

    Danke für deine Schnelle Antwort

    also Light Blue findet es, im HealthKit zeigt er mir sogar denn Momentane Puls an "sehr hoch im Moment" ;)

    so bleibt centralManager Leer

    Quellcode

    1. [self.centralManager scanForPeripheralsWithServices:services options:nil];

    und so auch


    Quellcode

    1. [self.centralManager scanForPeripheralsWithServices:nil options:nil];
    und das ist der ganze Code

    raywenderlich.com/52080/introd…ilding-heart-rate-monitor

    Danke
    _________________________________________________
    Tue was du willst, solange du niemanden damit schadest,
    denn die Liebe ist das wahre Gesetz