BLUSEncryptedBeacon Class Reference
Inherits from | BLUConfigurableBeacon : BLUBluetoothBeacon : BLUBeacon : NSObject |
---|---|
Declared in | BLUSEncryptedBeacon.h |
Overview
BLUSEncryptedBeacon
objects represent beacons that have been identified as Bluvision encrypted sBeacons.
Encrypted sBeacon objects hold the telemetry data and identifiers included in encrypted sBeacon advertisements. The encrypted information is spread over multiple advertisements. The decoding of the received information will begin after a sufficient number of single advertisements has been received and only if all required security keys have been set. The actual telemetry data of the beacon will therefore not be immediately available.
In addition an encrypted sBeacon will change its Bluetooth address on every rotation . Once that happens its current BLUSEncryptedBeacon
representation may become invalid and a new instance may be found by the BLUBeaconManager
.
If the change of the Bluetooth address could be recognized internally the appropriate BLUSEncryptedBeaconDelegate
delegate method
will be invoked and no new instance of BLUSEncryptedBeacon
will be created. This is usually possible if the beacon was successfully
decoded at least once.
Properties
device
The device that is broadcasting the advertisements associated with this beacon.
@property (nonatomic, readonly) BLUDevice *device
Discussion
The device that is broadcasting the advertisements associated with this beacon.
See Also
Declared In
BLUSEncryptedBeacon.h
battery
temperature
The ambient temperature currently measured by this beacon. Available once decoding has finished.
@property (nonatomic, readonly) BLUTemperature *temperature
Discussion
The ambient temperature currently measured by this beacon. Available once decoding has finished.
See Also
Declared In
BLUSEncryptedBeacon.h
Encryption properties
encryptionDelegate
The delegate object you want to receive BLUSEncryptedBeacon
events.
@property (nonatomic, weak) id<BLUSEncryptedBeaconDelegate> encryptionDelegate
Discussion
The delegate object you want to receive BLUSEncryptedBeacon
events.
See Also
Declared In
BLUSEncryptedBeacon.h
privateKey
NSData containing the 256bit ECC secp256k1 private key associated with the public key that the beacon has been setup with. This key is required for the beacon’s decoding process to begin.
@property (nonatomic, copy) NSData *privateKey
Discussion
NSData containing the 256bit ECC secp256k1 private key associated with the public key that the beacon has been setup with. This key is required for the beacon’s decoding process to begin.
Declared In
BLUSEncryptedBeacon.h
rotationKey
NSData containing the 128bit AES CFB key used for the beacon’s identifier rotation. This key is required for the beacon’s decoding process to begin.
@property (nonatomic, copy) NSData *rotationKey
Discussion
NSData containing the 128bit AES CFB key used for the beacon’s identifier rotation. This key is required for the beacon’s decoding process to begin.
Declared In
BLUSEncryptedBeacon.h
checksumKey
NSData containing the 128bit AES CFB key used for the beacon’s checksum verification. This key is required for the beacon’s decoding process to begin.
@property (nonatomic, copy) NSData *checksumKey
Discussion
NSData containing the 128bit AES CFB key used for the beacon’s checksum verification. This key is required for the beacon’s decoding process to begin.
Declared In
BLUSEncryptedBeacon.h
rotationInterval
NSNumber containing the rotation interval for the beacon’s encryption. This value is required for the beacon’s decoding process to begin.
@property (nonatomic, strong) NSNumber *rotationInterval
Discussion
NSNumber containing the rotation interval for the beacon’s encryption. This value is required for the beacon’s decoding process to begin.
Declared In
BLUSEncryptedBeacon.h
decoding
A boolean specifying whether the beacon is currently processing incoming advertisements.
If this is set to NO
then the decoding process has either finished or at least one of the beacon’s
required security keys is missing.
@property (nonatomic, readonly, getter=isDecoding) BOOL decoding
Discussion
A boolean specifying whether the beacon is currently processing incoming advertisements.
If this is set to NO
then the decoding process has either finished or at least one of the beacon’s
required security keys is missing.
Declared In
BLUSEncryptedBeacon.h
decoded
A boolean specifying whether the beacon has finished decoding the beacon’s encrypted advertisement data at least once.
Once this is set to YES
the beacon’s properties will be valid.
If this does not get set to YES
at all then the specified security keys may not be valid.
@property (nonatomic, readonly, getter=isDecoded) BOOL decoded
Discussion
A boolean specifying whether the beacon has finished decoding the beacon’s encrypted advertisement data at least once.
Once this is set to YES
the beacon’s properties will be valid.
If this does not get set to YES
at all then the specified security keys may not be valid.
Declared In
BLUSEncryptedBeacon.h
Beacon settings
– setBeaconSleepTimeout:completion:
Sets up the beacon to enter deep sleep mode after the specified time interval. In deep sleep, the beacon will not send any broadcasts until it is physically woken up - e.g. via button tap. After being woken up the beacon will go back to sleep once the specified time interval has passed again. The beacon needs to be connected in order to execute this. This operation is only supported by certain beacon types and will return an error if sent to an unsupported device.
- (void)setBeaconSleepTimeout:(NSTimeInterval)timeInterval completion:(nullable void ( ^ ) ( NSError *__nullable error ))completion
Parameters
timeInterval |
Time interval after which the beacon will go to sleep. |
---|---|
completion |
The completion block that will be executed once the operation has finished. |
Discussion
Sets up the beacon to enter deep sleep mode after the specified time interval. In deep sleep, the beacon will not send any broadcasts until it is physically woken up - e.g. via button tap. After being woken up the beacon will go back to sleep once the specified time interval has passed again. The beacon needs to be connected in order to execute this. This operation is only supported by certain beacon types and will return an error if sent to an unsupported device.
Declared In
BLUSEncryptedBeacon.h
– enableBeaconSleepMode:completion:
Immediately enables or disables deep sleep mode on the beacon. If enabled, the beacon will enter sleep mode only once. It won’t go back to sleep again after it has been woken up. If disabled, the beacon will permanently stay awake. This operation is only supported by certain beacon types and will return an error if sent to an unsupported device.
- (void)enableBeaconSleepMode:(BOOL)enable completion:(nullable void ( ^ ) ( NSError *__nullable error ))completion
Parameters
enable |
|
---|---|
completion |
The completion block that will be executed once the operation has finished. |
Discussion
Immediately enables or disables deep sleep mode on the beacon. If enabled, the beacon will enter sleep mode only once. It won’t go back to sleep again after it has been woken up. If disabled, the beacon will permanently stay awake. This operation is only supported by certain beacon types and will return an error if sent to an unsupported device.
Declared In
BLUSEncryptedBeacon.h
– setDeviceTime:completion:
Sets the beacon’s internal timer. This timer will increment every second and reset when the beacon reboots. The timer can be used to represent the current time by setting it to an appropriate Unix timestamp.
- (void)setDeviceTime:(NSTimeInterval)timeInterval completion:(void ( ^ ) ( BOOL success , NSError *error ))completion
Parameters
timeInterval |
The time interval in seconds that the beacon’s timer will be set to. |
---|---|
completion |
The completion block that will be executed once the operation has finished. |
Discussion
Sets the beacon’s internal timer. This timer will increment every second and reset when the beacon reboots. The timer can be used to represent the current time by setting it to an appropriate Unix timestamp.
Declared In
BLUSEncryptedBeacon.h