Inherits from NSObject
Conforms to CBPeripheralDelegate
Declared in BRTBeacon.h
BRTBeacon.m

Overview

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

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

Tasks

Other Methods

连接之后属性可用

连接beacon相关的方法

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

Properties

advInterval

advInterval

@property (nonatomic, strong) NSNumber *advInterval

Discussion

advInterval

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

Declared In

BRTBeacon.h

autoAlarmTimeOut

自动报警超时(默认超时5秒),已废弃,不建议使用

@property (nonatomic, assign) NSInteger autoAlarmTimeOut

Discussion

自动报警超时(默认超时5秒),已废弃,不建议使用

Declared In

BRTBeacon.h

battery

battery

@property (nonatomic, strong) NSNumber *battery

Discussion

battery

battery电量,范围 0~100,通过实时工作电压估算值,连接后读取值为工作电压估算值,较广播时略偏低

Declared In

BRTBeacon.h

batteryCheckInteval

batteryCheckInteval

@property (nonatomic, unsafe_unretained) NSInteger batteryCheckInteval

Discussion

batteryCheckInteval

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

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

distance

distance

@property (nonatomic, strong) NSNumber *distance

Discussion

distance

根据接收信号强度指示(rssi)和测量功率(measured power:距离一米的rssi值)估算出的beacon设备到手机的距离.

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

@property (nonatomic, strong) NSString *eddystone_Url

Discussion

Eddystone的Url

Declared In

BRTBeacon.h

firmwareVersion

固件版本

@property (strong, nonatomic) NSString *firmwareVersion

Discussion

固件版本

设备固件版本,连接后可用

Declared In

BRTBeacon.h

firmwareVersionInfo

固件最新版本信息,

@property (readonly, nonatomic) NSString *firmwareVersionInfo

Discussion

固件最新版本信息,

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

Declared In

BRTBeacon.h

hardwareVersion

硬件版本

@property (strong, nonatomic) NSString *hardwareVersion

Discussion

硬件版本

设备硬件版本,连接后可用

Declared In

BRTBeacon.h

invalidTime

invalidTime

@property (nonatomic, unsafe_unretained) NSInteger invalidTime

Discussion

invalidTime

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

Declared In

BRTBeacon.h

isActiveFind

主动寻找,写人该值设备立即蜂鸣,已废弃,不建议使用

@property (nonatomic, assign) BOOL isActiveFind

Discussion

主动寻找,写人该值设备立即蜂鸣,已废弃,不建议使用

Declared In

BRTBeacon.h

isAliMode

阿里模式,已废弃,不建议使用

@property (nonatomic, assign) BOOL isAliMode

Discussion

阿里模式,已废弃,不建议使用

Declared In

BRTBeacon.h

isAliUUID

开启阿里UUID,已废弃,不建议使用

@property (nonatomic, assign) BOOL isAliUUID

Discussion

开启阿里UUID,已废弃,不建议使用

Declared In

BRTBeacon.h

isAutoAlarm

自动报警(可以每隔N秒写入一次B_InRange来停止自动蜂鸣),已废弃,不建议使用

@property (nonatomic, assign) BOOL isAutoAlarm

Discussion

自动报警(可以每隔N秒写入一次B_InRange来停止自动蜂鸣),已废弃,不建议使用

Declared In

BRTBeacon.h

isBrightBeacon

isBrightBeacon

@property (nonatomic, unsafe_unretained) BOOL isBrightBeacon

Discussion

isBrightBeacon

是否是BrightBeacon

Declared In

BRTBeacon.h

isButtonAlarm

按钮报警,按钮报警状态,已废弃,不建议使用

@property (nonatomic, assign) BOOL isButtonAlarm

Discussion

按钮报警,按钮报警状态,已废弃,不建议使用

Declared In

BRTBeacon.h

isConnected

isConnected

@property (nonatomic, readonly) BOOL isConnected

Discussion

isConnected

标示连接状态.

Declared In

BRTBeacon.h

isInRange

是否在范围内,已废弃,不建议使用

@property (nonatomic, assign) BOOL isInRange

Discussion

是否在范围内,已废弃,不建议使用

Declared In

BRTBeacon.h

isOff2402

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

@property (nonatomic, assign) BOOL isOff2402

Discussion

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

Declared In

BRTBeacon.h

light

light

@property (nonatomic, unsafe_unretained) NSInteger light

Discussion

light

光感强度

Declared In

BRTBeacon.h

lightCheckInteval

lightCheckInteval

@property (nonatomic, unsafe_unretained) NSInteger lightCheckInteval

Discussion

lightCheckInteval

广播状态下Beacon周边光强检测间隔,单位为:毫秒;范围:1000毫秒~10,000毫秒,即每隔指定毫秒自动检测光强并更新广播的数据

Declared In

BRTBeacon.h

lightSleep

lightSleep

@property (nonatomic, unsafe_unretained) BOOL lightSleep

Discussion

lightSleep

开启光感休眠,当环境变得完全黑暗,Beacon设备会自动降低发射频率,来提高使用寿命

Declared In

BRTBeacon.h

macAddress

macAddress

@property (nonatomic, strong) NSString *macAddress

Discussion

macAddress

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

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

measuredPower

measuredPower

@property (nonatomic, strong) NSNumber *measuredPower

Discussion

measuredPower

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

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

mode

mode

@property (nonatomic, unsafe_unretained) DevelopPublishMode mode

Discussion

mode

Beacon模式,开发模式,部署模式,连接后可用

Declared In

BRTBeacon.h

name

name

@property (nonatomic, strong) NSString *name

Discussion

name

beacon设备名.

Declared In

BRTBeacon.h

peripheral

peripheral

@property (nonatomic, strong) CBPeripheral *peripheral

Discussion

peripheral

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

Declared In

BRTBeacon.h

power

power

@property (nonatomic, unsafe_unretained) NSInteger power

Discussion

power

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

Declared In

BRTBeacon.h

proximity

proximity

@property (nonatomic) CLProximity proximity

Discussion

proximity

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

Declared In

BRTBeacon.h

proximityUUID

proximityUUID

@property (nonatomic, strong) NSUUID *proximityUUID

Discussion

proximityUUID

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

Declared In

BRTBeacon.h

region

region

@property (nonatomic, strong) CLBeaconRegion *region

Discussion

region

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

Declared In

BRTBeacon.h

reserved

eddystone模式的url

@property (strong, nonatomic) NSString *reserved

Discussion

eddystone模式的url

Declared In

BRTBeacon.h

rssi

rssi

@property (nonatomic) NSInteger rssi

Discussion

rssi

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

Declared In

BRTBeacon.h

serialData

040x串口数据收发

@property (nonatomic, copy) NSString *serialData

Discussion

040x串口数据收发

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

Declared In

BRTBeacon.h

supportOption

当前版本支持状态(位标示)

@property (nonatomic, assign) NSInteger supportOption

Discussion

当前版本支持状态(位标示)

TI芯片 Nordic 光感支持 自动检测 防丢支持 加密模式 —–+——+——-+——-+——+——- 1 1 1 1 1 1

Declared In

BRTBeacon.h

temperature

temperature

@property (nonatomic, strong) NSNumber *temperature

Discussion

temperature

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

Declared In

BRTBeacon.h

temperatureCheckInteval

temperatureCheckInteval

@property (nonatomic, unsafe_unretained) NSInteger temperatureCheckInteval

Discussion

temperatureCheckInteval

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

Declared In

BRTBeacon.h

userData

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

@property (nonatomic, strong) NSString *userData

Discussion

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

Declared In

BRTBeacon.h

Instance Methods

checkFirmwareUpdateWithCompletion:

检查固件更新

- (void)checkFirmwareUpdateWithCompletion:(BRTStringCompletionBlock)completion

Parameters

completion

写入完成回调

Discussion

检查固件更新

Declared In

BRTBeacon.h

connectToBeacon

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

- (void)connectToBeacon

Return Value

void

Discussion

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

Declared In

BRTBeacon.h

disconnectBeacon

断开蓝牙连接

- (void)disconnectBeacon

Return Value

void

Discussion

断开蓝牙连接

Declared In

BRTBeacon.h

eddystone_Url_From:

转换Url为eddystone模式NSData 参考:https://github.com/google/eddystone/tree/master/eddystone-url

- (NSData *)eddystone_Url_From:(NSString *)url

Parameters

url

例(http://www.brtbeacon.com)->()

Return Value

NSData

Discussion

转换Url为eddystone模式NSData 参考:https://github.com/google/eddystone/tree/master/eddystone-url

Declared In

BRTBeacon.h

eddystone_Url_To:

将eddystone模式下的Url字符串转换为普通url

- (NSString *)eddystone_Url_To:(NSString *)eddystoneUrl

Parameters

eddystoneUrl

eddystone-URL字符串

Return Value

NSString

Discussion

将eddystone模式下的Url字符串转换为普通url

Declared In

BRTBeacon.h

isSupport:

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

- (BOOL)isSupport:(BrtSupports)option

Discussion

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

Declared In

BRTBeacon.h

readBeaconChangesWithCompletion:

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

- (void)readBeaconChangesWithCompletion:(BRTDataCompletionBlock)completion

Parameters

completion

读取完成回调

Discussion

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

Declared In

BRTBeacon.h

readBeaconFirmwareVersionWithCompletion:

读取设备版本信息

- (void)readBeaconFirmwareVersionWithCompletion:(BRTStringCompletionBlock)completion

Parameters

completion

读取完成回调

Discussion

读取设备版本信息

Declared In

BRTBeacon.h

resetBeaconToDefault

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

- (void)resetBeaconToDefault

Return Value

void

Discussion

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

Declared In

BRTBeacon.h

resetSDKKEY

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

- (void)resetSDKKEY

Return Value

void

Discussion

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

Declared In

BRTBeacon.h

updateBeaconFirmwareWithProgress:andCompletion:

云端更新固件

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

Parameters

progress

更新进度0~100

completion

写入完成回调

Discussion

云端更新固件

Declared In

BRTBeacon.h

writeBeaconMode:withCompletion:

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

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

Parameters

mode

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

completion

写入完成回调

Return Value

void

Discussion

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

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

Declared In

BRTBeacon.h

writeBeaconValues:withCompletion:

写入设备信息

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

Parameters

values

设备信息(参见)

completion

写入完成回调

Return Value

void

Discussion

写入设备信息

Declared In

BRTBeacon.h