0

Swift BLE 関連の質問/問題があります。

自分のアプリで制御したい MI バンドがあります。

デバイスからの値の読み取りは問題ありません。しかし、今は値を書きたいです。

ほとんどの特性がリストされているこのサイトを見つけました。

Start Vibration
Write 8, 2 to Characteristic 0xFF05 (CONTROL_POINT). 

そこで、次のように振動を開始したいと思います。

if cc.uuid.uuidString == "FF05"{
     let data: Data = "8, 2".data(using: String.Encoding.utf8)!
     miBand.writeValue(data, for: cc, type: CBCharacteristicWriteType.withResponse)
}

他の特性でも試してみましたが、どれもうまくいきませんでした。エラーなし、応答なし、何もありません。

何か不足していますか?

編集

Bluetooth経由でRaspberryに何かを送信することができました。そのため、Mi バンドの現在のファームウェアは、送信したデータをサポートしていないようです。また、すべての特性を読み取ることができなくなっていることにも気付きました。

4

2 に答える 2

0

問題は、書き込もうとしているデータだと思います。次のことを試してください。

if cc.uuid.uuidString == "FF05"{
  let bytesToWrite:[UInt8] = [8, 2];
  let data = NSData(bytes: bytesToWrite, length: bytesToWrite.count)
  miBand.writeValue(data, for: cc, type: CBCharacteristicWriteType.withResponse)
}

2A06Mi Band 2の場合、プロトコルも変更されたため、Mi Band 1の場合も、代わりに特性を使用する必要がある可能性がありますFF05

于 2017-07-30T12:57:45.157 に答える