强大、稳定的开源万能家电红外遥控方案

IRext 覆盖 16 个主流家电种类、1000 多种品牌、6000 多种不同型号,总共支持多达数万家电的红外遥控

万能遥控从云到端的最佳实践

IRext 支持各类型终端设备连接到云
以获取红外遥控码,并进行在线和离线解码。

完整的编码扩充工具集

IRIS 是 IRext 的遥控码扩充工具集合,
支持远程编码学习、协议分析、编码压缩、编码验证的功能闭环。

快速集成和开发

开源社区的基于 IRext 的移动端和 ESP 的二次开源项目和文档,
帮助开发者快速将 IRext 的功能集成到自己的智能家具产品中。

统计数据

搭载 IRext 的设备数量
电器种类
品牌数量
型号数量
当月新增码
预备新增码
当月新增设备
各种类电器码库数占比

框架和实现

系统架构示例
解码示例

// index and download IR binary to ac.bin
...
t_remote_ac_status ac_status = {
    .ac_power = AC_POWER_ON,
    .ac_temp = AC_TEMP_24,
    .ac_mode = AC_MODE_COOL,
    .ac_wind_dir = AC_SWING_ON,
    .ac_wind_speed = AC_WIND_SPEED_AUTO,
    .change_wind_dir = TRUE,
};
FILE *ir_bin_file = NULL;
uint8_t* buffer = NULL;
uint16_t buffer_length = 1024;
uint16_t decoded_data[1024] = { 0 };
uint16_t decoded_length = 0;

ir_bin_file = fopen("ac.bin", "rb");
buffer = (uint8_t*) malloc(buffer_length);
fread(buffer, buffer_length, 1, ir_bin_file);
fclose(ir_bin_file);
ir_binary_open(CATEGORY_AC, SUB_CATE_0, buffer, buffer_length);
decoded_length = ir_decode(KEY_AC_POWER, decoded_data, &ac_status);
ir_binary_close();
...
ir_transmitter.transmit(decoded_data, decoded_length);

开源项目