// // PPDeviceManager.h // PaoPao // // Created by lvwang2002 on 14/12/11. // Copyright (c) 2014年 paopao. All rights reserved. // /** * version:0.1.9 * 更新时间:2016-06-30 16:00 * 更新内容:1.修改dataID方法 * * version:0.1.8 * 更新时间:2016-06-30 14:00 * 更新内容:1.支持血压低电检测. * 2.增加dataID * * version:0.1.7 * 更新时间:2016-06-03 15:07 * 更新内容:1.支持血酮设备. * * version:0.1.6 * 更新时间:2016-05-25 16:35 * 更新内容:1.攀高血压计发送指令放在单独现成. * * version:0.1.5 * 更新时间:2016-05-25 14:35 * 更新内容:1.增加健壮性 2.脉搏波6秒没有数值的话 报错. * * version:0.1.4 * 更新时间:2016-05-24 15:51 * 更新内容:增加血压计连接的健壮性. * * version:0.1.3 * 更新时间:2016-05-24 14:40 * 更新内容:脉搏波血压计增加通讯健壮性. * * version:0.1.2 * 更新时间:2016-05-21 13:40 * 更新内容:修改根据所有类型设备获取内容不正确的问题(追加). * * version:0.1.1 * 更新时间:2016-05-21 13:00 * 更新内容:修改根据所有类型设备获取内容不正确的问题. * */ #import #import #import "NSArray+LinqExtensions.h" #import "BLEDevice.h" #import "ENDLog.h" typedef NS_ENUM(NSUInteger, ENSearchedType) { ENSearchedAllType, //所有设备 ENSearchedGlucoType, //血糖 ENSearchedBPType, //血压 ENSearchedCholesterolType, //血脂 ENSearchedKetoneType //血酮 }; typedef NS_ENUM(NSUInteger, ENBTStatus) { ENBTPowerOnStatus, //蓝牙开关开 ENBTPowerOffStatus, //蓝牙开关关 ENBTPreparedStatus //蓝牙开关准备阶段 }; @protocol DeviceManagerProtocol; @protocol DeviceDataProtocol; @class BLEDevice; @interface ENBLEDeviceManager : NSObject @property(nonatomic,weak)iddeviceManagerDelegate; @property(nonatomic,weak)iddeviceDataDelegate; @property(nonatomic,strong)CBCentralManager *centralManager; @property ENBTStatus BTStatus; /** 创建设备的相关单例 */ +(instancetype)shareDeviceManager; /** 判断是否有设备正在已经连接 */ -(BOOL)hasDeviceConnectedWithType:(ENSearchedType)type; /** 判断是否有设备正在连接 */ -(BOOL)hasDeviceConnectingWithType:(ENSearchedType)type; /** 当前连接的设备 */ -(BLEDevice *)getCurrentConnectedDeviceWithType:(ENSearchedType)type; /** 获得当前的所有扫描到的设备 */ -(NSArray *)getSearchedDevices; /** 更新设备刷新列表 */ -(void)postUpdateDeviceList; /** 开始扫描 */ -(void)startScan; /** 停止扫描 */ -(void)stopScan; /** 指定扫描设备的类型 */ -(void)setSearchedDeviceType:(ENSearchedType)searchedDeviceType; /** 根据UUID找到指定的设备 */ -(BLEDevice *)getDeviceWithUUID:(NSUUID *)uuid; /** 设置是否输出 */ -(void)setIsShowLog:(BOOL)isShow; /** 处理错误 */ -(void)uhoh:(BLEDevice *)device; /** 断开连接 */ -(void)disconnectAllDevices; /** 删除设备 */ -(void)removeDevice:(BLEDevice *)device; -(void)run; /** 返回队列 */ -(dispatch_queue_t)getPostQueue; @end /** 低功耗蓝牙相关协议 */ @protocol DeviceManagerProtocol /** 找到新的设备 */ @optional -(void)didDiscoverDevice:(BLEDevice *)device IsNewly:(BOOL)isNewly; /** 找到的设备列表更新 */ @optional /** 定时获取所有的设备 */ -(void)didUpdateSearchedDevices:(NSArray *)searchedDevices; @optional /** 获取当前蓝牙的状态 */ -(void)didUpdateBTStatus:(ENBTStatus)status; @optional -(void)didConnectedDevice:(BLEDevice *)device; @end @protocol DeviceDataProtocol @optional -(void)getData:(NSData *)data Peripheral:(CBPeripheral *)peripheral; @end