HM-10 AT命令:使用信标方式广播传感器数据

时间:2016-08-04 06:27:04

标签: arduino bluetooth-lowenergy ibeacon hm-10

我尝试使用beacon(HM-10)来广播我的传感器数据,但是有一个问题是我使用循环来编写AT命令,过了一会儿,它没有响应任何东西。

以下是代码的一部分:

String pre = "AT+MARJ0x";
int sensorData = 0;

loop () {
  sensorData = getSensorData(); // always returns 100 ~180
  String atCommand = pre + sensorData; // ex: AT+MARJ0x100
  BTSerial.print (atCommand);
  delay (200);
}

它最初成功运行大约3分钟,然后它不起作用,无法通过命令发送。 有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

使用Ibeacon无法实现您所尝试的功能。 您所做的就是使用传感器数据一遍又一遍地设置HM-10设备中的主要Ibeacon数据。 主要编号是Ibeacon数据规范的一部分: (来源:https://developer.mbed.org/blog/entry/BLE-Beacons-URIBeacon-AltBeacons-iBeacon/

数据规范:

IBeacons播放了四条信息:

  • 标识信标的UUID。
  • 识别大型群组中信标子集的主要编号。
  • 识别特定信标的次要号码。
  • 2补码中的TX功率电平,表示距离设备一米的信号强度。 必须由用户或制造商为每个设备校准此编号。

    扫描应用程序读取UUID,主要编号和次要编号,并针对数据库引用它们 获取有关信标的信息; 信标本身不包含描述性信息 - 它需要这个外部数据库才有用。 TX功率字段与测量的信号强度一起使用以确定信标离智能手机有多远。 请注意,TxPower必须在信标的基础上进行校准才能准确。

enter image description here

对于HM-10设备,AT命令通常仅用于设置设备,而不用于发送数据。 谷歌的一些例子,并学习如何在BLE设备之间建立通信。