Shecare iOS BLE SDK Document

Demo

https://github.com/iKangtai/ShecareSDKDemo-iOS.git

Bluetooth Low Energy SDK

Class

Thermometer

1
2
/// The shared Thermometer object for the process.
class public func shared() -> Thermometer
Properties
1
2
3
4
5
6
7
8
/// The current connected peripheral/divice
public var activePeripheral: CBPeripheral?
/// The firmware version of current connected device
public var firmwareVersion = ""
/// The MAC address of current connected device
public var macAddress = ""
/// delegate
weak public var delegate: BLEThermometerDelegate?

YCBLEState

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/// Define BLE state
public enum YCBLEState: Int {
/// Powered on
case valid = 0
/// Unknown
case unknown = 1
/// Unsupported
case unsupported = 2
/// Unauthorized
case unauthorized = 3
/// Powered off
case poweredOff = 4
/// Resetting
case resetting = 5
}

BLEFirmwareImageType

1
2
3
4
5
6
7
8
9
/// Define BLE firmware image type
public enum BLEFirmwareImageType: Int {
/// Unknown
case unknown
/// Image A
case typeA
/// Image B
case typeB
}

BLENotifyType

1
2
3
4
5
6
7
8
9
10
11
12
13
/// Define BLE notify type
public enum BLENotifyType: Int {
/// Set the thermometer to centigrade
case setTemperatureUnitC = 0
/// Set the thermometer to fahrenheit
case setTemperatureUnitF = 1
/// Let the thermometer start uploading temperatures
case transmitTemperature = 2
/// Return "Number of received temperatures" to the thermometer. Must be executed after receiving the temperatures every time
case temperatureCount = 3
/// Get the thermometer's power
case thermometerPower = 4
}

Functions

1
2
3
4
5
6
/**
Start scan.
- parameters:
- macList: The thermometer's mac address will be connected. If this is nil, the SDK will connect the first thermometer be found.
*/
public func scan(_ macList: String?)
1
2
3
4
/**
Stop scan.
*/
public func stopScan()
1
2
3
4
5
6
/**
Returns the BLE state.
- returns:
YCBLEState
*/
public func bleState() -> YCBLEState
1
2
3
4
/**
Disconnect the currently connected device.
*/
public func disconnectActiveThermometer()
1
2
3
4
/**
Synchronize the device time
*/
public func asynchroizationTimeFromLocal(date: Date)
1
2
3
4
5
6
7
/**
Send specific commands to the device.
- parameters:
- type: BLENotifyType
- value: Only used for temperatureCount command.
*/
public func setNotifyValue(type: BLENotifyType, value: UInt8)

Protocol

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
optional func bleThermometerDidStartScan(_ bleThermometer: Thermometer)

optional func bleThermometerDidStopScan(_ bleThermometer: Thermometer)

optional func bleThermometerDidUpdateState(_ bleThermometer: Thermometer)

optional func bleThermometer(_ bleThermometer: Thermometer, didConnect peripheral: CBPeripheral)

optional func bleThermometer(_ bleThermometer: Thermometer,
didFailToConnect peripheral: CBPeripheral,
error: Error?)

optional func bleThermometer(_ bleThermometer: Thermometer,
didDisconnect peripheral: CBPeripheral,
error: Error?)

optional func bleThermometer(_ bleThermometer: Thermometer,
didUpload temperature: Double,
time: String,
flag: BLEMeasureFlag,
dataStr: String)

optional func bleThermometer(_ bleThermometer: Thermometer, didSetDefaultProperties info: String)

optional func bleThermometer(_ bleThermometer: Thermometer, didAsynchroizationTimeFromLocal info: String)

optional func bleThermometerDidFinishUpload(_ bleThermometer: Thermometer)

optional func bleThermometer(_ bleThermometer: Thermometer, didSetTemperatureUnit success: Bool)

optional func bleThermometer(_ bleThermometer: Thermometer, didGetFirmwareVersion firmwareVersion: String)

optional func bleThermometer(_ bleThermometer: Thermometer, didSetThermometerTime success: Bool)

optional func bleThermometer(_ bleThermometer: Thermometer, didGetThermometerPower value: Double)

optional func bleThermometer(_ bleThermometer: Thermometer, didReadFirmwareImageType type: BLEFirmwareImageType)