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.
 
 
 

659 lines
16 KiB

//
// BLEBaseBl.h
// BluetoothDemo
//
// Created by mac on 17/3/13.
// Copyright © 2017年 . All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "BLEBLDelegate.h"
#import "BluetoothDelegate.h"
#import "BlueToothEume.h"
@interface BLEBaseBl : NSObject <BluetoothDelegate>
@property (nonatomic, weak) id<BLEBLDelegate> delegate;
+ (nullable instancetype)shareInstance;
/**
查找设备
*/
- (void)findDeviceWithBleCmdType:(BleCMD )cmd;
/**
设置时间
*/
- (void)setIngTimeWithBleCmdType:(BleCMD )cmd;
/**
绑定请求
*/
- (void)bindingDeviceWithBleCmdType:(BleCMD )cmd;
/**
同步联系人
*/
- (void)syncContactWithBleCmdType:(BleCMD )cmd
contentArr:(NSArray *)contentArr;
/**
二维码推送
@param cmd 命令类型
@param payType 收款码类型 1:支付宝收款码,2:微信收款码,3:Paypal收款码,4.个人微信码
@param qrCodeImg 二维码字符串
*/
- (void)qrCodePushWithBleCmdType:(BleCMD )cmd
PayType:(NSInteger)payType
qrCodeImg:(UIImage *)qrCodeImg;
/**
手表WIFI
*/
- (void)watchWifiWithBleCmdType:(BleCMD )cmd;
/**
协助输入开始
*/
- (void)inputStartWithBleCmdType:(BleCMD )cmd;
/**
发送协助输入
@param cmd 命令类型
@param content 输入的内容
*/
- (void)inputSendWithBleCmdType:(BleCMD )cmd
content:(NSString *)content;
/**
发送剪切板数据
@param cmd 命令类型
@param content 剪切板内容
*/
- (void)shearPlateWithBleCmdType:(BleCMD )cmd
content:(NSString *)content;
/**
协助输入结束
*/
- (void)inputEndWithBleCmdType:(BleCMD )cmd;
/**
表盘推送
@param cmd 命令类型
@param dialType 表盘类型
*/
- (void)dialPushWithBleCmdType:(BleCMD )cmd
dialType:(NSInteger)dialType;
/**
紧急拨号
使用#分割手机号
@param cmd 命令类型
@param urgentNumber 紧急拨号的号码
*/
- (void)urgentDialWithBleCmdType:(BleCMD )cmd
urgentNumber:(NSString *)urgentNumber;
/**
同步健康数据(key 0xA0)
@param type 1:睡眠,2:心率,3:计步,4:运动模式 (手环使用,72平台传0同步所有) 5:血压 6:血氧
@param timeArr 时间戳数组(三个时间),传空则为获取所有
*/
- (void)syncHealthWithBleCmdType:(BleCMD )cmd
Type:(NSInteger)type
timeArr:(NSArray *)timeArr;
/**
同步表盘数据
*/
- (void)syncDialPush;
/**
WIFI需要密码
*/
- (void)wifiPassWordWithBleCmdType:(BleCMD )cmd
SSID:(NSString *)SSID
PassWord:(NSString *)passWord;
/**
已保存的WIFI
*/
- (void)wifiLinkWithBleCmdType:(BleCMD )cmd
NetworkId:(NSString *)networkId;
/**
WIFI无需密码
*/
- (void)wifiNoPassWordWithBleCmdType:(BleCMD )cmd
SSID:(NSString *)SSID;
/** 固件升级启动
@param updateData 固件升级包数据
*/
- (void)firmwareUpdateWithBleCmdType:(BleCMD )cmd
UpdateData:(NSData *)updateData;
/**
获取设备固件版本信息
*/
- (void)firmwareVersionWithBleCmdType:(BleCMD )cmd;
/**
闹钟设置
@param alarmClockArr 闹钟数组(时间戳字符串&&周期字符串)
*/
- (void)setAlarmClockWithBleCmdType:(BleCMD )cmd
AlarmClockArr:(NSArray *)alarmClockArr;
/**
用户信息设置
@param gender 性别 0:女 1:男
@param age 年龄
@param height 身高
@param weight 体重
@param goal 运动目标
*/
- (void)setUserInfoWithBleCmdType:(BleCMD )cmd
gender:(NSString *)gender
age:(NSString *)age
height:(NSString *)height
weight:(NSString *)weight
Goal:(NSString *)goal
BMI:(NSString *)BMI;
/**
防丢设置
@param ONOFF 0:关闭 1:开启
*/
- (void)setTheLostWithBleCmdType:(BleCMD )cmd
ONOFF:(BOOL)ONOFF;
/**
久坐设置
@param ONOFF 0:关闭 1:开启
@param StartTime 开始时间
@param endTime 结束时间
@param cycle 周期
@param sittingTime 久坐时间
@param sittingThreshold 久坐阈值
*/
- (void)setSedentaryWithBleCmdType:(BleCMD )cmd
ONOFF:(BOOL)ONOFF
StartTime:(NSString *)StartTime
EndTime:(NSString *)endTime
Cycle:(NSString *)cycle
SittingTime:(NSString *)sittingTime
SittingThreshold:(NSString *)sittingThreshold;
/**
自动睡眠设置 (暂不使用)
@param ONOFF 0:关闭 1:开启
*/
- (void)setSleepWithBleCmdType:(BleCMD )cmd
ONOFF:(BOOL)ONOFF;
/**
系统用户设置(key 0x27)
@param cmd 命令类型
*/
- (void)setSystemUserWithBleCmdType:(BleCMD )cmd;
/**
喝水提醒设置(key 0x28)
@param ONOFF 喝水使能 0:关 1:开
@param startTime 开始时间 小时+分钟
@param endTime 结束时间 小时+分钟
@param cycle 周期
@param interval 喝水间隔设置 分钟
*/
- (void)setDrinkRemindWithBleCmdType:(BleCMD )cmd
DrinkONOFF:(BOOL)ONOFF
StartTime:(NSString *)startTime
EndTime:(NSString *)endTime
Cycle:(NSString *)cycle
Interval:(NSString *)interval;
/**
设备电量请求(key 0x40)
*/
- (void)requestBatteryWithBleCmdType:(BleCMD )cmd;
/**
解除绑定请求(key 0x42)
*/
- (void)unbundledDeviceWithBleCmdType:(BleCMD )cmd;
/**
拍照开关(key 0x46) ->手环使用
@param ONOFF 0:相机已关闭 1:相机已打开
*/
- (void)cameraSwitchWithBleCmdType:(BleCMD )cmd
ONOFF:(BOOL)ONOFF;
/**
横竖显示(key 0x49)
@param isVertical 0:横屏1:竖屏
*/
- (void)relationDisplayWithBleCmdType:(BleCMD )cmd
IsVertical:(BOOL)isVertical;
/**
抬手亮屏显示(key 0x4A)
@param hand 0:左手 1:右手
@param raise 0:抬手亮屏关闭 1:抬手亮屏开启
@param flip 0:翻腕亮屏关闭 1:翻腕亮屏开启
*/
- (void)gesturesControlWithBleCmdType:(BleCMD )cmd
Hand:(NSInteger)hand
Raise:(BOOL)raise
Flip:(BOOL)flip;
/**
勿扰模式(key 0x64)
@param ONOFF 勿扰使能 1: 开启 0: 关闭
@param startTime 开始时间
@param endTime 结束时间
*/
- (void)notDisturbWithBleCmdType:(BleCMD )cmd
ONOFF:(BOOL)ONOFF
StartTime:(NSString *)startTime
EndTime:(NSString *)endTime;
/**
提醒模式(key 0x65)
@param remindType 提醒方式 1:亮屏 2:震动 3:亮屏+震动
*/
- (void)remindModelWithBleCmdType:(BleCMD )cmd
RemindType:(NSInteger)remindType;
/**
同步实时数据(key 0xB0)
@param syncType 1:睡眠 2:心率 3:计步 4:运动模式 5:血压 6: 心电 7:血氧 8:体温
*/
- (void)realTimesyncWithBleCmdType:(BleCMD )cmd
SyncType:(NSInteger)syncType;
/**
读取手环设置请求(key 0x2D)
@param cmd 命令类型
*/
- (void)readBraceletSetWithBleCmdType:(BleCMD )cmd;
/**
读取手环配置请求(key 0x2E)
@param cmd 命令类型
*/
- (void)readProfileWithBleCmdType:(BleCMD )cmd;
/**
运动目标设置
@param cmd 命令类型
@param targetSteps 运动目标步数
@param sportMode 运动模式 0:计步 1:跑步 2:骑行 3:爬山
*/
- (void)setSportTargetWithBleCmdType:(BleCMD )cmd
TargetSteps:(NSInteger)targetSteps
SportMode:(NSInteger)sportMode;
/**
设置推送
@param cmd 命令类型
@param value 推送值
*/
- (void)setPushWithBleCmdType:(BleCMD )cmd
value:(NSInteger)value;
/**
心率检测设置
@param cmd 命令类型
@param ONOFF 开关
@param startTime 开始时间
@param endTime 结束时间
@param interval 间隔时间
*/
- (void)setHeartRateCheckWithBleCmdType:(BleCMD )cmd
RateONOFF:(BOOL)ONOFF
StartTime:(NSString *)startTime
EndTime:(NSString *)endTime
Interval:(NSString *)interval;
/// 天气推送(最多三天,当天、明天、后天)
/// @param cmd 命令类型
/// @param weathers 天气数组[{low: Strting, high: Strting, current: Strting, weatherType: Int}]
- (void)setWeatherPushWithBleCmdType:(BleCMD )cmd
Weathers:(NSArray *)weathers;
/**
推送两天的天气
@param cmd 命令类型
@param lowTemperature 低温1
@param highTemperature 高温1
@param weatherType 天气类型1
@param lowTemperature2 低温2
@param highTemperature2 高温2
@param weatherType2 天气类型2
*/
- (void)setWeather2PushWithBleCmdType:(BleCMD)cmd
LowTemperature:(NSString *)lowTemperature
HighTemperature:(NSString *)highTemperature
WeatherType:(NSInteger)weatherType
LowTemperature2:(NSString *)lowTemperature2
HighTemperature2:(NSString *)highTemperature2
WeatherType2:(NSInteger)weatherType2;
/**
气象指数推送
@param cmd 命令类型
@param UV 紫外线
@param pressure 气压
@param altitude 海拔
*/
- (void)weatherIndexWithBleCmdType:(BleCMD )cmd
UV:(NSString *)UV
Pressure:(NSString *)pressure
Altitude:(NSString *)altitude;
/**
恢复出厂设置
@param cmd 命令类型
*/
- (void)restoreFactoryWithBleCmdType:(BleCMD )cmd;
/**
单位设置
@param cmd 命令类型 (key 0x01)
@param measure 度量单位 (0:公制 1:英制)
@param temperature 温度 (0: 摄氏度 1:华氏摄氏度)
*/
- (void)unitSettingWithBleCmdType:(BleCMD)cmd
measure:(NSInteger)measure
temperature:(NSInteger)temperature;
/**
进入指针校准指令(key 0xE0)
@param enterType 0:退出指针校准 1:进入指针校准
*/
- (void)enterCheckpointer:(BleCMD )cmd
enterType:(NSInteger)enterType;
/**
进入指针校准指令(key 0xE1)
@param timeDictionary 时间字典
*/
- (void)submitCheckpointer:(BleCMD )cmd
timeDictionary:(NSMutableDictionary *)timeDictionary;
/**
获取手环校准状态
*/
- (void)getStateCheckpointer:(BleCMD)cmd;
/**
安卓表,请求运动模式数据
*/
- (void)requestSportModeData:(BleCMD)cmd timeArr:(NSArray *)timeArr ;
/**
发票数据同步
@param cmd 命令类型
@param packetSum 数据包总数
@param packetIndex 第几个数据包(从1开始计算)
@param abs 公司抬头简称(5个字以内)
@param invoiceData 发票信息
@param isClear 是否清空发票信息
*/
- (void)invoiceInformationSyncWithBleCmdType:(BleCMD)cmd
packetSum:(NSInteger)packetSum
packetIndex:(NSInteger)packetIndex
abs:(NSString *)abs
invoiceData:(NSString *)invoiceData
isClear:(BOOL)isClear;
/**
发送收款码
@param cmd 命令类型
@param codeType 收款码类型 0:支付宝 1:微信
@param codeData 收款码字串
@param isClear 清空收款码
*/
- (void)setCollectionCodeWithBleCmdType:(BleCMD)cmd
codeType:(NSInteger)codeType
codeData:(NSString *)codeData
isClear:(BOOL)isClear;
/**
表盘发送完成
@param cmd 命令类型
@param pushType 推送类型
*/
- (void)braceletDialPushComplete:(BleCMD )cmd
pushType:(NSInteger)pushType;
/**
手机推送表盘的信息
@param cmd 命令类型
@param pushType 推送类型
@param dialID 表盘ID
@param fileSize 文件大小
*/
- (void)braceletDialPush:(BleCMD )cmd
pushType:(NSInteger)pushType
dialID:(NSInteger)dialID
fileSize:(NSInteger)fileSize;
/**
发送表盘数据内容
@param cmd 命令类型
@param pushType 推送类型
@param Offset 偏移
@param keep 保留
@param DialPushData 图的数据
*/
- (void)braceletDialPushData:(BleCMD )cmd
pushType:(NSInteger)pushType
offset:(NSInteger)Offset
keep:(NSInteger)keep
dialPushData:(NSData *)DialPushData;
/**
呼吸设置
*/
- (void)breatheWithBleCmdType:(BleCMD)cmd withTime:(int)time ;
/**
运动状态同步到设备 0xB3
*/
- (void)sportStateToDeviceWithBleCmdType:(BleCMD)cmd isOn:(int)on sportType:(int)sportType;
/**
GPS信号强度同步到设备
@param cmd 命令类型
@param dialType 信号强度
*/
- (void)GPSSignalStrengthWithBleCmdType:(BleCMD )cmd
dialType:(NSInteger)dialType;
/**
准备启动Esim服务
@param cmd 命令类型
*/
- (void)startEsimWithBleCmdType:(BleCMD)cmd;
/**
结束Esim服务
@param cmd 命令类型
*/
- (void)endEsimWithBleCmdType:(BleCMD)cmd;
/**
获取设备EID
@param cmd 命令类型
*/
- (void)getDeviceEidWithBleCmdType:(BleCMD)cmd;
/**
获取设备IMEI号
@param cmd 命令类型
*/
- (void)getDeviceIMEIWithBleCmdType:(BleCMD)cmd;
/**
获取手表的profile列表
@param cmd 命令类型
*/
- (void)getProfileListWithBleCmdType:(BleCMD)cmd;
/**
开启profile
@param cmd 命令类型
*/
- (void)enableProfileWithBleCmdType:(BleCMD)cmd iccid:(NSString *)iccid;
/**
禁用profile
@param cmd 命令类型
*/
- (void)disableProfileWithBleCmdType:(BleCMD)cmd iccid:(NSString *)iccid;
/**
删除profile
@param cmd 命令类型
*/
- (void)deleteProfileWithBleCmdType:(BleCMD)cmd iccid:(NSString *)iccid;
/**
发送数据到设备
@param cmd 命令类型
@param message message数据
*/
- (void)sendMessageWithBleCmdType:(BleCMD )cmd
message:(NSString *)message;
/// 发送FLASH数据命令
/// @param cmd 命令类型
/// @param data 数据
- (void)falshSendWithBleCmdType:(BleCMD )cmd
total:(NSInteger)total
curren:(NSInteger)curren
lenght:(NSInteger)lenght
data:(NSData *)data;
/// 推送表盘
/// @param cmd 命令类型
/// @param number 第几个表盘
/// @param type 0:删除表盘 1:增加表盘 2:更新表盘
/// @param fileLenght 文件大小
- (void)newDialPushWithBleCmdType:(BleCMD )cmd
number:(NSInteger)number
type:(NSInteger)type
fileLenght:(NSInteger)fileLenght;
/**
体温检测设置
@param cmd 命令类型
@param ONOFF 开关
@param startTime 开始时间
@param endTime 结束时间
@param interval 间隔时间
*/
- (void)setTemperatureCheckWithBleCmdType:(BleCMD )cmd
RateONOFF:(BOOL)ONOFF
StartTime:(NSString *)startTime
EndTime:(NSString *)endTime
Interval:(NSString *)interval;
/// 杰里表盘推送
- (void)newJerryDialPush:(NSString *)path urlName:(NSString *)urlName fileData:(NSData *)fileData;
@end