2012-04-15 11 views
0

私はBluetoothプロトコルを研究し、いくつかのデバイスからdBmでRSSIを読み取る位置システムを実装しています。システムは、緯度と経度が既知の3つの固定局と移動局で実装されます。位置決定は、各固定局および典型的な位置アルゴリズムから受信された電力(dBm)で移動局上で行われる。Bluetoothプロトコルと4つのデバイスで位置システムを実装する

システムの効率を上げるために、Bluetoothデバイスの一部のパラメータを変更する必要があります。このパラメータは、次のとおりです。

  • Inquiresへの応答時間を短縮するための固定局のスキャン時間。ただ、選択したデバイス(当社3固定局)

  • いくつか他の人からの問い合わせに答え得るために

  • お問合せアクセスコード。

使用tecnologiesに応じて、(それらのいくつかは、限定されている)ことを行うために使用することができますいくつかのシナリオがあります。

  • のLinux OS(パラメータを変更するには問題ありません)で固定局は、 Android搭載のモバイルステーション(通常はBluetoothライブラリに機能があるように見えますが、Bluetoothの設定は変更が困難または不可能です)。参照してください :http://developer.android.com/reference/android/bluetooth/BluetoothAdapter.html

  • をすべての局が移動局上のLinux OS、およびC++を実行すると、(シェルスクリプトから実行することは容易であると思われる私たちの設定を変更する修正ステーション用hcitool、取得するC++のソースコードを実装することは困難と思われます移動局の局を固定するためのリンクのdBmに関する必要な値を用いたRSSI)。

  • 厄介な方法です。シェルスクリプトを実行しているモバイルステーション上のLinux OSおよびシェルスクリプトを実行しているすべてのステーションは、昼食後にhcidumpの出力リダイレクトからRSSIの値を解析します。

このシナリオに関連する有用な情報を見つけるのは非常に難しいようです。たぶんあなたの中には、最良のシナリオを選択し、どのように実装すべきかを記述するのに役立つかもしれません。

(申し訳ありませんが、それがより良い方法で説明していない何かが...私の英語がひどい場合。)

感謝。

答えて

0

申し訳ありませんが、あなたが書いたすべてを追っていませんでしたが、最初のステップは固定局のHCIレイヤーになることです。それは達成するのがかなり簡単で、あなたにかなりの制御を与えます。

hcitoolは非常に便利ですが、どのツールや言語を使用しても問題ありません。どの言語からでもHCIコマンドにアクセスできます。

たとえば、ALIXボックスにVoyage Linuxと入力します。 VoyageはDebianベースなので、BlueZ、PyBluez、Pythonをロードするには問題があります。 Pythonは、必要に応じて後でC++に変換できるソリューションのプロトタイプ作成を容易にしました。 (More here

これは単なる例です.HHIレイヤーで手に入りたいのであれば、どんなスタックでも使用できます。(HCIレイヤーを通過するには、特定のチップセットで作業し、コードをBluetoothチップセットに直接ロードする必要があります)。

モバイルデバイスでは、現実世界での実装を試みている場合には、これが実験室のためのものであれば、標準のBluezスタックを使用する根っこのAndroidデバイスを取得し、固定デバイスと同様に、HCIインターフェイスで取得できます。結局のところAndroidはLinuxだけなので、もしあなたがrootなら必要なことをすることができます。

関連する問題