KN550
Device Version
1. FirmVersion below 2.0.0
1.Does not support time adjustment.
2.Supports obtaining battery power.
3.automatically deleting data after synchronizing historical data.
4.After pressing the power button M, the Bluetooth icon will flash on the screen.
2. FirmVersion 2.0.0
1.Does not support time adjustment
2.Does not support obtaining battery power
3.Automatically deletes data after synchronizing historical data
4.After pressing the power button M, there is no Bluetooth icon on the screen, and the Bluetooth icon will only flash after the screen is successfully connected to the mobile device
3. FirmVersion 2.0.1 and above
1.The firmware version is 2.0.1 and the isRightTime field is added. This field marks whether the historical data needs time correction (0: no need 1: need correction))
2.Supports obtaining battery power
3.Historical data must be deleted by calling the delete interface, otherwise historical data will always exist
4.After pressing the power button M, there is no Bluetooth icon on the screen, and the Bluetooth icon will only flash after the screen is successfully connected to the mobile device
WorkFlow
Scan and connect KN-550BT blood pressure monitor.
KN-550BT only support offline measurement.
Connection to device
1.Listen to device notify
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(DeviceDiscover:) name:KN550BTDiscover object:nil];
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(DeviceConnectFail:) name:KN550BTConnectFailed object:nil];
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(DeviceConnect:) name:KN550BTConnectNoti object:nil];
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(DeviceDisConnect:) name:KN550BTDisConnectNoti object:nil];
[KN550BTController shareKN550BTController];
2.Scan for KN-550BT devices
[[ScanDeviceController commandGetInstance] commandScanDeviceType:HealthDeviceType_KN550BT];
3.Connect to KN-550BT devices
[[ConnectDeviceController commandGetInstance] commandContectDeviceWithDeviceType:HealthDeviceType_KN550BT andSerialNub:deviceMac];
API reference
Get the device battery
info
The KN-550BT doesn't support this feature on firmware 2.0.0.
/**
* Query battery remaining energy.
* @param energyValue A block to return the device battery remaining energy percentage, ‘80’ stands for 80%.
* @param error A block to return the error in ‘Establish measurement connection’
*/
-(void)commandEnergy:(BlockEnergyValue)energyValue errorBlock:(BlockError)error;
Get the number of history data
/**
* Upload offline data total Count.
* @param totalCount item quantity of total data.
* @param error A block to return the error.
*/
-(void)commandTransferMemoryTotalCount:(BlockBachCount)totalCount errorBlock:(BlockError)error;
Get history data
info
When user use KN-550BT first time and don't set time yet, the device time is not correct. and the returned data will contain whether the time need to be set. Version 2.0.1 or above support this feature. (The firmware version is 2.0.1 and the isRightTime field is added. This field marks whether the historical data needs time correction (0: no need 1: need correction))
/**
* Upload offline data.
* @param totalCount item quantity of total data
* @param progress upload completion ratio , from 0.0 to 1.0 or 0%~100%, 100% means upload completed.
* @param uploadDataArray offline data set, including measurement time, systolic pressure, diastolic pressure, pulse rate, irregular judgment. corresponding KEYs are time, sys, dia, heartRate, irregular.
* @param error error codes.
* Specification:
* 1. BPError0 = 0: Unable to take measurements due to arm/wrist movements.
* 2. BPError1: Failed to detect systolic pressure.
* 3. BPError2: Failed to detect diastolic pressure.
* 4. BPError3: Pneumatic system blocked or cuff is too tight during inflation.
* 5. BPError4: Pneumatic system leakage or cuff is too loose during inflation.
* 6. BPError5: Cuff pressure reached over 300mmHg.
* 7. BPError6: Cuff pressure reached over 15 mmHg for more than 160 seconds.
* 8. BPError7: Data retrieving error.
* 9. BPError8: Data retrieving error.
* 10. BPError9: Data retrieving error.
* 11. BPError10: Data retrieving error.
* 12. BPError11: Communication Error.
* 13. BPError12: Communication Error.
* 14. BPError13: Low battery.
* 15. BPError14: Device bluetooth set failed.
* 16. BPError15: Systolic exceeds 260mmHg or diastolic exceeds 199mmHg.
* 17. BPError16: Systolic below 60mmHg or diastolic below 40mmHg.
* 18. BPError17: Arm/wrist movement beyond range.
* 19. BPNormalError=30: device error, error message displayed automatically.
* 20. BPOverTimeError: Abnormal communication.
* 21. BPNoRespondError: Abnormal communication.
* 22. BPBeyondRangeError: device is out of communication range.
* 23. BPDidDisconnect: device is disconnected.
* 24. BPAskToStopMeasure: measurement has been stopped.
* 25. BPInputParameterError=400: Parameter input error.
* 26. BPInvalidOperation = 402: Invalid Operation
* 27. BPDeviceErrorUnsupported = 403: Unsupported
* 28. BPDeviceError_CommunicationTimeout = 404: time out
*/
-(void)commandTransferMemoryDataWithTotalCount:(BlockBachCount)totalCount progress:(BlockBachProgress)progress dataArray:(BlockBachArray)uploadDataArray errorBlock:(BlockError)error;
Set local time to KN-550BT
/**
* Synchronize time and judge if the device supports the function of up Air Measurement, arm Measurement, Angle Sensor, Angle Setting, HSD, Offline Memory, mutable Groups Upload, Self Upgrade. ‘True’ means yes or on, ‘False’ means no or off.
* @param function A block to return the function and states that the device supports.
* @param error A block to refer ‘error’ in ‘Establish measurement connection’ in KN550BT.
*/
-(void)commandFunction:(BlockDeviceFunction)function errorBlock:(BlockError)error;
Get the KN-550BT display status
/**
get status of device display
@param displayStatusBlock feedback status
@param errorBlock A block to return the error
*/
-(void)commandGetStatusOfDisplay:(BlockDisplayStatus)displayStatusBlock error:(BlockError)errorBlock;
Set the KN-550BT display status
/**
set status of device display
@param backLightOn turn on back light or not
@param clockOn show clock or not
@param successBlock This block return means set success
@param errorBlock A block to return the error
*/
-(void)commandSetStatusOfDisplayForBackLight:(BOOL)backLightOn andClock:(BOOL)clockOn resultSuccess:(BlockSuccess)successBlock error:(BlockError)errorBlock;
Get KN-550BT time
/**
* Get Device Date.(Firmware version must more than 2.0.1 support this API)
* @param date The block return Date "2020-01-01 08:56:38"
* @param error error codes.
*/
-(void)commandGetDeviceDate:(BlockDeviceDate)date errorBlock:(BlockError)error;
History data transfer finished
info
After history data transfer is finished, this API will help you to clear the history data. Only Firmware 2.0.1 and above supprt this feature. other firmware KN-550BT can clear history data automatically.
/**
* Delete offline data.(Firmware version must more than 2.0.1 support this API)
* @param result The block return ‘YES’ means delete sucess, return ‘NO’ means delete fail.
* @param error error codes.
*/
-(void)commandDeleteMemoryDataResult:(BlockResult)result errorBlock:(BlockError)error;
Disconnect KN-550BT device
/**
* Disconnect current device
*/
-(void)commandDisconnectDevice;