1

我正在使用 HM-10 模块和 Arduino UNO。

我的要求是使用 Arduino 从我附近的 ibeacons 读取数据。可能吗?我还没有找到任何关于此的文章。所有文章都在谈论将您的 android 手机与 arduino 连接。任何想法?

4

3 回答 3

3

对的,这是可能的。我使用 HM-10 作为 iBeacon 检测器(linksprite.com BLE 4.0 shield),它成功检测到在 iBeacon 模式下运行的 RadBeacon。我的 HM-10 上的固件是 540 版。

在它检测到 RadBeacon 之前,我必须向 HM-10 发送以下命令:

AT+ROLE1
AT+IMME1
AT+RESET

然后我用了AT-DISI?命令,串行监视器显示从 RadBeacon(和另一个信标)接收到的广播,如下(例如):

OK+DISISOK+DISC:4C000215:2G234454CF6D5A0FADF2F4911BA9FFA7:00000001AC:0CF3EE041CCE:-052OK+DISC:00000000:00000000000000000000000000000000:0000000000:B9782E08068C:-071OK+DISCE

在这个例子中,HM-10 正在检测我的 RadBeacon,它的 UUID 为 2G234454...信号强度为 -052。它还检测到另一个 BLE 信标(我楼下的 AppleTV),UUID 为 B9782E08068C,信号强度为 -071。

我绝对不是很了解这些东西,但到目前为止它似乎对我有用。对我来说,下一个挑战是弄清楚如何解析接收到的文本数据。我最感兴趣的是距离/信号强度数据,以便在 RadBeacon 非常接近 HM-10 时触发动作。

[完全披露:我混淆了上面的一些 UUID 数字,因为我不确定这些信息是否是私人的或可破解的或其他]

[顺便说一下,nRF8001 BLE Shield 不会这样做,因为它只在外围模式下运行。]

于 2016-07-30T23:52:56.347 回答
1

是的,您可以获得附近 iBeacons 的最小和最大数量。您需要将 hm-10 连接到 Arduino Uno。

尝试使用这个库:https ://github.com/dinosd/BLE_PROXIMITY 如果你想配置它,你可以配置合适的 AT 命令。但它也应该使用默认设置。

使用 SoftwareSerial 访问 HM-10。

于 2018-01-04T11:52:52.553 回答
0

在 HM-10 的固件版本 V539 中,它添加了一个 AT 命令来列出附近的 iBeacon。命令是AT+DISI?。您只需将 Arduion 设置为通过串行端口发送该命令并解析它返回的数据。

于 2015-07-08T22:24:59.600 回答