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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  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. 解析模块通信模式
  62. @param data 原始数据
  63. @return 模式
  64. */
  65. +(ELCommunicationModeType)analysisBluetoothCommunicationMode:(NSData *)data;
  66. /**
  67. 解析自动睡眠时间
  68. @param data 原始数据
  69. @return 结构体
  70. */
  71. +(struct ELAutoSleepTimeStruct)analysisBluetoothAutoSleepTime:(NSData *)data;
  72. /**
  73. 解析主从模式数据
  74. @param data 原始数据
  75. @return 模式
  76. 0:从机模式 1:主机模式
  77. */
  78. +(int)analysisBluetoothMCUMode:(NSData *)data;
  79. /**
  80. 解析UUID
  81. @param data 原始数据
  82. @return UUID 的结构体
  83. */
  84. +(struct ELUUIDStruct)analysisBluetoothUUID:(NSData *)data;
  85. /**
  86. 解析大小端序
  87. @param data 原始数据
  88. @return 大小端序
  89. */
  90. +(int)analysisBluetoothMACAddressType:(NSData *)data;
  91. /**
  92. 解析串口波特率
  93. @param data 原始数据
  94. @return 波特率
  95. 0:9600
  96. 1:19200
  97. 2:38400
  98. 3:57600
  99. 4:115200
  100. 5:921600
  101. */
  102. +(int)analysisBluetoothSerialPostBaudRate:(NSData *)data;
  103. /**
  104. 解析发射功率
  105. @param data 原始数据
  106. @return 发射功率:1~10
  107. */
  108. +(int)analysisBluetoothTransmittingPower:(NSData *)data;
  109. /**
  110. 解析蓝牙连接间隔
  111. @param data 原始数据
  112. @return 连接间隔时间的结构体
  113. */
  114. +(struct ELConnectIntervalStruct)analysisBluetoothConnectInterval:(NSData *)data;
  115. /**
  116. 解析蓝牙广播间隔时间
  117. @param data 蓝牙发送的原始数据
  118. @return 广播间隔
  119. */
  120. +(int)analysisBluetoothBroadcastInterval:(NSData *)data;
  121. /**
  122. 解析蓝牙名称
  123. @param data 蓝牙发送的原始数据
  124. @return 蓝牙名称
  125. */
  126. +(NSString *)analysisBluetoothName:(NSData *)data;
  127. /**
  128. 解析设备支持的体重数组
  129. @param data 蓝牙发送的原始数据
  130. @return 体重单位数组,内容为ELDeviceWeightUnit枚举
  131. */
  132. + (NSArray<NSNumber *> *)analysisBluetoothSupportWeightUnitArray:(NSData *)data;
  133. /**
  134. 解析设备支持的身高数组
  135. @param data 蓝牙发送的原始数据
  136. @return 身高单位数组,内容为ELDeviceHeightUnit枚举
  137. */
  138. + (NSArray<NSNumber *> *)analysisBluetoothSupportHeightUnitArray:(NSData *)data;
  139. /**
  140. 解析设备支持的温度数组
  141. @param data 蓝牙发送的原始数据
  142. @return 温度单位数组,内容为ELDeviceTemperatureUnit枚举
  143. */
  144. + (NSArray<NSNumber *> *)analysisBluetoothSupportTemperatureUnitArray:(NSData *)data;
  145. /**
  146. 解析设备支持的血压数组
  147. */
  148. + (NSArray<NSNumber *> *)analysisBluetoothSupportBloodPressureUnitArray:(NSData *)data;
  149. /**
  150. 解析设备支持的血压数组
  151. @param data 蓝牙发送的原始数据
  152. @return 血压单位数组,内容为ELDeviceTemperatureUnit枚举
  153. */
  154. + (NSArray<NSNumber *> *)analysisBluetoothSupportPressureUnitArray:(NSData *)data;
  155. /// 解析设备支持的血糖仪单位
  156. /// @param data 蓝牙发送的原始数据
  157. + (NSArray<NSNumber *> *)analysisBluetoothSupportBloodSugarUnitArray:(NSData *)data;
  158. /// 解析设备支持的体积单位
  159. /// @param data 蓝牙发送的原始数据
  160. + (NSArray<NSNumber *> *)analysisBluetoothSupportVolumUnitArray:(NSData *)data;
  161. /// 解析设备支持的营养秤单位
  162. /// @param data 蓝牙发送的原始数据
  163. + (NSArray<NSNumber *> *)analysisBluetoothSupportNutritionUnitArray:(NSData *)data;
  164. /**
  165. 解析蓝牙接收密钥的结果
  166. @param data 原数据
  167. @return YES:成功,NO失败
  168. */
  169. +(BOOL)analysisBluetoothReceiveKeyState:(NSData *)data;
  170. /**
  171. 解析设备基本信息
  172. @param data 原数据
  173. @return 设备基本信息
  174. */
  175. +(NSData *)analysisBluetoothReceiveBasicInfoData:(NSData *)data;
  176. @end
  177. NS_ASSUME_NONNULL_END