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
写人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