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
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
|
|
|