我将在我的应用中使用iBeacon。当应用程序打开时,是否可以在其上写入值。如果是,我该如何实现这一目标。通过使用coreBluetooth,我可以做到这一点。
NSData *bytes = [@"0xDE" dataUsingEncoding:NSUTF8StringEncoding];
[peripheral writeValue:bytes forCharacteristic:characteristic
type:CBCharacteristicWriteWithResponse];
答案 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开发人员和蓝牙固件开发人员都同意,够了!