我使用此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();
那么如何向选定的信标发送新的信标信息?
答案 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 并确保设备处于可连接模式,否则它将无法正常工作