2009-09-29 190 views
1

问候!使用蓝牙识别潜在数千个范围内的设备?

这个想法很简单。比方说,我有一项服务,人们可以走到一个售货亭,并通过该售货亭上的蓝牙设备“配对他们的电话”。我们将忽略为什么人们会这样做,但假设他们有这样做的动机。

假设我已经说服成千上万的(如果不是数百万)人做这件事...他们正在用蓝牙在他们的手机四处走动。 (不可发现的)。如果已知设备可能存在潜在的百万池,我该如何解决扫描“已知设备”的问题?

再次,我不想连接与他们,一旦我已经实际完成了最初的配对。我只是想知道他们是最接近的。

想法?

+0

我不知道蓝牙协议,但通过互联网,每个设备都有一个IP和一个MAC地址。 IP可以放在哈希表中,这样即使在数百万的访问者中,找到熟悉的IP也可以非常快速地完成。 – ldog 2009-09-30 07:45:44

回答

4

嗯,首先,即使你的信息亭有一个1类蓝牙无线电,它实际上可能比广告中的100米远,但仍然不可能有数百万的蓝牙手机拥有以前与您的自助服务终端广播范围内的自助服务终端配对。这样就缩小了您正在处理的潜在数量的蓝牙设备。第二,如果某个设备无法被发现,那么之前与之配对与否并不重要。你不会用一般的“你好,有人在那里吗?”查询扫描。如果您已与设备配对,您将知道其蓝牙设备地址,因此可以明确地ping通并获得答案。如果您认为您的手机可能配备了数百万部手机,这似乎不是一件合理的事情。 (你有没有想过,如果你有多个信息亭,你的用户将不得不分别与每个信息亭配对?你真的需要与手机配对做你需要做的事情吗?)

说了全部一般查询扫描将在您的信息亭收音机附近生成一个可发现的蓝牙设备列表。您可以使用该列表搜索自己的与自助服务终端配对的设备列表。我不记得你是否在第一个响应中恢复了友好名称,或者你是否也获得了BD_ADDR。如果您刚刚获得友好名称,则可能会有多个设备具有相同的友好名称,因为我怀疑许多用户更改了其手机的友好名称。

自从我真正钻研蓝牙规范以来可能已经发生了变化,这已经有一段时间了。

+0

这就是问题所在,简而言之。我想要做的就是使用蓝牙功能的手机作为“邻近”信标,用于折扣卡和顾客忠诚奖励等。这个想法的棺材里真正的钉子似乎是我不能在一个位置与一个售货亭配对,并自动与一个位于单独位置的售货亭配对。看起来蓝牙不是“正确的事情”。谢谢! – earino 2009-10-05 03:34:43

2

配对可能是过度的:这是关于建立安全通信。更糟糕的是,ISTR的一些手机用户界面不会将配对(拥有安全通道)和信任(允许移除设备在不询问用户是否应该这样做的情况下执行某些操作)分离,尽管我希望现代手机能够正确使用。

如果你只是想要其他设备的蓝牙地址,你可以让人们给自助终端发送名片或其他东西。或者告诉他们变得可以发现并让你的信息亭最初找到它们。或者他们可以配对,但正如Kirsten所说,他们会与一个售货亭配对:不过,您可能并不在乎所需的只是他们的地址,而不是安全渠道。

现在你已经有了一个蓝牙地址列表。如果你在它们之间有一些排序网络,你可以在多个信息亭之间共享这些地址。在一个理想的世界中,检测邻近度将是一个执行BT查询的问题(您甚至不需要在这里完整的设备发现,只需知道哪些地址足够),并将您从该列表获得的地址与您的列表进行匹配。但是,只有当远程设备可被发现时(这意味着他们正在侦听查询数据包,完成规范所称的查询扫描)才有效。如果他们不是,你必须尝试依次连接到每个人(一旦你知道其他人在那里,你可以放弃连接)。你可以将它与多个BT收音机并行处理,但每个收音机每个地址只需几秒钟。你正在做旧的“Redfang”蛮力,人们在几年前感到兴奋,但它会变得很慢:http://www.newswireless.net/index.cfm/article/924

当然,如果人们不让他们的设备被发现,其含义是他们不想被发现,所以这并不奇怪,这是行不通的。