如何通过android beacon库连接到beacon并更改beacon的数据字段

时间:2015-03-04 16:01:48

标签: ibeacon ibeacon-android altbeacon

我使用此sdk:http://altbeacon.github.io/android-beacon-library/samples.html 我的应用程序已经检测到所有信标(AprilBeacons),我可以从beacon获取所有信息。但我应该更改主要\次要等字段和我不知道如何连接到信标并保存新数据。

我创建了新的信标构建器,如:

Beacon changedBeac = new Beacon.Builder()
                         .setId1("2f234454-cf6d-4a0f-adf2-f4911ba9ffa6")
                         .setId2("1")
                         .setId3("2")
                         .setManufacturer(0x0118)
                        .setTxPower(-59)
                        .setDataFields(Arrays.asList(new Long[]{0l}))
                        .build();

那么如何向选定的信标发送新的信标信息?

2 个答案:

答案 0 :(得分:1)

不幸的是,图书馆无法做到这一点。

问题在于没有标准配置硬件信标的标识符,仅用于检测信标和发送信标。每个硬件信标制造商都有不同的配置信标标识符的方式。一些制造商有一个配置标识符的应用程序,一些有专有的SDK。有些制造商根本不允许这样做。

如果您想配置April Beacon,请与制造商联系以获取相关说明。

您在上面提到的API旨在使Android 5+设备传输作为信标。它们不配置外部硬件信标。

答案 1 :(得分:0)

如果您使用CC2540或CC2541作为信标,您可以向设备发送AT命令,如

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

AT + MINO0xFA01将iBeacon次要号码设置为0xFA01(十六进制)

AT + ADVI5将广告时间间隔设置为5(546.25毫秒)

AT + NAMEYOURNAME将HM-10模块名称设置为YOURNAME。使这个独特。

AT + RESET以字符串格式从手机重新启动蓝牙,没有任何分隔符或换行符,即\ n 并确保设备处于可连接模式,否则它将无法正常工作