1

ドキュメントとほとんどの BTLE および CB スタックオーバーフローの質問をナビゲートした後、限界に達しました。

BT 4.0 デバイスと通信する必要がある iOS アプリを実行しています。データを要求し、その特定のデータを受け取ります。デバイスのドキュメントには、たとえば、次のように記載されています。 Request: Data
Start 1 "d" Read Log command-code
comma 1 "," comma
Side 1 "l" or "r"
comma 1 "," comma
Graph 1 "0", "1", または "2"
コンマ 1 "," コンマ
End 1 ; コマンド文字の終わり

応答: 開始 1 "d" Read Log Data command-code
カンマ 1 "," カンマ
サイド 1 "l" または "r"
カンマ 1 "," カンマ
グラフ 1 "0"、"1"、または "2"
カンマ 1 "," コンマ
End 1 ; コマンド文字の終わり

すでに同じアプリを作成した Android 開発者は、「文字列を ASCII を使用して大量のバイトに変換し、BT アダプターに送信しています」と述べています。まあ、いいですね。しかし、CoreBluetooth を使用する必要がある場合、どのように機能するのでしょうか?

今のところ、iPadとiPhoneの2つのデバイス間の接続を確立しました。基本的にはそれがどのように機能するかを理解しましたが、これらのバイト文字列をどこにどのように送信するかはまだわかりません.

ヒント、アイデア、誰かがこのようなことを経験しましたか?

4

1 に答える 1

3

これを試して:

[yourConnectedPeripheral writeValue:[yourString dataUsingEncoding:NSUTF8StringEncoding] forCharacteristic:theCharacteristicToWrite type:CBCharacteristicWriteWithResponse];

書き込むには、NSData を使用する必要があります。そのため、dataUsingEncoding(Android アプリのものと同じでない場合はエンコードを変更できることに注意してください) があり、CBCharacteristicWithResponse正しく書き込まれたことを知ることができます。デリゲート メソッドperipheral:didWriteValueForCharacteristic:error:

于 2013-05-30T11:47:49.220 に答える