空调红外码解析库接口参考

概述

空调红外码解析库包含 AndroidiOS 两个版本,主要是解析从云端下载下来的 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 获取到的红外码值,为十六进制字符串格式