【问题标题】:HM-10 BLE not working as iBeaconHM-10 BLE 不能用作 iBeacon
【发布时间】:2017-10-27 21:31:18
【问题描述】:

我正在尝试将 HM-10 模块(CC2541 芯片)制作成 iBeacon。我的固件版本是v540。我使用以下命令设置模块:

AT+RENEW 恢复出厂设置

AT+RESET 重启HM-10

AT 等待确定

AT+MARJ0x1234 设置 iBeacon 主要编号为 0x1234(十六进制)

AT+MINO0xFA01 设置 iBeacon Minor 编号为 0xFA01(十六进制)

AT+ADVI5 设置广播间隔为 5(546.25 毫秒)

AT+NAMEYOURNAME 将 HM-10 模块名称设置为 YOURNAME。让这个独一无二。

AT+IBEA1 开启iBeacon模式

AT+RESET 重启

当我打开任何 Beacon Scanner 应用程序时,它不会显示正确的距离,它总是显示 0.1 米(尽管我在 3 米之外)。有什么建议为什么这对我不起作用?我按照这里的说明进行操作:http://www.instructables.com/id/Turn-your-CC2541-based-HM-10-Bluetooth-Smart-Modul/

【问题讨论】:

  • BLE Scanner 应用程序中的 RSSI 值始终介于 -48 到 -46 之间。即使我在 10 米之外。

标签: android bluetooth ibeacon ibeacon-android hm-10


【解决方案1】:

为了使距离估计正常工作,您需要将信标数据包内的测量功率字节设置为一个特定值,该值表示 1 米处信标发射器的预期 RSSI。

为此,请使用像我的 Locate Beacon 应用程序这样的信标应用程序:https://play.google.com/store/apps/details?id=com.radiusnetworks.locate&hl=en,并在 1 米外执行校准测量。

然后您需要获取此 RSSI 值(例如 -59 dBm)并将其转换为二进制补码十六进制值(对于 -59,它将是 0xC5)。然后将此值放入要在 HM-10 内部传输的数据包中的适当位置。

【讨论】:

  • 我对 BLE 很陌生。我的十六进制值为 0xE9。我需要更改哪个数据包以及如何更改?你的意思是我必须用AT命令改变UUID?谢谢你的帮助大卫。
  • 希望有另一个 AT 命令来设置测量功率值。我不是 HM-10 方面的专家,因此您需要查看文档以查看是否可行以及使用什么命令。
  • 查看数据表,您使用 AT+MEAS0xE9 设置您的测量功率。
  • AT+MEAS0xE9 还是 AT+MEAS?命令没有给出任何答案。从 V519 版本开始增加该命令。由于我有 V540 版本,它应该可以工作,但不能。你知道为什么 MEAS 命令不适合我吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-24
  • 1970-01-01
  • 1970-01-01
  • 2016-11-25
  • 2019-02-13
相关资源
最近更新 更多