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.8KB

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