空调红外码解析库接口参考
概述
空调红外码解析库包含 Android
和 iOS
两个版本,主要是解析从云端下载下来的 gz
文件,从而获取空调支持的基本信息以及获取十六进制字符串格式的红外码值。
集成方式
Android
Android
版本包含 BLIrdaConLib.jar
和不同架构的 libBLIrdaConLib.so
,开发APP时将上述两个文件放到对应的工程文件目录下。
iOS
iOS
版本包含 libCloudCondition.a
和头文件 CloudCondition.h
,开发APP时将上述两个文件放到对应的工程文件目录下。
同时 APP 需要 Build Phases
-> Link Binary With Libraries
添加 libz.1.2.11.thd
库
接口介绍
1.传入文件的保存地址,并获取空调信息
首先需要先获取到该空调脚本支持的范围,在后续操作中,输入数据,不能超过该范围
public BLIrdaConProduct irda_con_get_info(String path)
- (NSDictionary *)getACInfoWithFilePath:(NSString *)path
参数说明:
参数 | 类型 | 备注 |
---|---|---|
path | String | gz文件存放路径 |
返回值说明:
Android
返回类 BLIrdaConProduct
, iOS
返回字典,均包含以下几个参数
参数 | 类型 | 备注 |
---|---|---|
name | String | 名称 |
status | Array | 空调开关状态 |
mode | Array | 支持的模式值 |
windspeed | Array | 支持的风速值 |
temperature | Array | 支持的温度值 — iOS 返回 |
min_temperature | int | 支持的温度最小值 — Android 返回 |
max_temperature | int | 支持的温度最大值 — Android 返回 |
其中支持的状态值含义如下:
/*空调开关状态*/
typedef NS_ENUM(NSUInteger, AC_SWITCH_STATE_E) {
AC_STATE_CLOSE, /*关闭*/
AC_STATE_OPEN /*开启*/
};
支持的模式值含义如下:
/*空调模式*/
typedef NS_ENUM(NSUInteger, AC_MODE_TYPE_E) {
AC_MODE_AUTO, /*自动*/
AC_MODE_COOL, /*制冷*/
AC_MODE_HUMIDITY, /*除湿*/
AC_MODE_WIND, /*通风*/
AC_MODE_HEAT /*加热*/
};
支持的风速值含义如下:
/*空调风速*/
typedef NS_ENUM(NSUInteger, AC_WIND_SPEED_E) {
AC_SPEED_AUTO, /*自动*/
AC_SPEED_LOW, /*低速*/
AC_SPEED_MID, /*中速*/
AC_SPEED_HIGH /*高速*/
};
支持的按键值含义如下:
/*按键类型*/
typedef NS_ENUM(NSUInteger, AC_KEY_E) {
AC_KEY_SWITCH, /*开关键*/
AC_KEY_MODE, /*模式键*/
AC_KEY_TEMP_ADD, /*温度加键*/
AC_KEY_TEMP_SUB, /*温度减键*/
AC_KEY_WIND_SPPED /*风速键*/
};
2.获取指定开关状态,模式,风速,温度值下的数据
Android 接口如下:
public byte[] irda_low_data_output(String path, int key, int freq, BLIrdaConState blIrdaConState)
参数说明:
参数 | 类型 | 备注 |
---|---|---|
path | String | gz文件存放路径 |
key | int | 空调按键值 |
freq | int | 红外码频率,38 |
blIrdaConState | BLIrdaConState | 空调状态类 |
BLIrdaConState 说明:
参数 | 类型 | 备注 |
---|---|---|
status | int | 空调开关状态 |
mode | int | 空调模式值 |
windspeed | int | 空调风速值 |
temperature | int | 空调温度值 |
返回值说明:
参数 | 类型 | 备注 |
---|---|---|
byte[] | 红外码二进制数据 |
iOS 接口如下:
- (NSDictionary *)getCodeWithFilePath:(NSString *)path state:(AC_SWITCH_STATE_E)state mode:(AC_MODE_TYPE_E)mode speed:(AC_WIND_SPEED_E)speed key:(AC_KEY_E)key temperature:(int)temp
参数说明:
参数 | 类型 | 备注 |
---|---|---|
path | String | gz文件存放路径 |
status | AC_SWITCH_STATE_E | 空调开关状态 |
mode | AC_MODE_TYPE_E | 空调模式值 |
windspeed | AC_WIND_SPEED_E | 空调风速值 |
temperature | int | 空调温度值 |
key | AC_KEY_E | 空调按键值 |
返回值说明:
参数 | 类型 | 备注 |
---|---|---|
code | int | 0-成功,其他失败 |
msg | String | 成功/失败信息 |
data | String | 获取到的红外码值,为十六进制字符串格式 |