BRTBeacon Class Reference

Inherits from NSObject
Conforms to CBPeripheralDelegate
Declared in BRTBeacon.h

Overview

BRTBeacon类代表了一个在该区域监听中遇到的beacon设备. 你不需要直接实例化这个类. BRTBeaconManager在扫描到beacon设备时会回调相应delegate的方法传人BRTBeacon.你可以通过BRTBeacon里的信息来识别不同的设备.

BRTBeacon类既包含了苹果CLBeacon类的基本方法,同时也新增了一些扩展方法,它能连接到beacon设备读取和写人一些特征(characteristics).

Other Methods

  invalidTime

invalidTime

@property (nonatomic, assign) NSTimeInterval invalidTime

Discussion

invalidTime

Discussion: beacon设备上一次出现的时间戳,一般用于维护是设备生存周期,例如5s内未再次收到该设备信号,就移除该beacon设备.

Declared In

BRTBeacon.h

  macAddress

macAddress

@property (nonatomic, strong) NSString *macAddress

Discussion

macAddress

Discussion: beacon设备的物理地址.可以唯一标识Bright Beacon设备,非BrightBeacon设备该值可能为空

Declared In

BRTBeacon.h

  name

name

@property (nonatomic, strong) NSString *name

Discussion

name

beacon设备名.

Declared In

BRTBeacon.h

  proximityUUID

proximityUUID

@property (nonatomic, strong) NSUUID *proximityUUID

Discussion

proximityUUID

beacon设备的UUID,可以用作区域标识

Declared In

BRTBeacon.h

  major

major

@property (nonatomic, strong) NSNumber *major

Discussion

major

设备的主要属性值,默认值是0。可以用作区域标识

Discussion: 注意该值在用于区域标识,0和nil不等价:0是监测区域中对应UUID的设备下Major为0的设备,nil则表示不使用该值

Declared In

BRTBeacon.h

  minor

minor

@property (nonatomic, strong) NSNumber *minor

Discussion

minor

设备的次要属性值,默认值是0。可以用作区域标识,类同Major

Discussion: 注意该值在用于区域标识,0和nil不等价:0是监测区域中对应UUID的设备下Minor为0的设备,nil则表示不使用该值

Declared In

BRTBeacon.h

  rssi

rssi

@property (nonatomic) NSInteger rssi

Discussion

rssi

beacon的接收信号强度指示(Received Signal Strength Indicator)以分贝为单位. 该值是根据本次beacon发射的信号所收集到样本的平均值.

Declared In

BRTBeacon.h

  proximity

proximity

@property (nonatomic) CLProximity proximity

Discussion

proximity

该值代表相对距离远近,可以通过它快速确定beacon设备距离用户是在附近或是很远.

Declared In

BRTBeacon.h

  measuredPower

measuredPower

@property (nonatomic, strong) NSNumber *measuredPower

Discussion

measuredPower

该值是1米处的rssi值,用于设备距离估算.

Declared In

BRTBeacon.h

  region

region

@property (nonatomic, strong) CLBeaconRegion *region

Discussion

region

该值是设备所在区域region,仅IOS7+支持

Declared In

BRTBeacon.h

  peripheral

peripheral

@property (nonatomic, strong) CBPeripheral *peripheral

Discussion

peripheral

代表一个周边设备,用于蓝牙连接.

Declared In

BRTBeacon.h

  isBrightBeacon

isBrightBeacon

@property (nonatomic, assign) BOOL isBrightBeacon

Discussion

isBrightBeacon

是否是BrightBeacon

Declared In

BRTBeacon.h

  isConnected

isConnected

@property (nonatomic, readonly) BOOL isConnected

Discussion

isConnected

标示连接状态.

Declared In

BRTBeacon.h

  battery

battery

@property (nonatomic, strong) NSNumber *battery

Discussion

battery

battery电量,范围 0~100,通过实时工作电压估算值;连接时功耗变化,较广播时略偏低

Declared In

BRTBeacon.h

  temperature

temperature

@property (nonatomic, strong) NSNumber *temperature

Discussion

temperature

温度,范围 -40~100℃ ,127为无效值

Declared In

BRTBeacon.h

  light

light

@property (nonatomic, assign) NSInteger light

Discussion

light

光感强度

Declared In

BRTBeacon.h

  mode

mode

@property (nonatomic, assign) DevelopPublishMode mode

Discussion

mode

Beacon模式,开发模式,部署模式

Declared In

BRTBeacon.h

  hardwareVersion

硬件版本

@property (strong, nonatomic) NSString *hardwareVersion

Discussion

硬件版本

设备硬件版本

Declared In

BRTBeacon.h

  firmwareVersion

固件版本

@property (strong, nonatomic) NSString *firmwareVersion

Discussion

固件版本

设备固件版本

Declared In

BRTBeacon.h

  supportOption

当前版本支持状态(位标示,参见BrtSupports)

@property (nonatomic, assign) NSInteger supportOption

Discussion

当前版本支持状态(位标示,参见BrtSupports)

Declared In

BRTBeacon.h

  broadcastMode

广播模式选择(1、iBeacon 2、eddystone-Uid 3、eddystone-Url)

@property (nonatomic, assign) BroadcastMode broadcastMode

Discussion

广播模式选择(1、iBeacon 2、eddystone-Uid 3、eddystone-Url)

轮播Beacon专用
0.只广播iBeacon, bit[2]=0,bit[3]=0,
1.仅广播Eddystone(UID), bit[2]=0,bit[3]=1,bit[4]=0
2.仅广播Eddystone(URL), bit[2]=0,bit[3]=1,bit[4]=1
3.轮播iBeacon和Eddystone(UID), bit[2]=1,bit[3]=0,bit[4]=0
4.轮播iBeacon和Eddystone(URL), bit[2]=1,bit[3]=0,bit[4]=1
5,轮播Eddystone(UID/URL), bit[2]=1,bit[3]=1

Declared In

BRTBeacon.h

  flag

050x广播标识位数据 2byte(16bit)

@property (nonatomic, assign) uint16_t flag

Discussion

050x广播标识位数据 2byte(16bit)

标志位 15 14 13 广播频点(同isOff2480、isOff2426、isOff2402) 12 ~ 4 未使用 3 2 1 广播模式 (同broadcastMode) 0 部署模式/开发模式(同mode)

V0501锁7~4位:激活,反锁,把手,开关

Declared In

BRTBeacon.h

  userData

用户自定义广播数据 4byte范围(0x00000000~0xFFFFFFFF)

@property (nonatomic, strong) NSString *userData

Discussion

用户自定义广播数据 4byte范围(0x00000000~0xFFFFFFFF)

Declared In

BRTBeacon.h

连接之后属性可用

  power

power

@property (nonatomic, assign) NSNumber *power

Discussion

power

以分贝计的发射功率,连接后可用 TI芯片:-23dBm -6dBm 0dBm +4dBm Nordic芯片:-30dBm -20dBm -16dBm -12dBm -8dBm -4dBm 0dBm +4dBm Nordic芯片:-40dBm -20dBm -16dBm -12dBm -8dBm -4dBm 0dBm +3dBm +4dBm

Declared In

BRTBeacon.h

  advInterval

advInterval

@property (nonatomic, strong) NSNumber *advInterval

Discussion

advInterval

广播发射间隔,值范围100ms~10000ms,连接后可用

Declared In

BRTBeacon.h

  broadcastInterval

broadcastInterval

@property (nonatomic, strong) NSNumber *broadcastInterval

Discussion

broadcastInterval

广播切换间隔,用于iBeacon、eddystone等广播切换间隔,值范围100ms~1200ms,连接后可用

Declared In

BRTBeacon.h

  batteryCheckInteval

batteryCheckInteval

@property (nonatomic, assign) NSNumber *batteryCheckInteval

Discussion

batteryCheckInteval

广播状态下Beacon的电量检测间隔,单位为:秒;范围:1800秒~43200秒(12小时),即每隔指定秒自动检测电量并更新广播的数据

Declared In

BRTBeacon.h

  temperatureCheckInteval

temperatureCheckInteval

@property (nonatomic, assign) NSNumber *temperatureCheckInteval

Discussion

temperatureCheckInteval

广播状态下Beacon周边温度检测间隔,单位为:秒;范围:10秒~43200秒(12小时),即每隔指定秒自动检测电量并更新广播的数据

Declared In

BRTBeacon.h

  lightCheckInteval

lightCheckInteval

@property (nonatomic, assign) NSNumber *lightCheckInteval

Discussion

lightCheckInteval

广播状态下Beacon周边光强检测间隔(已弃用)

Declared In

BRTBeacon.h

  lightSleep

lightSleep

@property (nonatomic, assign) BOOL lightSleep

Discussion

lightSleep

开启光感休眠(已弃用)

Declared In

BRTBeacon.h

  firmwareVersionInfo

固件最新版本信息,

@property (readonly, nonatomic) NSString *firmwareVersionInfo

Discussion

固件最新版本信息,

固件最新版本信息,{@link checkFirmwareUpdateWithCompletion:}后可用

Declared In

BRTBeacon.h

  eddystone_Uid

Eddystone的Uid

@property (nonatomic, strong) NSString *eddystone_Uid

Discussion

Eddystone的Uid

Declared In

BRTBeacon.h

  eddystone_Url

Eddystone的实物网链接Url,IOS10以后,必须https才能发现。

@property (nonatomic, strong) NSString *eddystone_Url

Discussion

Eddystone的实物网链接Url,IOS10以后,必须https才能发现。

Declared In

BRTBeacon.h

  serialData

040x串口数据收发

@property (nonatomic, copy) NSString *serialData

Discussion

040x串口数据收发

该值会在串口数据变化时,自动更新。

Declared In

BRTBeacon.h

  isOff2402

广播跳频模式,默认3种切换:2402、2426、2480MHz

@property (nonatomic, assign) BOOL isOff2402

Discussion

广播跳频模式,默认3种切换:2402、2426、2480MHz

Declared In

BRTBeacon.h

  reserved

支持eddystone模式的设备,该属性等同eddystone_url

@property (strong, nonatomic) NSString *reserved

Discussion

支持eddystone模式的设备,该属性等同eddystone_url

Declared In

BRTBeacon.h

连接beacon相关的方法

– isSupport:

检测beacon设备是否支持某些属性

- (BOOL)isSupport:(BrtSupports)option

Discussion

检测beacon设备是否支持某些属性

Declared In

BRTBeacon.h

– connectToBeacon

蓝牙连接到beacon设备 只能连接之后才可以修改 Major, Minor, Power and Advertising interval.

- (void)connectToBeacon

Discussion

蓝牙连接到beacon设备 只能连接之后才可以修改 Major, Minor, Power and Advertising interval.

Declared In

BRTBeacon.h

– disconnectBeacon

断开蓝牙连接

- (void)disconnectBeacon

Discussion

断开蓝牙连接

Declared In

BRTBeacon.h

写人beacon配置信息相关的方法

– sendBeaconValue:withCompletion:

可扩展Beacon数据传输(仅支持050x版本设备) 适用单消息发送,发送完毕completion立即清空

- (void)sendBeaconValue:(NSData *)value withCompletion:(BRTDataCompletionBlock)completion

Parameters

value

消息ID(1字节)+有效数据长度(1字节)+数据(0~18字节) 示例: 读取UUID:0x0402 写入UUID:0x0512E2C56DB5DFFB48D2B060D0F5A71096E0

completion

硬件返回数据:data 消息ID(1字节)+数据长度(1字节)+返回消息数据(0~18字节)

Discussion

可扩展Beacon数据传输(仅支持050x版本设备) 适用单消息发送,发送完毕completion立即清空

发送消息ID: 0x00~0x3F:Beacon配置保留如下: 00重启 01版本 02温度电量 03写key 04读UUID 05写UUID 06读MM 07写MM 08读MPower 09写MPower 0A读功率 0B写功率 0C读模式 0D写模式 0E读名称 0F写名称 10读频率 11写频率 12读温度电量间隔 13写温电间隔 14读自定义广播 15写自定义广播 16读eddystoneUrl 17写eddystoneUrl 18开始/停止固件升级数据 19写入固件升级数据 20~3F保留

0x40~0xFF:配合硬件SDK自定义传输使用

Declared In

BRTBeacon.h

– sendBeaconValue:withDelegate:

可扩展Beacon数据传输(仅支持050x版本设备) 适用批量发送,delegate依次返回所有消息回复

- (void)sendBeaconValue:(NSArray *)values withDelegate:(id<BRTBeaconDelegate>)delegate

Parameters

values

消息ID(1字节)+数据长度(1字节)+消息数据(0~18字节)

delegate

同self.delegate

Discussion

可扩展Beacon数据传输(仅支持050x版本设备) 适用批量发送,delegate依次返回所有消息回复

Declared In

BRTBeacon.h

– writeBeaconValues:withCompletion:

写入设备信息(支持所有版本BrightBeacon设备)

- (void)writeBeaconValues:(NSDictionary *)values withCompletion:(BRTCompletionBlock)completion

Parameters

values

设备信息(参见BRTBeaconDefinitions.h:可用的配置参数列表)

completion

写入完成回调

Discussion

写入设备信息(支持所有版本BrightBeacon设备)

Declared In

BRTBeacon.h

– checkFirmwareUpdateWithCompletion:

检查固件更新

- (void)checkFirmwareUpdateWithCompletion:(BRTDataCompletionBlock)completion

Parameters

completion

写入完成回调

Discussion

检查固件更新

Declared In

BRTBeacon.h

– updateBeaconFirmwareWithProgress:andCompletion:

云端更新固件

- (void)updateBeaconFirmwareWithProgress:(BRTDataCompletionBlock)progress andCompletion:(BRTCompletionBlock)completion

Parameters

progress

更新进度0~100

completion

写入完成回调

Discussion

云端更新固件

Declared In

BRTBeacon.h

– readBeaconValuesCompletion:

读取设备所有信息(为了加快连入速率,连接不在默认执行该操作,请连接成功后自行调用获取参数)

- (void)readBeaconValuesCompletion:(BRTDataCompletionBlock)completion

Parameters

completion

返回当前beacon对象和错误信息。

Discussion

读取设备所有信息(为了加快连入速率,连接不在默认执行该操作,请连接成功后自行调用获取参数)

Declared In

BRTBeacon.h

– readBeaconFirmwareVersionWithCompletion:

读取设备版本信息

- (void)readBeaconFirmwareVersionWithCompletion:(BRTDataCompletionBlock)completion

Parameters

completion

读取完成回调

Discussion

读取设备版本信息

Declared In

BRTBeacon.h

– readBeaconChangesWithCompletion:

读取设备变动信息:温度、电量、光感(若有)

- (void)readBeaconChangesWithCompletion:(BRTDataCompletionBlock)completion

Parameters

completion

读取完成回调

Discussion

读取设备变动信息:温度、电量、光感(若有)

Declared In

BRTBeacon.h

– resetBeaconToDefault:

重置beacon设备默认值,该操作要求已经成功执行 {@link registerApp:};

- (void)resetBeaconToDefault:(void ( ^ ) ( BOOL complete , NSError *error ))block

Discussion

重置beacon设备默认值,该操作要求已经成功执行 {@link registerApp:};

Declared In

BRTBeacon.h

– resetSDKKEY

重置beacon设备默认KEY,该操作可以解除设备开发者绑定,让beacon设备可以重新被连接设定新的APP_KEY,该操作要求已经成功执行[BRTBeaconManager registerApp:APP_KEY];

- (void)resetSDKKEY

Discussion

重置beacon设备默认KEY,该操作可以解除设备开发者绑定,让beacon设备可以重新被连接设定新的APP_KEY,该操作要求已经成功执行[BRTBeaconManager registerApp:APP_KEY];

Declared In

BRTBeacon.h

– writeBeaconMode:withCompletion:

设置此Beacon处于开发者模式(DevelopMode)还是部署模式(PublishMode)

- (void)writeBeaconMode:(DevelopPublishMode)mode withCompletion:(BRTCompletionBlock)completion

Parameters

mode

0、开发模式 1、部署模式

completion

写入完成回调

Discussion

设置此Beacon处于开发者模式(DevelopMode)还是部署模式(PublishMode)

如果Beacon处于开发者模式,则可以用任意的APP KEY进行连接, 如果Beacon处于部署模式,则需要对应配置过Beacon的APP KEY 才能再一次进行连接,确保Beacon部署安全

Declared In

BRTBeacon.h