【发布时间】:2012-04-15 15:28:51
【问题描述】:
我正在研究蓝牙协议并实现一个定位系统,从某些设备读取以 dBm 为单位的 RSSI。系统将使用 3 个已知经纬度的固定站和一个移动站来实施。定位将在移动站上完成,从每个固定站接收到的功率(以 dBm 为单位)和典型的定位算法。
为了提高系统的效率,需要更改蓝牙设备的一些参数。这个参数可以是:
修复站的扫描时间以减少响应查询的时间。
查询访问代码以获取仅来自选定设备(我们的 3 个固定站)的查询的答复
其他一些。
根据使用的技术,可以使用一些场景来做到这一点(其中一些是有限的):
修复Linux操作系统的站(修改参数没问题),Android的移动站(似乎在其蓝牙库上只有典型的功能,但蓝牙设置很难或不可能修改)。 见:http://developer.android.com/reference/android/bluetooth/BluetoothAdapter.html
所有运行 Linux 操作系统的工作站和移动工作站上的 C++(似乎很容易从 shell 脚本运行 hcitool 用于修改我们的设置的修复工作站,但似乎很难在 C++ 上实现源代码以使用我们的需要链路的 dBm 值来固定移动台上的台站)。
讨厌的方式。所有运行 Linux 操作系统和 shell 脚本的站,在运行在 shell 脚本下的移动站上,在午餐查询后从 hcidump 的输出重定向解析 RSSI 值。
似乎很难找到与此场景相关的有用信息。也许你们中的一些人可以帮助选择最佳方案并描述应该如何实施。
(对不起,如果没有以更好的方式解释。我的英语很糟糕..)
谢谢。
【问题讨论】:
标签: android c++ linux bluetooth core-bluetooth