iOS AILinkBleSDK - 蓝牙SDK
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

ELThermometerBleManager.h 6.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. //
  2. // ELThermometerBleManager.h
  3. // Elink
  4. //
  5. // Created by cliCk on 2019/5/28.
  6. // Copyright © 2019 iot_iMac. All rights reserved.
  7. //
  8. #import "ELBluetoothManager.h"
  9. #import "ELThermometerDeviceModel.h"
  10. #import "ELThermometerBleModel.h"
  11. NS_ASSUME_NONNULL_BEGIN
  12. typedef NS_ENUM(NSInteger , ThermometerBleDataType) {
  13. /**Stable temperature( 稳定温度 )*/
  14. ThermometerBleDataType_StableData = 0x01 ,
  15. /** Real-time temperature(实时温度) */
  16. ThermometerBleDataType_RealtimeData = 0x02 ,
  17. /// 6.2.2读取历史数据
  18. ThermometerBleDataType_GetRecordData = 0x03 ,
  19. /// 6.2.3返回历史数据
  20. ThermometerBleDataType_BackRecordData = 0x04 ,
  21. /// 6.2.4获取设备支持功能/返回支持功能
  22. ThermometerBleDataType_SupportFunction = 0x80 ,
  23. /** App release unit settings(app下发单位设置) */
  24. ThermometerBleDataType_AppSendUnit = 0x81 ,
  25. /** The MCU replies to the setting result(MCU回复设置结果) */
  26. ThermometerBleDataType_BackSendUnit = 0x82 ,
  27. /// 6.2.6获取设备当前单位/返回当前单位
  28. ThermometerBleDataType_NowUnit = 0x83 ,
  29. /// 6.2.7获取设备测温模式/返回测试模式
  30. ThermometerBleDataType_GetMeasureTemMode = 0x84 ,
  31. /// 6.2.8设置设备测温模式/返回设置结果
  32. ThermometerBleDataType_SetMeasureTemMode = 0x85 ,
  33. /// 6.2.9获取高温报警值/返回高温报警值
  34. ThermometerBleDataType_GetTemAlarmValue = 0x86 ,
  35. /// 6.2.10设置高温报警值/返回结果
  36. ThermometerBleDataType_SetTemAlarmValue = 0x87 ,
  37. /** Error code sent on the device(设备上发错误码) */
  38. ThermometerBleDataType_DeviceBackErrorCode = 0xFF ,
  39. };
  40. typedef NS_ENUM(NSInteger , ThermometerBleResultType) {
  41. /** success(设置成功 )*/
  42. ThermometerBleResultType_Succeed = 0x00 ,
  43. /** failure(设置失败) */
  44. ThermometerBleResultType_Failure ,
  45. /** unsupport(不支持设置) */
  46. ThermometerBleResultType_Unsupported ,
  47. };
  48. typedef NS_ENUM(NSInteger , ThermometerBleErrorCode) {
  49. /** Hyperthermia(体温过高) */
  50. ThermometerBleErrorCode_Hyperthemia = 0x00 ,
  51. /** Hypothermia(体温过低 )*/
  52. ThermometerBleErrorCode_Hypothermia ,
  53. /** error(测量出错) */
  54. ThermometerBleErrorCode_Failure ,
  55. };
  56. /// 设备类型
  57. typedef NS_ENUM(NSInteger, ThermometerBleDevType) {
  58. /// 体温贴等连续测温设备
  59. ThermometerBleDevType_Continuous = 0 ,
  60. /// 一般体温计
  61. ThermometerBleDevType_Normal = 1 ,
  62. /// 基础体温计
  63. ThermometerBleDevType_Base = 2 ,
  64. };
  65. /// 设备功能枚举定义
  66. typedef NS_ENUM(NSInteger, ThermometerBleSupportFunction) {
  67. /// 单次/连续 测温切换
  68. ThermometerBleSupportFunction_Once_Repeatedly = 0 ,
  69. /// 单位切换
  70. ThermometerBleSupportFunction_Unit = 1 ,
  71. /// 设置高温报警值
  72. ThermometerBleSupportFunction_TemAlarm = 2 ,
  73. /// 历史数据
  74. ThermometerBleSupportFunction_Record = 3 ,
  75. };
  76. /// 测温模式枚举定义
  77. typedef NS_ENUM(NSInteger, ThermometerBleMeasureTemMode) {
  78. /// 单次测量
  79. ThermometerBleMeasureTemMode_Once = 0x00 ,
  80. /// 连续测量
  81. ThermometerBleMeasureTemMode_Repeatedly = 0x01 ,
  82. };
  83. /// 体温计蓝牙代理方法
  84. @protocol ELThermometerBleDelegate <NSObject>
  85. @optional
  86. /** Callback Bluetooth status(回调蓝牙状态) */
  87. - (void)thermometerManagerUpdateState:(ELBluetoothState )state;
  88. /** Call back all thermometer devices(回调所有体温计设备) */
  89. - (void)thermometerManagerScanDevices:(NSArray<ELThermometerDeviceModel *> *)thermometerDevices;
  90. /** Callback temperature data(回调温度数据) */
  91. - (void)thermometerManagerReceiveModel:(ELThermometerBleModel *)model;
  92. /** Return unit setting result(返回单位设置结果) */
  93. - (void)thermometerManagerSetUnitResults:(ThermometerBleResultType )result;
  94. /** Error code sent on the device(设备上发错误码)*/
  95. - (void)thermometerManagerBackDeviceErrorCode:(ThermometerBleErrorCode )code;
  96. /// 返回历史记录数据
  97. /// @param all 历史数据总条数
  98. /// @param nowSend 此次发送的条数
  99. /// @param list 体温计模型列表
  100. - (void)thermometerManagerRecordDataListWithAllNum:(long long)all nowSendNum:(long long)nowSend recordList:(NSArray<ELThermometerBleModel *> *)list;
  101. /// 返回设备支持功能
  102. /// @param type 设备类型
  103. /// @param list 支持功能列表,内容为 ThermometerBleSupportFunction
  104. - (void)thermometerManagerSupportFunctionWithDevType:(enum ThermometerBleDevType)type supportList:(NSArray<NSNumber *> *)list;
  105. /// 返回设备当前单位
  106. /// @param unit 单位
  107. - (void)thermometerManagerDevUnit:(enum ELDeviceTemperatureUnit)unit;
  108. /// 返回当前测温模式
  109. - (void)thermometerManagerMeasureTemMode:(enum ThermometerBleMeasureTemMode)mode;
  110. /// 返回设置测温模式结果
  111. - (void)thermometerManagerSetMeasureTemModeResult:(enum ThermometerBleResultType)result;
  112. /// 返回高温报警值
  113. - (void)thermometerManagerHighTemAlarmValue:(ELThermometerBleModel *)model;
  114. /// 设置高温报警值结果
  115. - (void)thermometerManagerSetHighTemAlarmResult:(enum ThermometerBleResultType)result;
  116. @end
  117. @interface ELThermometerBleManager : ELBluetoothManager
  118. @property (nonatomic,weak) id<ELThermometerBleDelegate> thermometerDelegate;
  119. + (ELThermometerBleManager *)shareManager;
  120. /// 读取历史数据
  121. /// @param count 一次传输可以接收的记录条数,根据MTU大小及单条记录占用字节数合理配置
  122. /// @param time 已经同步过的最后一条历史数据的Unix时间戳(小端序),未同步过历史数据,发0
  123. - (void)getRecordDataWithMaxCount:(NSInteger)count timeStamp:(long long)time;
  124. /// 获取设备支持功能
  125. - (void)getSupportFunction;
  126. /** App release unit settings(app下发单位设置 )*/
  127. - (void)changeThermometerUnit:(ELDeviceTemperatureUnit)unit;
  128. /// 获取设备当前单位
  129. - (void)getNowUnit;
  130. /// 获取设备测温模式
  131. - (void)getMeasureTemMode;
  132. /// 设置设备测温模式
  133. /// @param mode 模式
  134. - (void)setMeasureTemMode:(enum ThermometerBleMeasureTemMode)mode;
  135. /// 获取高温报警值
  136. - (void)getHighTemAlarmValue;
  137. /// 设置高温报警值
  138. /// @param model 不需要设置时间字段和dataType
  139. - (void)setHighTemAlarmValue:(ELThermometerBleModel *)model;
  140. @end
  141. NS_ASSUME_NONNULL_END