iOS AILinkBleSDK - 蓝牙SDK
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ELBleDisposeDataTool.h 4.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. //
  2. // ELBleDisposeDataTool.h
  3. // Elink
  4. //
  5. // Created by iot_user on 2019/4/23.
  6. // Copyright © 2019 iot_iMac. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import "ELSDKHeader.h"
  10. NS_ASSUME_NONNULL_BEGIN
  11. @interface ELBleDisposeDataTool : NSObject
  12. #pragma mark 校验和
  13. +(BOOL)checksum:(NSData *)data;
  14. #pragma mark 广播设备校验和
  15. +(BOOL)broadcastChecksum:(NSData *)data;
  16. #pragma mark ============ 解析A6数据 ==============
  17. /**
  18. 解析电池数据
  19. @param data 原始数据
  20. @return 电池充电状态和电量的结构体
  21. */
  22. +(struct ELBatteryStruct)analysisBattery:(NSData *)data;
  23. /**
  24. 解析CID、VID、PID
  25. @param data 原始数据
  26. @return CID,VID,PID的结构体
  27. */
  28. +(struct ELDIDStruct)analysisDid:(NSData *)data;
  29. /**
  30. 解析模块时间
  31. @param data 原始数据
  32. @return yyyy-MM-dd HH:mm:ss
  33. */
  34. +(NSString *)analysisBluetoothDate:(NSData *)data;
  35. /**
  36. 解析MCU软硬件版本号
  37. @param data 原始数据
  38. @return MCU软硬件版本号
  39. */
  40. +(NSString *)analysisMCUVersion:(NSData *)data;
  41. /**
  42. 解析BM模块软硬件版本号
  43. @param data 原始数据
  44. @return BM模块软硬件版本号
  45. */
  46. + (NSString *)analysisBMVersion:(NSData *)data;
  47. + (NSString *)analysisBMVersionPro:(NSData *)data;
  48. /**
  49. 解析MAC地址
  50. @param data 原始数据
  51. @return MAC地址
  52. */
  53. +(NSString *)analysisBluetoothMACAddrress:(NSData *)data;
  54. /**
  55. 解析模块状态
  56. @param data 原始数据
  57. @return 结构体
  58. */
  59. +(struct ELMCUStateStruct)analysisBluetoothConnectState:(NSData *)data;
  60. //重构
  61. + (ELWMStateStruct)analysisWMState:(NSData *)data;
  62. /**
  63. 解析模块通信模式
  64. @param data 原始数据
  65. @return 模式
  66. */
  67. +(ELCommunicationModeType)analysisBluetoothCommunicationMode:(NSData *)data;
  68. /**
  69. 解析自动睡眠时间
  70. @param data 原始数据
  71. @return 结构体
  72. */
  73. +(struct ELAutoSleepTimeStruct)analysisBluetoothAutoSleepTime:(NSData *)data;
  74. /**
  75. 解析主从模式数据
  76. @param data 原始数据
  77. @return 模式
  78. 0:从机模式 1:主机模式
  79. */
  80. +(int)analysisBluetoothMCUMode:(NSData *)data;
  81. /**
  82. 解析UUID
  83. @param data 原始数据
  84. @return UUID 的结构体
  85. */
  86. +(struct ELUUIDStruct)analysisBluetoothUUID:(NSData *)data;
  87. /**
  88. 解析大小端序
  89. @param data 原始数据
  90. @return 大小端序
  91. */
  92. +(int)analysisBluetoothMACAddressType:(NSData *)data;
  93. /**
  94. 解析串口波特率
  95. @param data 原始数据
  96. @return 波特率
  97. 0:9600
  98. 1:19200
  99. 2:38400
  100. 3:57600
  101. 4:115200
  102. 5:921600
  103. */
  104. +(int)analysisBluetoothSerialPostBaudRate:(NSData *)data;
  105. /**
  106. 解析发射功率
  107. @param data 原始数据
  108. @return 发射功率:1~10
  109. */
  110. +(int)analysisBluetoothTransmittingPower:(NSData *)data;
  111. /**
  112. 解析蓝牙连接间隔
  113. @param data 原始数据
  114. @return 连接间隔时间的结构体
  115. */
  116. +(struct ELConnectIntervalStruct)analysisBluetoothConnectInterval:(NSData *)data;
  117. /**
  118. 解析蓝牙广播间隔时间
  119. @param data 蓝牙发送的原始数据
  120. @return 广播间隔
  121. */
  122. +(int)analysisBluetoothBroadcastInterval:(NSData *)data;
  123. /**
  124. 解析蓝牙名称
  125. @param data 蓝牙发送的原始数据
  126. @return 蓝牙名称
  127. */
  128. +(NSString *)analysisBluetoothName:(NSData *)data;
  129. /**
  130. 解析设备支持的体重数组
  131. @param data 蓝牙发送的原始数据
  132. @return 体重单位数组,内容为ELDeviceWeightUnit枚举
  133. */
  134. + (NSArray<NSNumber *> *)analysisBluetoothSupportWeightUnitArray:(NSData *)data;
  135. /**
  136. 解析设备支持的身高数组
  137. @param data 蓝牙发送的原始数据
  138. @return 身高单位数组,内容为ELDeviceHeightUnit枚举
  139. */
  140. + (NSArray<NSNumber *> *)analysisBluetoothSupportHeightUnitArray:(NSData *)data;
  141. /**
  142. 解析设备支持的温度数组
  143. @param data 蓝牙发送的原始数据
  144. @return 温度单位数组,内容为ELDeviceTemperatureUnit枚举
  145. */
  146. + (NSArray<NSNumber *> *)analysisBluetoothSupportTemperatureUnitArray:(NSData *)data;
  147. /**
  148. 解析设备支持的血压数组
  149. */
  150. + (NSArray<NSNumber *> *)analysisBluetoothSupportBloodPressureUnitArray:(NSData *)data;
  151. /**
  152. 解析设备支持的血压数组
  153. @param data 蓝牙发送的原始数据
  154. @return 血压单位数组,内容为ELDeviceTemperatureUnit枚举
  155. */
  156. + (NSArray<NSNumber *> *)analysisBluetoothSupportPressureUnitArray:(NSData *)data;
  157. /// 解析设备支持的血糖仪单位
  158. /// @param data 蓝牙发送的原始数据
  159. + (NSArray<NSNumber *> *)analysisBluetoothSupportBloodSugarUnitArray:(NSData *)data;
  160. /// 解析设备支持的体积单位
  161. /// @param data 蓝牙发送的原始数据
  162. + (NSArray<NSNumber *> *)analysisBluetoothSupportVolumUnitArray:(NSData *)data;
  163. /// 解析设备支持的营养秤单位
  164. /// @param data 蓝牙发送的原始数据
  165. + (NSArray<NSNumber *> *)analysisBluetoothSupportNutritionUnitArray:(NSData *)data;
  166. /**
  167. 解析蓝牙接收密钥的结果
  168. @param data 原数据
  169. @return YES:成功,NO失败
  170. */
  171. +(BOOL)analysisBluetoothReceiveKeyState:(NSData *)data;
  172. /**
  173. 解析设备基本信息
  174. @param data 原数据
  175. @return 设备基本信息
  176. */
  177. +(NSData *)analysisBluetoothReceiveBasicInfoData:(NSData *)data;
  178. @end
  179. NS_ASSUME_NONNULL_END