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.

ELSmartRingManager.h 5.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. //
  2. // ELSmartRingManager.h
  3. // Elink
  4. //
  5. // Created by 周鹏 on 2023/11/17.
  6. // Copyright © 2023 iot_iMac. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import "ELAILinkBleManager+SmartRing.h"
  10. #import "ELSmartRingBleHeader.h"
  11. #import "ELSmartRingBleParser.h"
  12. #import "AICareComponentRingBleSDK_Version.h"
  13. NS_ASSUME_NONNULL_BEGIN
  14. @class ELSmartRingBleModel;
  15. @protocol ELSmartRingManagerDelegate;
  16. @interface ELSmartRingManager : NSObject
  17. /* 蓝牙连接状态*/
  18. @property (nonatomic, assign) NELBleManagerConnectState bleConnectState;
  19. @property (nonatomic, assign) CBManagerState centralState;
  20. //电池状态
  21. @property (nonatomic, assign) struct ELBatteryStruct battery;
  22. @property (nonatomic, weak) id<ELSmartRingManagerDelegate> delegate;
  23. //判断是否需要常链接
  24. @property (nonatomic, assign) BOOL needLongConnected;
  25. //监测间隔
  26. @property (nonatomic, assign) NSInteger interval;
  27. //日常监测 type RRI
  28. @property (nonatomic, assign) NSInteger RRIType;
  29. //佩戴状态
  30. @property (nonatomic, assign) NSInteger wearStatue;
  31. //判断是否开启日常监测
  32. @property (nonatomic, assign) BOOL isOpenMonitoring;
  33. //
  34. @property (nonatomic, copy) NSString *bmVersion;
  35. + (instancetype)sharedManager;
  36. - (NSString *)sdkVersion;
  37. + (NSString *)sdkVersion;
  38. - (void)scanAll;
  39. - (void)scanFilterWithCidArray:(NSArray<NSNumber *> *_Nonnull)cidArray;
  40. - (void)scanFilterWithMacArray:(NSArray<NSString *> *_Nonnull)macArray;
  41. - (void)scanFilterWithCidArray:(NSArray<NSNumber *> *_Nonnull)cidArray macArray:(NSArray<NSString *> *_Nonnull)macArray;
  42. - (void)stopScan;
  43. - (void)connectAILinkPeripheral:(ELAILinkPeripheral *)ailinkPeripheral;
  44. -(void)smartRingGetDeviceStatus;//获取设备状态,电量和佩戴状况
  45. -(void)smartRingReocrdWithType:(NSInteger)type;//获取日常检测历史记录 //0 开始获取 1 继续获取 2 结束获取 3 删除历史记录
  46. - (void)smartRingSleepReocrdWithType:(NSInteger)type;//获取睡眠步数历史记录 //0 开始获取 1 继续获取 2 结束获取 3 删除历史记录
  47. -(void)smartRingSetUnix;//设置Unix时间
  48. -(void)syncMCUNowDate; // 同步时间到设备
  49. -(void)smartRingGetVersion;//获取Bleversion
  50. -(void)smartRingGetAutoCheckOpen;//获取日常检测是否关闭
  51. -(void)smartRingSetAutoCheckOpen:(BOOL)open;//APP启动/关闭日常检测
  52. -(void)smartRingStartCheck;//开始体检
  53. -(void)smartRingCloseCheck;//结束体检
  54. -(void)smartRingSetDetectionPeriodWith:(NSInteger)interval;//APP设置/获取日常检测周期 0获取 其他为设置时间 单位(分钟)
  55. -(void)smartRingGetJFInfo;//获取Mcu版本信息
  56. -(void)startBleOTAWithPath:(NSString *)path;//开始升级
  57. -(void)startMcuOTAWithPath:(NSString *)path;//开始升级
  58. -(void)smartRingGetRRI;//获取体检模式
  59. -(void)smartRingSetRRIWithType:(NSInteger)type;//设置体检模式 0 全面模式 72条RRI 1 快速模式 30条RRI
  60. - (void)disconnectPeripheral;
  61. - (void)clearInformation;
  62. - (void)clearUserInformation;
  63. @end
  64. @protocol ELSmartRingManagerDelegate <NSObject>
  65. @optional
  66. //设备固件bmVersion
  67. - (void)smartRingManager:(ELSmartRingManager *)smartRingManager getBmVersion:(NSString *)bmVersion;
  68. //蓝牙状态
  69. - (void)smartRingManager:(ELSmartRingManager *)smartRingManager managerDidUpdateState:(CBCentralManager *)central;
  70. // 扫描到设备
  71. - (void)smartRingManager:(ELSmartRingManager *)smartRingManager managerDidDiscoverPeripheral:(ELAILinkPeripheral *)peripheral;
  72. //:连接状态
  73. - (void)smartRingManager:(ELSmartRingManager *)smartRingManager ConnectState:(NELBleManagerConnectState)bleConnectState;
  74. //:APP 获取设备状态,电量和佩戴状况
  75. -(void)smartRingManager:(ELSmartRingManager *)smartRingManager DeviceStatus:(ELSmartRingDeviceStatus)deviceStatus Battery:(struct ELBatteryStruct)battery wearStatue:(NSInteger)wearStatue; //0x00:无功能 0x01:静置状态 x02:非静置状态
  76. ///* 获取RRI */(Type:10)
  77. -(void)smartRingManager:(ELSmartRingManager *)smartRingManager RRI:(NSInteger)RRI;
  78. //日常检测周期(Type:08)开关
  79. -(void)smartRingManager:(ELSmartRingManager *)smartRingManager AutoCheck:(BOOL)open;
  80. //日常检测历史记录(Type:05)//日常检测历史记录(Type:05) 一次有可给能两条数据 isEnd为Yes 表示当次记录返回结束 可以获取下一条数据 isEnd为 NO 代表 当前记录没有返回结束
  81. -(void)smartRingManager:(ELSmartRingManager *)smartRingManager record:(ELSmartRingBleModel *)smartRingBleModel isEnd:(BOOL)isEnd;
  82. //设备产生历史记录提示
  83. -(void)smartRingManager:(ELSmartRingManager *)smartRingManager haveRecord:(NSInteger)haveRecord;
  84. //MCU 设置体检模式(Type:03)
  85. - (void)smartRingManager:(ELSmartRingManager *)smartRingManager SetCheck:(ELSmartRingBleModel *)smartRingBleModel;
  86. //日常检测周期(Type:04)
  87. - (void)smartRingManager:(ELSmartRingManager *)smartRingManager
  88. DetectionPeriod:(NSUInteger)interval;
  89. //日常检测历史记录(Type:05)
  90. - (void)smartRingReloadRecord; // isEnd 有时候收多组数据 判断是否时最后一组;
  91. //version
  92. - (void)smartRingGetVersionWith:(NSString *)version; // ;
  93. //* 获取JF传感器信息 */(Type:09)
  94. -(void)smartRingManager:(ELSmartRingManager *)smartRingManager GetJFInfo:(NSString *)info;
  95. //OTA下载成功
  96. //OTA 进度
  97. - (void)smartRingOTAUpdateProgress:(double)progress;
  98. //OTA 失败或成功回调
  99. - (void)smartRingOTAUpdateResult:(BOOL)isSuccess errorMsg:(NSString*)errorMsg;
  100. // 步数/睡眠数据记录
  101. - (void)smartRingManager:(ELSmartRingManager *)smartRingManager SleepRecordArray:(nonnull NSArray *)smartRingBleModelArray;
  102. @end
  103. NS_ASSUME_NONNULL_END