12

私は iOS コア Bluetooth アプリケーションに取り組んでおり、iPad3 を使用して BLE デバイスに接続できます。ブロックに到達didDiscoverServicesできますが、ここから先に進むことができません。

私の質問は;

  1. Bluetooth デバイスから特性を読み取るにはどうすればよいですか?
  2. Bluetooth デバイスのその他の情報を読み取るにはどうすればよいですか?

これについて私を助けたり、提案を提供してください。

返信ありがとうウィルヘルムセン。

上記のブロックから次のものを取得しました。

[0] - Service : <CBConcreteService: 0x1769a0> UUID: Generic Attribute Profile
[1] - Service : <CBConcreteService: 0x174470> UUID: Generic Access Profile
[2] - Service : <CBConcreteService: 0x1744e0> UUID: Unknown (<00005301 00000041 4c505749 53450000>)

Characteristic

[0] - Characteristic : <CBConcreteCharacteristic: 0x15d410> UUID: Service Changed

[0] - Characteristic : <CBConcreteCharacteristic: 0x1805b0> UUID: Device Name
[1] - Characteristic : <CBConcreteCharacteristic: 0x1806a0> UUID: Appearence

[0] - Characteristic : <CBConcreteCharacteristic: 0x183810> UUID: Unknown (<00004301 00000041 4c505749 53450000>)
[1] - Characteristic : <CBConcreteCharacteristic: 0x1838a0> UUID: Unknown (<00004302 00000041 4c505749 53450000>)

didUpdateValueForCharacteristic ブロックでこの Characteristic から正確な値を取得するにはどうすればよいでしょうか?

4

3 に答える 3

12

フレームワークをよく読んでください。ここまで来れば、'discoverCharacteristics' とペリフェラル デリゲート コールバック 'didDiscoverCharacteristic' を見つけるのに問題はないはずです。発見したいサービスと特性の UUID を知り、それをそれらのメソッドに適用する必要があります。

次に、「readValueForCharacteristic」とデリゲート コールバック「didUpdateValueForCharacteristic」で読み取ることができます。

これは私の携帯から送信されたものなので、パソコンにアクセスしたら少し編集するかもしれません。それが役に立てば幸い

新しい質問:

[connectedPeripheral readValueForCharacteristic:wantedCharacteristic] 

および周辺デリゲートで

- (void) peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error{

NSLog(@"Characteristic value : %@ with ID %@", characteristic.value, characteristic.UUID);
[delegate characteristicValueRead:characteristic.value];
}

私のために働く

于 2012-07-21T23:02:11.877 に答える
0

https://github.com/LGBluetooth/LGBluetoothを使用するだけ です

    [LGUtils readDataFromCharactUUID:@"f045"
                          seriveUUID:@"5ec0"
                          peripheral:peripheral
                          completion:^(NSData *data, NSError *error) {
                              NSLog(@"Data : %s Error : %@", (char *)[data bytes], error);
                          }];
于 2014-02-15T09:11:46.347 に答える