是否可以在iBeacon上写入数据

时间:2016-12-19 11:30:06

标签: ios objective-c bluetooth-lowenergy ibeacon core-bluetooth

我将在我的应用中使用iBeacon。当应用程序打开时,是否可以在其上写入值。如果是,我该如何实现这一目标。通过使用coreBluetooth,我可以做到这一点。

NSData *bytes = [@"0xDE" dataUsingEncoding:NSUTF8StringEncoding];
[peripheral writeValue:bytes forCharacteristic:characteristic
        type:CBCharacteristicWriteWithResponse];

3 个答案:

答案 0 :(得分:4)

iBeacon只宣传3个值;一个UUID,一个"主要"价值和"未成年人"值。

信标通常具有一些BLE服务和特性,用于配置这些和其他参数(例如广告费率和发射功率),但这不在iBeacon规范之内;每个供应商都有自己的服务和特点。

答案 1 :(得分:0)

首先,您需要了解iBeacon(蓝牙信标)和普通蓝牙设备之间的差异。 (你可以谷歌吧)

您呼叫的CoreBluetooth功能是altering values on connected bluetooth peripheral,关键字是connected bluetooth peripheral,iBeacon不是。

蓝牙外围设备包括GATT服务器,它允许蓝牙中心连接并访问其服务和特性。

虽然iBeacon只是广告,UUID,主要,次要,RSSI。没有GATT服务器,没有服务或特征。

总而言之,没有简单的方法(仅使用蓝牙)来改变价值(' UUID',' major',' minor')普通信标。

但是一些信标制造商确实提供了一些类似的解决方案,他们为信标增加了额外的硬件(网络硬盘)。并为信标所有者提供远程控制信标的门户网站。

答案 2 :(得分:0)

我开发了一款可以修改蓝牙设备的iBeacon数据的应用程序。

  

蓝牙规范中没有标准方法可以编写iBeacon数据。

这意味着您必须使用自定义命令,蓝牙固件开发人员同意这样做,无论何种数据通信,不同的供应商都有不同的方法,app开发人员和蓝牙固件开发人员都同意,够了!