Procházet zdrojové kódy

修改: 同步SDK更新

master
yc.chen před 2 dny
rodič
revize
77ef28d051

+ 22
- 6
AILinkBleSDKDemo.xcodeproj/project.pbxproj Zobrazit soubor

@@ -7,6 +7,8 @@
objects = {

/* Begin PBXBuildFile section */
41D9C0033007648A00F0E1A4 /* AILinkBleSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 78AC3B2C2C0D996A00A62C61 /* AILinkBleSDK.framework */; };
41D9C0043007648A00F0E1A4 /* AILinkBleSDK.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 78AC3B2C2C0D996A00A62C61 /* AILinkBleSDK.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
7802C5AD2C903A31008D7616 /* ELMeatProbeCustomDataModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 7802C5AC2C903A31008D7616 /* ELMeatProbeCustomDataModel.m */; };
7802C5B02C903A4B008D7616 /* ELMeatProbeBoxCustomDataModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 7802C5AF2C903A4B008D7616 /* ELMeatProbeBoxCustomDataModel.m */; };
7802C5C92C903A7F008D7616 /* ELMeatProbeBoxMultipleBleBBQParamModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 7802C5B22C903A7F008D7616 /* ELMeatProbeBoxMultipleBleBBQParamModel.m */; };
@@ -24,7 +26,6 @@
78350BBB29D2869000456695 /* BodyScaleVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 78350BB929D2869000456695 /* BodyScaleVC.m */; };
78350BBD29D28C1200456695 /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = 78350BBC29D28C1200456695 /* README.md */; };
78AC3B2B2C0D994900A62C61 /* PrivacyInfo.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 78AC3B2A2C0D994900A62C61 /* PrivacyInfo.bundle */; };
78AC3B2D2C0D996A00A62C61 /* AILinkBleSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 78AC3B2C2C0D996A00A62C61 /* AILinkBleSDK.framework */; };
78B153AD2AD16A5000C81229 /* ELWIFIBloodPressureVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 78B153AB2AD16A5000C81229 /* ELWIFIBloodPressureVC.xib */; };
78B153AE2AD16A5000C81229 /* ELWIFIBloodPressureVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 78B153AC2AD16A5000C81229 /* ELWIFIBloodPressureVC.m */; };
78CF43532C2EC21B00D0A165 /* HygrothermographVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 78CF43502C2EC21A00D0A165 /* HygrothermographVC.m */; };
@@ -131,6 +132,20 @@
};
/* End PBXContainerItemProxy section */

/* Begin PBXCopyFilesBuildPhase section */
41D9C0053007648A00F0E1A4 /* Embed Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
41D9C0043007648A00F0E1A4 /* AILinkBleSDK.framework in Embed Frameworks */,
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */

/* Begin PBXFileReference section */
7802C5AB2C903A31008D7616 /* ELMeatProbeCustomDataModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ELMeatProbeCustomDataModel.h; sourceTree = "<group>"; };
7802C5AC2C903A31008D7616 /* ELMeatProbeCustomDataModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ELMeatProbeCustomDataModel.m; sourceTree = "<group>"; };
@@ -358,7 +373,7 @@
buildActionMask = 2147483647;
files = (
78350BB329D2826900456695 /* libHTBodyfat_SDK.a in Frameworks */,
78AC3B2D2C0D996A00A62C61 /* AILinkBleSDK.framework in Frameworks */,
41D9C0033007648A00F0E1A4 /* AILinkBleSDK.framework in Frameworks */,
78350BB729D282A300456695 /* libBhBodyComposition120.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -992,6 +1007,7 @@
E622E257243F1CA5003C319D /* Sources */,
E622E258243F1CA5003C319D /* Frameworks */,
E622E259243F1CA5003C319D /* Resources */,
41D9C0053007648A00F0E1A4 /* Embed Frameworks */,
);
buildRules = (
);
@@ -1337,7 +1353,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 20250305;
CURRENT_PROJECT_VERSION = 20260715;
DEVELOPMENT_TEAM = YEU77XR292;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@@ -1359,7 +1375,7 @@
"$(PROJECT_DIR)/AILinkBleSDKDemo/DeviceDemo/13_EightScale/HTBodyfat_SDK",
"$(PROJECT_DIR)/AILinkBleSDKDemo/DeviceDemo/13_EightScale/BhBodyComposition120",
);
MARKETING_VERSION = 1.11.0;
MARKETING_VERSION = 1.12.6;
OTHER_LDFLAGS = "-ObjC";
PRODUCT_BUNDLE_IDENTIFIER = com.ellinkthings.ailinksdk.app;
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -1372,7 +1388,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 20250305;
CURRENT_PROJECT_VERSION = 20260715;
DEVELOPMENT_TEAM = YEU77XR292;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@@ -1394,7 +1410,7 @@
"$(PROJECT_DIR)/AILinkBleSDKDemo/DeviceDemo/13_EightScale/HTBodyfat_SDK",
"$(PROJECT_DIR)/AILinkBleSDKDemo/DeviceDemo/13_EightScale/BhBodyComposition120",
);
MARKETING_VERSION = 1.11.0;
MARKETING_VERSION = 1.12.6;
OTHER_LDFLAGS = "-ObjC";
PRODUCT_BUNDLE_IDENTIFIER = com.ellinkthings.ailinksdk.app;
PRODUCT_NAME = "$(TARGET_NAME)";

binární
AILinkBleSDKDemo/AILinkBleSDK.framework/AILinkBleSDK Zobrazit soubor


+ 1
- 1
AILinkBleSDKDemo/AILinkBleSDK.framework/Headers/AILinkBleSDK_Version.h Zobrazit soubor

@@ -9,6 +9,6 @@
#define AILinkBleSDK_Version_h

//版本号 SDK Version
#define AiLinkBleSDKVersion @"1.11.0" // 20250305
#define AiLinkBleSDKVersion @"1.12.6" // 20260715

#endif /* AILinkBleSDK_Version_h */

+ 2
- 1
AILinkBleSDKDemo/AILinkBleSDK.framework/Headers/ELBleDisposeDataTool.h Zobrazit soubor

@@ -211,7 +211,8 @@ NS_ASSUME_NONNULL_BEGIN

/// 解析设备支持的营养秤单位
/// @param data 蓝牙发送的原始数据
+ (NSArray<NSNumber *> *)analysisBluetoothSupportNutritionUnitArray:(NSData *)data;
/// @param isAirefresh AIlink营养秤的单位解析和好营养的单位解析不一样
+ (NSArray<NSNumber *> *)analysisBluetoothSupportNutritionUnitArray:(NSData *)data isAirefresh:(BOOL)isAirefresh;

/**
解析蓝牙接收密钥的结果

+ 12
- 0
AILinkBleSDKDemo/AILinkBleSDK.framework/Headers/ELBloodBleManager.h Zobrazit soubor

@@ -21,6 +21,9 @@ typedef NS_ENUM(NSUInteger, ELBloodBleDataType) {
ELBloodBleDataTypeSetSwitchVoice = 0x85, //Send voice alarm settings(下发语音报警设置)
ELBloodBleDataTypeSwitchVoiceResult = 0x86, //Send voice alarm setting result(下发语音报警设置结果)
ELBloodBleDataTypeFailCode = 0xFF, //Report error code(上报错误码)
ELBloodBleDataTypeSyncHistory = 0x10, //app同步历史数据
ELBloodBleDataTypeSyncHistoryStatus = 0x11, //历史数据发送结果
ELBloodBleDataTypeReceiveHistory = 0x12, //app同步历史数据
};


@@ -79,6 +82,11 @@ typedef NS_ENUM(NSUInteger, ELBloodBleDataType) {
@param result 结果
*/
-(void)bloodBleManagerReceiveSetSwitchVoiceOperationType:(ELBloodBleSwitchVoiceType)type result:(ELSetBluetoothResponseType)result;


/** 设备返回历史记录 */
- (void)bloodBleManagerReceiveBackOfflineHistory:(NSArray<ELBloodBleDataModel *> *_Nullable)history;

@end


@@ -112,6 +120,10 @@ NS_ASSUME_NONNULL_BEGIN
@param type operation type
*/
-(void)sendSwitchVoice:(ELBloodBleSwitchVoiceType)type;

//App获取离线历史记录
- (void)getOfflineHistory;

@end

NS_ASSUME_NONNULL_END

+ 9
- 2
AILinkBleSDKDemo/AILinkBleSDK.framework/Headers/ELBluetoothManager.h Zobrazit soubor

@@ -101,14 +101,20 @@ static NSString *GET_A7_DECRYPT_BLE_PAYLOAD_DATA_CONTENT = @"GET_A7_DECRYPT_BLE_
*/
-(void)syncBleNowDate:(BOOL)enable;

///仅WIFI秤调用,同步世界时间(0时区)到wifi-ble模块
-(void)syncBleGMTNowDate:(BOOL)enable;
///仅WIFI秤调用,同步世界时间(0时区)到wifi-ble模块 //useUTCTimezone是否使用0时区时间
-(void)syncBleGMTNowDate:(BOOL)enable useUTCTimezone:(BOOL)useUTCTimezone;

///同步手机本地时间给mcu,每次连接成功后会自动调用
-(void)syncMCUNowDate;


#pragma mark ============ 发送指令的3种方法 ==============
/**
Shortcut method to send A5 data to BLE(发送A6数据给BLE的快捷方法)
@param data The stitched payload part(拼接好的payload部分)
*/
- (void)sendCmdToMCUWithA5PayloadData:(NSData *_Nonnull)data deviceType:(ELSupportDeviceType)type;

/**
Shortcut method to send A6 data to BLE(发送A6数据给BLE的快捷方法)
@param data The stitched payload part(拼接好的payload部分)
@@ -125,6 +131,7 @@ static NSString *GET_A7_DECRYPT_BLE_PAYLOAD_DATA_CONTENT = @"GET_A7_DECRYPT_BLE_
/// 直接发送A7命令,不加载在队列中
-(void)immediatelySendCmdToMCUWithA7PayloadData:(NSData *)data deviceType:(ELSupportDeviceType)type;

-(void)immediatelySendCmdToMCUWithA5PayloadData:(NSData *)data deviceType:(ELSupportDeviceType)type;
/**
General method of sending data (support data transparent transmission)(发送数据通用方法(支持数据透传))

+ 56
- 5
AILinkBleSDKDemo/AILinkBleSDK.framework/Headers/ELBodyFatScaleBleHeader.h Zobrazit soubor

@@ -72,7 +72,45 @@ typedef NS_ENUM(NSInteger , ELBodyFatScaleBleDataType) {
ELBodyFatScaleBleDataType_MCUBackNeedsFillBodyData = 0x0E ,
/** MCU->APP:设备上报模式 */
ELBodyFatScaleBleDataType_MCUReportingMode = 0x0F ,
/** APP 查询/下发体脂/抱婴模式切换 */
ELBodyFatScaleBleDataType_AppSendMode = 0x10,
/** MCU发送体脂/抱婴模式切换结果给App */
ELBodyFatScaleBleDataType_MCUBackSendModeResult = 0x11,
/** MCU上报婴儿重量 */
ELBodyFatScaleBleDataType_MCUReportingBabyWeight = 0x12,
/** 同步用户成功 */
ELBodyFatScaleBleDataType_SynUserSucess = 0x14,
/** App回复MCU上报婴儿重量结果 */
ELBodyFatScaleBleDataType_AppBackReportingBabyWeightResult = 0x13,

/** added by tj APP下发用户头像名称版本 */
ELBodyFatScaleBleDataType_AppToDeviceAvatarAndnickName = 0x15,
/** added by tj App发送指令切换 */
ELBodyFatScaleBleDataType_AppToDeviceLanguage = 0x16,
/** 模组返回体脂数据 */
ELBodyFatScaleBleDataType_ModuleReturnsBodyFatData = 0x20,
/** MCU设置需要体脂 若MCU端有UI界面显示体脂时,可以通过该指令通知app
APP测里完成后,app会把体脂数据同步到MCU 若MCU不需要体脂数据时,不要发该指令 */
ELBodyFatScaleBleDataType_MCURequiresBodyFat = 0x21,
/** added by tj MCU切换用户 设备发过来的指令 */
ELBodyFatScaleBleDataType_MCUChageUser = 0x28,
/** added by tj APP请求当前分辨率 */
ELBodyFatScaleBleDataType_AppToGetDeviceResolution = 0x30,
/** added by tj APP请求同步历史记录 */
ELBodyFatScaleBleDataType_AppToAskSyncHistoryRecord = 0x31,
/** added by tj APP请求同步历史记录 */
ELBodyFatScaleBleDataType_MCU_History_data_fromDevice = 0x32,
/** added by tj APP下发当前用户列表版本 */
ELBodyFatScaleBleDataType_SendCurrentUserListVersion = 0x34,
/** App发送指令切换单位 */
ELBodyFatScaleBleDataType_AppSendUnit = 0x81 ,
/** MCU发送体脂数据给App,发送完毕(一次完整测量结束) */
@@ -81,15 +119,16 @@ typedef NS_ENUM(NSInteger , ELBodyFatScaleBleDataType) {
ELBodyFatScaleBleDataType_ReceivedDataResult = 0xFE ,
/** 设备上发错误码 */
ELBodyFatScaleBleDataType_MCUBackErrorCode = 0xFF ,
};


typedef NS_ENUM(NSInteger , ELHMIBodyFatScaleBleDataType) {
/** APP请求支持的显示项 */
ELBodyFatScaleBleDataType_MCUBackSupportDataList = 0x11 ,
ELHMIBodyFatScaleBleDataType_MCUBackSupportDataList = 0x11 ,
/** 6.1.11APP下发显示项和顺序 */
ELBodyFatScaleBleDataType_DeliverDisplayItemsTheirSequence = 0x10 ,
ELHMIBodyFatScaleBleDataType_DeliverDisplayItemsTheirSequence = 0x10 ,
};


//MCU请求App用户信息状态
typedef NS_ENUM(NSUInteger, BodyFatScaleMCURequestUserInfoStatus) {
BodyFatScaleMCURequestUserInfoStatus_Get = 0x01, //MCU requests App user information(MCU请求App用户信息)
@@ -143,5 +182,17 @@ typedef NS_ENUM(NSUInteger, BodyFatScaleRole) {
BodyFatScaleRole_Pregnancy = 0x03,//Pregnancy(孕妇)
};

typedef NS_ENUM(NSUInteger, BodyFatScaleSetMode) {
BodyFatScaleSetMode_BodyFat = 0x00,
BodyFatScaleSetMode_HoldBaby = 0x01,
BodyFatScaleSetMode_EnableHoldBaby = 0x02,
};

typedef NS_ENUM(NSUInteger, BodyFatScaleMCUBackSetModeResult) {
BodyFatScaleMCUBackSetModeResult_Success = 0x00,
BodyFatScaleMCUBackSetModeResult_Failure = 0x01,
BodyFatScaleMCUBackSetModeResult_Support = 0x02,
BodyFatScaleMCUBackSetModeResult_NotSupport = 0x03,
};

#endif /* ELBodyFatScaleBleHeader_h */

+ 83
- 1
AILinkBleSDKDemo/AILinkBleSDK.framework/Headers/ELBodyFatScaleBleManager.h Zobrazit soubor

@@ -27,6 +27,24 @@ NS_ASSUME_NONNULL_BEGIN

#pragma mark 回调A7指令数据

- (void)bodyFatScaleManagerCallBackSynUserSuccess;

// 蓝牙回复0x34 指令
- (void)bodyFatScaleManagerCallBackSendUserListVersion:(NSData *)playLoadData;

/**
6.1.23MCU切换用户()
*/
//- (void)bodyFatScaleManagerCallBackMCUchangeUserAction;


- (void)bodyFatScaleManagerCallBackMCUchangeUserActionWithuserID:(NSData *)userIDData;

/**
APP下发用户头像名称版本
*/
- (void)bodyFatScaleManagerCallBackindicatoruserAvatarAndNicknameWithData:(NSData *)data isNeedTochanege:(BOOL)haveto;

/**
Callback to set unit result(回调设置单位结果)

@@ -46,7 +64,11 @@ MCU requests user information( MCU 请求用户信息)
Return weight and body fat model(返回重量及体脂model)
*/
-(void)bodyFatScaleManagerCallBackWeight:(ELBodyFatScaleBleWeightModel *)weightModel state:(BodyFatScaleMeasureStatus)status;

/**
Return weight and body fat model(返回重量及体脂model)
isRequires 0x01:需要体脂数据
*/
-(void)new_bodyFatScaleManagerCallBackWeight:(ELBodyFatScaleBleWeightModel *)weightModel state:(BodyFatScaleMeasureStatus)status mcuRequiresBodyFatData:(BOOL)isRequires;

/**
Return temperature (unit: ° C)(返回温度(单位:°C))
@@ -78,6 +100,19 @@ MCU requests user information( MCU 请求用户信息)
1:超重
*/
-(void)bodyFatScaleManagerCallBackErrorCode:(NSInteger)code;

/**
Callback to set body fat mode result(回调设置体脂/抱婴模式结果)

@param result 结果
*/
-(void)bodyFatScaleManagerCallBackSetMode:(BodyFatScaleSetMode)setMode result:(BodyFatScaleMCUBackSetModeResult)result;

/**
Return weight model for baby(返回婴儿重量model)
*/
-(void)bodyFatScaleManagerCallBackWeightForBaby:(ELBodyFatScaleBleWeightModel *)weightModel;

#pragma mark 回调A6指令数据

/**
@@ -119,6 +154,9 @@ MCU requests user information( MCU 请求用户信息)
*/
- (void)bodyFatScaleManagerCallBackReportingMode:(NSInteger)mode;

/** MCU 返回Device 的屏幕分辨率
*/
- (void)bodyFatScaleManagerCallBackResolutionOfDevice:(NSInteger)width height:(NSInteger)height;

/** MCU 返回支持数据类型列表
*/
@@ -127,6 +165,10 @@ MCU requests user information( MCU 请求用户信息)
/** MCU 返回显示项和顺序
*/
- (void)bodyFatScaleManagerCallBackDisplayItemOrder:(NSMutableArray*)dataList;

/** MCU 返回需要体脂数据 0x01:需要体脂数据
*/
- (void)bodyFatScaleManagerCallBackMCURequiresBodyFat:(NSInteger)op;
@end


@@ -142,6 +184,8 @@ MCU requests user information( MCU 请求用户信息)

#pragma mark ============ 下发A7指令 ==============
- (void)changeBodyFatScaleUnit:(ELDeviceWeightUnit)unit;


- (void)sendCurrentUserToBle:(ELBodyFatScaleBleUserModel *)usr;

-(void)sendReceivedDataResult:(BOOL)result;
@@ -150,6 +194,44 @@ MCU requests user information( MCU 请求用户信息)
//APP下发显示项和顺序(0x10)
- (void)readDeliverDisplayItemsTheirSequence;
- (void)sendDeliverDisplayItemsTheirSequence:(NSMutableArray*)dataList;

- (void)sendBodyFatMode;
- (void)sendHoldBabyMode;
- (void)sendEnableHoldBabyMode;

//发用户头像名称版本(0x15)
- (void)sendDataToAskUserIconAndNickNameWithPlayLoadData:(NSData *)data;

//回复MCU: 切换用户
- (void)replayMCUChangeUserCommand;

// 7.26 增加下发语言指令
- (void)sendToSetCurrentLanguageWithType:(NSInteger)languageType;


// APP请求同步历史记录
-(void)sendA7Cmd_RequestHistory;

// APP A7下发同步用户 0x12
- (void)sendCurrentA7UserToBle:(ELBodyFatScaleBleUserModel *)usr;

// APP A7下发同步用户 0x13
- (void)setCurrentA7UserToBle:(NSUInteger )usrID;

-(void) sendOfflineUserListA7ToBle:(NSArray <ELBodyFatScaleBleUserModel *> *)userListArr;
// 7.26 APP请求当前分辨率(0x30)
- (void)sendToAskFoResolutionFromDevice;

// 是否有 更新启动图片(0x02)
- (void)sendDataToAskIsSetPic:(NSInteger)picType;

- (void)sendReceivedWeightForBabyResult:(BOOL)result;

//新增:0x34 APP下发当前用户列表版本
//新增:0x34 APP下发当前用户列表版本
-(void)sendCurrentUserListVersionWith:(NSInteger)mainUserID md5FormerFourData:(NSData *)data;
-(void)sendCurrentUserVersion:(NSArray <ELBodyFatScaleBleUserModel *> *)userListArr;

#pragma mark ============ 下发A6指令 ==============

-(void)sendOfflineUserListToBle:(NSArray <ELBodyFatScaleBleUserModel *> *)userListArr;

+ 3
- 1
AILinkBleSDKDemo/AILinkBleSDK.framework/Headers/ELBodyFatScaleBleUserModel.h Zobrazit soubor

@@ -24,7 +24,9 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic, assign) NSUInteger age; //Age 28 (only counts for the whole year)(年龄28(只算整年))
@property (nonatomic, assign) NSUInteger height; //Height 170 (Unit fixed to death: cm, accuracy 1)(身高170(单位定死:cm,精度1))
@property (nonatomic, assign) NSUInteger weight; //Weight 562 (Unit fixed death: kg, accuracy 0.1) 120lb-》 54.4lkg-》 545(体重562(单位定死:kg,精度0.1) 120lb-》54.4lkg-》545)

@property (nonatomic, assign) NSUInteger goalWeight;
//初始体重
@property (nonatomic, assign) NSUInteger weightFirst;
@property (nonatomic, assign) NSUInteger adc;//Impedance 1230 (accuracy is 1Ω)(阻抗1230(精度为 1Ω))

@end

+ 78
- 0
AILinkBleSDKDemo/AILinkBleSDK.framework/Headers/ELEightScaleBleBfrDataModel.h Zobrazit soubor

@@ -69,6 +69,84 @@ NS_ASSUME_NONNULL_BEGIN
/** 身体年龄 */
@property (nonatomic, assign) int bodyAge;

/** 脂肪量 kg */
@property (nonatomic, assign) float fatMass;

/** 体水分量 kg */
@property (nonatomic, assign) float bodyWaterWeight;

/** 骨盐量 kg */
@property (nonatomic, assign) float boneSaltContent;

/** 无机盐 kg */
@property (nonatomic, assign) float inorganicSalts;

/** 蛋白质量 kg */
@property (nonatomic, assign) int proteinContent;

/** 肌肉量 kg */
@property (nonatomic, assign) float muscleMass;

/** 去脂体重 kg */
@property (nonatomic, assign) float leanBodyMass;

/** 骨骼肌 kg */
@property (nonatomic, assign) float skeletalMuscle;

/** 身体得分 */
@property (nonatomic, assign) int physicalScore;

/** 身体质量指数(精度0.1kg/m^2) */
@property (nonatomic, assign) float bodyMassIndex;

/** 标准体重 */
@property (nonatomic, assign) int standardWeight;

/** 肌肉控制 */
@property (nonatomic, assign) int muscleControl;

/** 腰臀比 */
@property (nonatomic, assign) float whr;

/** 体型控制 */
@property (nonatomic, assign) int bodyShapeControl;

/** 脂肪控制 */
@property (nonatomic, assign) int fatControl;

/** 体重控制 */
@property (nonatomic, assign) int weightControl;

/** 左上脂肪占比 */
@property (nonatomic, assign) float upperLeftFatPercentage;

/** 右上脂肪占比 */
@property (nonatomic, assign) float upperRightFatPercentage;

/** 躯干脂肪占比 */
@property (nonatomic, assign) float trunkFatPercentage;

/** 左下脂肪占比 */
@property (nonatomic, assign) float lowerLeftFatPercentage;

/** 右下脂肪占比 */
@property (nonatomic, assign) float lowerRightFatPercentage;

/** 左上肌肉占比 */
@property (nonatomic, assign) float leftUpperMusclePercentage;

/** 右上肌肉占比 */
@property (nonatomic, assign) float rightUpperMusclePercentage;

/** 躯干肌肉占比 */
@property (nonatomic, assign) float trunkMusclePercentage;

/** 左下肌肉占比 */
@property (nonatomic, assign) float leftLowerMusclePercentage;

/** 右下肌肉占比 */
@property (nonatomic, assign) float rightLowerMusclePercentage;

@end



+ 6
- 2
AILinkBleSDKDemo/AILinkBleSDK.framework/Headers/ELHygrothermographBleManager.h Zobrazit soubor

@@ -60,8 +60,12 @@ NS_ASSUME_NONNULL_BEGIN
/** 返回设备采样频率和保存频率 */
- (void)hygrothermographManagerReturnSamplingFrequency:(NSInteger)sampling saveFrequency:(NSInteger)save timeInterval:(NSInteger)timeInterval;

/** 返回温湿度校准值 */
- (void)hygrothermographManagerReturnCalibrationValueWithTem:(float)tem hum:(float)hum;
/** 返回温湿度校准值
* @param celsiusCalibrationValue : 温度偏置,单位摄氏度
* @param fahrenheitCalibrationValue : 温度偏置,单位华氏度
* @param humCalibrationValue : 湿度偏置
*/
- (void)hygrothermographManagerReturnCalibrationValueWithCelsiusTem:(float)celsiusCalibrationValue fahrenheitTem:(float)fahrenheitCalibrationValue hum:(float)humCalibrationValue;

/** 返回设备信息 */
- (void)hygrothermographManagerReturnDevType:(enum Hygrothermograph_DevType)type version:(NSString *)version IMEI:(NSString *)IMEI;

+ 3
- 0
AILinkBleSDKDemo/AILinkBleSDK.framework/Headers/ELSDKHeader.h Zobrazit soubor

@@ -13,6 +13,9 @@

//Bluetooth command type(蓝牙指令类型)
typedef NS_ENUM(NSUInteger, ELInetBleDataType) {
ELInetBleDataPackHead_A5 = 0xA5,
ELInetBleDataPackTail_5A = 0x5A,
ELInetBleDataPackHead_A6 = 0xA6,
ELInetBleDataPackTail_6A = 0x6A,
ELInetBleDataPackHead_A7 = 0xA7,

binární
AILinkBleSDKDemo/AILinkBleSDK.framework/Info.plist Zobrazit soubor


binární
AILinkBleSDKDemo/AILinkBleSDK.framework/PrivacyInfo.bundle/Info.plist Zobrazit soubor


+ 4
- 4
AILinkBleSDKDemo/DeviceDemo/28_Hygrothermograph/HygrothermographVC.m Zobrazit soubor

@@ -120,7 +120,7 @@
self.state = state;
}

///回调扫描到的身高体脂秤
///回调扫描到的温湿度计
- (void)hygrothermographManagerScanDevices:(NSArray<ELPeripheralModel *> *)scanDevices {
for (ELPeripheralModel *model in scanDevices) {
if ([model.macAddress isEqualToString:self.per.macAddressString]) {
@@ -150,7 +150,7 @@
}

// BM设备返回设备状态
- (void)newTHManagerReturnDevStatePower:(int)power bootTime:(long long)time tem:(float)tem unit:(enum ELDeviceTemperatureUnit)unit hum:(float)hum devState:(enum TH_DevStateType)state {
- (void)newTHManagerReturnDevStatePower:(int)power bootTime:(long long)time tem:(float)tem unit:(enum ELDeviceTemperatureUnit)unit hum:(float)hum devState:(enum TH_DevStateType)state isCharging:(BOOL)isCharging {
NSString *log = [NSString stringWithFormat:@"hygrothermograph power:%d time:%lld tem:%f unit:%ld hum:%f state:%ld", power, time, tem, (long)unit, hum, (long)state];
NSLog(@"%@", log);
[self addLog:log];
@@ -255,8 +255,8 @@
}

/// 设备返回温度校准值
- (void)hygrothermographManagerReturnCalibrationValueWithTem:(float)tem hum:(float)hum {
NSString *log = [NSString stringWithFormat:@"设备返回温度校准值 tem: %f hum: %f", tem, hum];
- (void)hygrothermographManagerReturnCalibrationValueWithCelsiusTem:(float)celsiusCalibrationValue fahrenheitTem:(float)fahrenheitCalibrationValue hum:(float)humCalibrationValue {
NSString *log = [NSString stringWithFormat:@"设备返回温度校准值 celsiusTem: %f fahrenheitTem: %f hum: %f", celsiusCalibrationValue, fahrenheitCalibrationValue, humCalibrationValue];
[self addLog:log];
}


+ 1
- 0
README.md Zobrazit soubor

@@ -17,3 +17,4 @@
| 1.9.0(Demo v1.9.2) | 20240628 | larry | 修改 增加 温湿度计 Demo |
| 1.10.0 | 20240910 | larry | 修改 增加 带屏食物探针盒 多探针盒子 |
| 1.11.0 | 20250305 | larry | WIFI 血压计 Demo 优化;SDK问题修复 |
| 1.12.6 | 20260715 | cyc | 优化温湿度计丢数据问题 修复温湿度校准设置协议解析问题 |

Načítá se…
Zrušit
Uložit