2016-07-05 8 views
0

私は現在、1つのサービスで低エネルギーの周辺機器(迅速に書かれたOSXマシン)を持っています。このサービスには、コマンドを表す文字列を持つ中央デバイス(Android)と、受信したコマンドに対応する応答で周辺機器が書き込む別の2つの特性があります。Bluetooth低エネルギーシステム設計、レスポンスプロトコル

私が持っている質問は次のとおりです。これについては正常な方法ですか?または、セントラルデバイスからの書き込みに応答するためのより良い方法がありますか?

私はBLEスキャナを使用してテストしていますが、これは完全に動作していますが、同様に動作するサンプルのソースは見つかりません。

答えて

0

これを行うことはできますが、通常の方法ではありません。基本的にデータのやりとりを見る方法です。 BLEは、スレーブ(ペリフェラル)がスレーブ(レジスタなど)にデータを書き込んだり読み込んだりするためのさまざまな特性を提供するように設計されています。 あなたの応答はあなたの第2の特性で書かれ、あなたはBle Scannerまたは?だから、これはあなたが単にデータを書いてマスターから読む "本当の応答送信"ではありません。 マスターは常にスレーブにリクエストを送信しています(通知を除く)

これはあなたに役立ちます。

BR

+0

は、本質的に、マスタは、スレーブによって解析されたコマンドを送信し、スレーブは、コマンドで指定された前記要求に特定のメッセージで応答します。今はさまざまなコマンドとレスポンスが設定されていますが、それぞれのコマンドレスポンスを独自の特性として書き直す必要があると思いますか?たとえば、私はDEV_00 GET_NAMEを送信し、DEV_00 NAME = "SampleName" ... SampleNameを特性として保存する必要がありますか? –

+0

と私がこれをしたくない主な理由は、USB(シリアルUART)上でうまく動作するように設定されているからです。私の目標はこのプロトコルをブルートゥースに変換することだけです。 –

+0

はい、正確です。さらに、これにあらかじめ定義済みの文字列があります。 [this](https://developer.bluetooth.org/gatt/characteristics/Pages/CharacteristicsHome.aspx)を見てください。すべてのブルートゥースで特定された文字列のリストがあります。また、デバイス名は既にBluetooth SIGで定義されているため、これを使用することができます。 – ph10

関連する問題