首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >蓝牙协议与四设备定位系统的实现

蓝牙协议与四设备定位系统的实现
EN

Stack Overflow用户
提问于 2012-04-15 15:28:51
回答 1查看 724关注 0票数 0

我正在研究蓝牙协议,并在一些设备上实现了在dBm中读取RSSI的位置系统。系统将在3个已知纬度和经度的固定站和一个移动台上实施。定位将在移动台上进行,使用dBm从每个固定站接收到的功率和典型的定位算法。

为了提高系统的效率,需要改变蓝牙设备的一些参数。这个参数可以是:

  • 扫描固定站的时间,以减少答复查询的时间。
  • 查询访问代码,仅从选定的设备(我们的3个固定站)回答查询
  • 其他一些。

根据已使用的技术(其中一些方案是有限的),可以使用一些场景来做到这一点:

  • 修复带有Linux操作系统(修改参数没有问题)的站点,使用Android的移动站(似乎只是在其蓝牙库上具有典型的功能,但是蓝牙设置很难或不可能被修改)。请参阅:http://developer.android.com/reference/android/bluetooth/BluetoothAdapter.html
  • 所有运行Linux的站点和移动站上的C++ (似乎很容易从shell脚本hcitool上运行,用于修改我们的设置,但在C++上实现源代码似乎很困难,因为我们在dBm上的链接到移动站的链接的需要值很难获得RSSI )。
  • 讨厌的方式。所有运行Linux操作系统和shell脚本的站点,在运行在shell脚本下的移动台上,从RSSI解析值,从输出重定向hcidump,午餐后进行查询。

似乎很难找到与此场景相关的有用信息。也许你们中的一些人可以帮助选择最好的场景,并描述应该如何实现。

(对不起,如果没有用更好的方式解释..我的英语糟透了

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-15 19:47:46

对不起,我没有按照你写的每一件事去做,但是我认为第一步是进入固定站点上的HCI层。这是相当直截了当的完成,并给予您一个公平的控制。

正如您所提到的,hcitool非常有用,但是您使用什么工具或语言并不重要。您可以从任何语言访问HCI命令。

例如,我在ALIX上用航海Linux做了这样的事情。航次是基于debian的,所以现在加载BlueZ、PyBluez和Python存在问题。Python简化了快速原型解决方案的工作,如果需要的话,您可以稍后将其转换为C++。(更多这里.)

但这只是一个例子--只要你能得到HCI层,就可以使用任何你觉得舒服的堆栈。(要通过HCI层,需要使用特定的芯片组并将代码直接加载到蓝牙芯片组。)

在移动设备上,您可能受到严重限制:如果您正在尝试实现潜在的现实世界。如果这只是为了实验室,你应该得到有根Android设备,使用标准的Bluez堆栈,然后,就像固定的设备,你可以得到HCI接口。毕竟,Android只是Linux,所以如果你有根,你可以做你想做的事。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10163376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档