- 1. 一、产品概述
- 2. 1.1 简介
- 3. 1.2 基本参数
- 4. 1.3 Interface描述
- 5. 1.4 产品应用Scenarios
- 6. 1.5 控制器Function简单说明
- 7. 1.6 上位机简介
- 8. 二、应用Scenarios
- 9. 2.1 简述
- 10. 2.2 Scenarios一:直接电脑端上位机debug测试
- 11. 2.3 Scenarios二:控制器+RS485 电路用于工业领域
- 12. 2.4 Scenarios三:控制器+单片机实现复杂的Function
- 13. 三、上位机使用说明
- 14. 3.1 键值学习和测试
- 15. 3.2 键值学习状态查询
- 16. 3.3 键值改名
- 17. 3.4 export导入Infrared学习码库文件
- 18. 四、简码CommunicationProtocol
- 19. 4.1 CommunicationProtocolformat
- 20. 4.2 CommunicationProtocol,命令详述
- 21. 五、MODBUS CommunicationProtocol
- 22. 5.1 CommunicationProtocol简述
- 23. 六、尺寸图
- 24. 七、附件
- 25. 7.1 简码Protocol的Verification calculation方法,累加和校验
- 26. 八、版本历史
- 27. KIR01 万能Infrared学习控制器上位机软件
一、产品概述
1.1 简介
KIR01 控制器是一款万能型Infrared遥控学习控制器,支持普通 NEC Coding的InfraredRemote Control的学习,也支持Air Conditioner的长码Coding的学习。之后根据指令重新将学习的键码send出去,以实现Remote Control的Copy或者集成到智能设备中。具有多种控制方式,串口简码或者 485+MODBUS,并配合提供的上位机软件,能轻松的实现产品的开发,大大的降低了新产品的开发难度。
说明书Download
1.2 基本参数
- 供电方式:DC 7-24V 100mA(静态电流<10mA,发射电流 600mA)
- 遥控距离:单向发射头 8 米距离,4 向发射头半径 6 米。另外可选配更远距离的发射头,最远可达 20 米
- Communication方式:485 Communication,MODBUS Protocol+简码CommunicationProtocol,8 位data,1 位stop bit,无奇偶check digit
- 控制方式:485 的 MODBUS 控制、电脑端控制、板内扩展 TTL 串口控制
- Baud rate:2400、4800、9600(出厂默认)、19200、115200
- Coding方式:支持 NEC、Air Conditioner码、RC-5、RC-6、PWM、PPM 等等绝大部分InfraredRemote Control
- 载波频率:38KHz
- 键值quantity:可学习并储存 48 个键值
1.3 Interface描述
- 485 Interface:用于 485 Communication控制的Interface,2 线。接线时需要注意线序,A 接 A,B 接 B,线序不对会造成无法Communication。
- 电源Interface:用于给设备供电的Interface,2 个脚,可以不分正负极,直流或者交流,7-24V 电源(最高输入电压不得超过 26V),电流不小于 400mA。
- address拨码:MODBUS Communication控制时用到的Communicationaddress=拨码address+软件设置address。软件设置address默认是 1。
- Infraredreceive头:进行Remote Control学习时,需要用Remote Control对准receive头,距离 1 米远按Remote Control,进行遥控按键学习。
- 工作指示灯:控制器通电的时候闪一下,学习Remote Control的时候常亮,学习成功就熄灭,发射Infrared信号会闪一下。
- 发射头Interface:需要注意接线的正负极,线序接错了会造成无法发射Infrared信号。如果connect发射头,红线接+,黑线接-;如果connect发射管,长脚接+,短脚接-。Infrared光信号人眼无法看到,但是手机摄像头可以看到微弱的紫色光,所以有时候需要Confirm发射头是否能发射Infrared信号,可以用手机摄像头观察。
1.4 产品应用Scenarios
- Smart Home产品:如多FunctionRemote Control魔方、万能Remote Control等。此应用ScenariosRecommended for use单片机+控制器,采用串口简码CommunicationProtocol。
- 工业控制产品:如Air Conditioner控制器,Temperature & Humidity机控制器,恒温恒湿控制器。
- 万能Remote Control:如将多款设备集合到一个Remote Control里面。
- Industrial Control管理:如档案管理室,远程的 ERP 控制设备;学校宿舍统一管理Air Conditioner。
1.5 控制器Function简单说明
- connect上位机:通过串口链接上位机软件,可以实现参数配置、键值学习、键值测试、CommunicationProtocoldebug、Infrared码库的export、导入。方便批量的配置控制器工作参数和导入Infrared学习码库data。控制器和上位机软件都支持 2 种CommunicationProtocol。
- CommunicationProtocol:通过串口控制设备的时候串口data type支持 2 种CommunicationProtocol,由短路点决定。
- 简码CommunicationProtocol:55 AA 03 01 03(发射键值 01)CommunicationProtocol比较简单,带有check digit,简单可靠,适合单片机控制。
- MODBUS Protocol:采用标准的工业控制 MODBUS-RTU Protocol,方便直接将产品应用到工业领域,无需过多开发。
- 学习遥控键值:进入Infrared学习后,将Remote Control对准Infraredreceive头,距离 1 米,轻点需要学习的按键即可。
- 测试遥控键值:对应的键值学习成功之后,可以通过上位机或者button测试对应的键值,将Infrared发射头对准设备,然后测试发射。
- 测试按键:控制器上面有个按键,长按按键进入键值 0 的学习状态,短按按键则发射键值 0(前提是键值 0 已经学习成功)。
- 485 address:这个是 MODBUS Protocol下effective,Communicationaddress=软件配置的address偏移量+拨码address+1(addresseffective范围 1-250)。
1.6 上位机简介
“Infrared遥控学习管理器”是一款 windows system PC 端的一款软件,方便用户更快速的上手使用Infrared学习控制器而研发的。通过该软件可以非常方便的测试,和配置Infrared学习控制器,还能很方便的批量DownloadInfrared学习码库,以实现高效率研发、生产产品。
二、应用Scenarios
2.1 简述
由于控制器支持的Interface多,可以应用于多种Scenarios,不同的Scenarios使用的方式不同,下面根据对应的Scenarios进行说明。
2.2 Scenarios一:直接电脑端上位机debug测试
此应用Scenarios通常用于控制器初期开发测试,需要自备一个 USB 转串口Tools,Recommended for use CH340 RelatedTools,并进行接线。其中 CFG 引脚是用于选择CommunicationProtocol方式的引脚,控制器支持 2 种CommunicationProtocol,简码CommunicationProtocol比较简单可靠,能通过单片机串口send简单的指令就能effective控制;MODBUS Protocol则是工业领域应用广泛的一种Protocol,但编程稍微复杂,可以根据需要选择合适自己的一套CommunicationProtocol,并且需要修改上位机软件所处的Protocol状态。
- CFG 低电平:选择简码Protocol
- CFG 高电平:选择 MODBUS Protocol
接线接好之后,将串口Tools插上电脑 USB 口,并且安装好串口Tools的驱动,选择对应的 COM 口和Baud rate,点击“Open the serial port”button,再点击“读取信息”button,如果能读取设备信息,则代表设备connect成功,不能读取则检查接线、驱动、参数Related是否有误。
在上位机软件界面,最底下有对应Operation的串口指令首发具体data内容:
- 示例一:modbus Protocolsend键值 0
- 电脑send:
- 0x00 address 00 设备(00 address是广播address)
- 0x06 Operation码 06,写保持register
- 0x00,0xC8 register 200,对应的是发射Infrared信号键值 0
- 0x00,0x01 data内容 01
- 0xC8,0x25 CRC-16-Modbus-Rtu 检验data
- 控制器针对电脑send:
- 0x05 address 05 设备
- 0x06 Operation码 06,写保持register
- 0x00,0xC8 register 200,对应的是发射Infrared信号键值 0
- 0x00,0x01 data内容 01
- 0xC8,0x70 CRC-16-Modbus-Rtu 检验data
- 示例二:简码Protocolsend键值 0
- 电脑send:
- 0x55,0xAA 固定的data头
- 0x03 Operation码 03,sendInfrared键值
- 0x00 键值 0
- 0x02 累加和校验,0X55+0XAA+0X03+0x00=0x102,只保留一byte就是 0x02
- 控制器针对电脑send:
- 0x55,0xAA 固定的data头
- 0x03 Operation码 03,sendInfrared键值
- 0x01 结果值:1 send成功,0 send失败
- 0x02 累加和校验,0X55+0XAA+0X03+0x01=0x103,只保留一byte就是 0x03
2.3 Scenarios二:控制器+RS485 电路用于工业领域
此Scenarios常用于Industrial Control领域,比如Remote controlAir Conditioner、加湿机针对档案管理室、变电站、机房进行恒温恒湿控制。无需额外加单片机,不需要开发单片机代码,直接加电源电路、RS485 电路即可。
2.4 Scenarios三:控制器+单片机实现复杂的Function
此应用Scenarios常用于Smart Home、Industrial Control领域,通过单片机挂载其他的Sensors可以轻松实现复杂的Function。比如单片机挂载语音识别模块,再挂载控制器,则可实现语音控制Air Conditioner,台灯,风扇……。
- 此模式下建议短接短路点,采用简码CommunicationProtocol,开发简单。
- 接Industrial Control主机,或者电脑端的 USB 转 485 设备。
三、上位机使用说明
使用 USB 转 485 Tools进行connect,将 USB 插上电脑,打开Resources包里面有驱动,安装完驱动之后打开上位机软件,选择对应的串口号,设置出厂默认的Baud rate 9600,点击打开button,之后点击读取信息,Display Devicesconnect成功。
3.1 键值学习和测试
ClickStart learningbutton,则控制器会进入Infrared学习的状态,此时指示灯亮,需要在 20 秒内将被学习的Remote Control对准控制器的receive头,距离 1 米,轻点Remote Control按键,学习成功之后控制器指示灯熄灭。之后将控制器的发射头对准被测试equipment,点击测试键值,如果设备有相应的反应,则代表学习成功,若学习失败,请重试学习步骤,重新学习。
在上位机的最下方有串口Communicationdata收发信息显示(下面仅以简码Protocol做说明,Modbus 类似):
- 发:[0x55,0xAA data头]+[0x02 命令(进入Infrared学习)]+[0x04 键值 4]+[0x05 校验]
- 收:[0x55,0xAA data头]+[0x02 命令(进入Infrared学习)]+[0x01 Operation结果effective]+[0x02 校验]
- 发:[0x55,0xAA data头]+[0x03 命令(发射Infrared信号)]+[0x04 键值 4]+[0x06 校验]
- 收:[0x55,0xAA data头]+[0x03 命令(发射Infrared信号)]+[0x01 Operation结果effective]+[0x03 校验]
3.2 键值学习状态查询
Click“读取学习状态”button,可查询 48 个键值的学习状态,打钩的代表已经学习。
在下方会有收发信息,55 AA 为data头,01 是指令码,代表查询学习状态,后面 8 bytesdata转换成 8 个 8 位,一共 64 位binary数,代表:键值 63、键值 62、键值 61、键值 60……键值 2、键值 1、键值 0 共 64 个键值的学习状态。1 为学习成功,0 代表没有学习,因为 IR02 只有 48 个键,所以 8 bytesdata只有低位的 6 个byteeffective。
- TX:55 AA 01 00
- RX:55 AA 01 00 00 80 00 00 00 01 03 84
上图 8 个data:00 00 80 00 00 00 01 03,取右边 6 byte 80 00 00 00 01 03 表示 48 键学习状态,转换成 2 进制是:
- 1000 0000
- 0000 0000
- 0000 0000
- 0000 0000
- 0000 0001
- 0000 0011
代表键值 0、1、8、47 键值已经学习成功。
3.3 键值改名
为了方便使用Infrared控制器,上位机软件上面的键值名称可以被修改并保存。
3.4 export导入Infrared学习码库文件
为了方便批量生产产品,免除反复的进行遥控学习,通过上位机的Infrared学习码库管理,可以轻松地批量Download码库文件。首先取一个控制器,将需要学习的键值All学习并测试通过,之后点击“从设备export所有的学习码库”button,等待exportComplete,之后点击保存button,文件会以当前日期time命名并且保存到软件所在的目录位置,之后可以自行修改文件名称,存档备用。然后可以更换成其他的控制器,再点击“导入学习码库到设备”button,进行其他控制器的快速配置。码库导入export的时候可以将Baud rate设置最高,以加快速度,导完了之后改为低Baud rate。
四、简码CommunicationProtocol
当焊接了短路点时,CommunicationProtocol运行于简码Protocol。
4.1 CommunicationProtocolformat
协定一套CommunicationProtocol,为的是更可靠的将Infrared学习控制器与 MCU 控制器进行Communication,Protocol码由:start码(2 bytes)+指令码(1 byte)+data码(n byte)+校验码(1 byte)组成。并且一条指令,需要在 100mS 内sendComplete,超时未send完的,视为Invalid指令。
- start码:0x55, 0xAA
- 指令码:
- 0x01:查询Infrared学习键值
- TX:0x55,0xAA,0x01,0x00
- RX:0x55,0xAA,0x01,【0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF】,0xFD
- 0x02:指定键值进入学习状态
- TX:0x55,0xAA,0x02,0x05,0x06
- RX:0x55,0xAA,0x02,【0x01】,0x02
- 0x03:指定键值发射Infrared信号
- TX:0x55,0xAA,0x03,0x05,0x07
- RX:0x55,0xAA,0x03,【0x01】,0x08
- 0x04:设置CommunicationBaud rate
- TX:0x55,0xAA,0x04,0x02,0x05
- RX:0x55,0xAA,0x04,【0x01】,0x06
- data码:不同的指令后面的data码quantity不同
- 校验码:校验码指的是从start码开始,到最后一个data码的 8 位累加和溢出值作为校验码。例如:0x55+0xAA+0x04+0x02+0x01 = 0x106,只取 8 位,就是 0x06
4.2 CommunicationProtocol,命令详述
| 命令 | 说明 | MCU/上位机 send | 控制器回码 |
|---|---|---|---|
| 1 | 查询Infrared学习结果 | 0x55,0xAA,0x01,0x00 | 无data bit 0x55,0xAA,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x13,0x13 8 bytesdata bit,转换成 64 位的binary数,就代表着 64 个键值的学习状态(IR02 有 48 个键),1 已学习,0 未学习。从最右边的data 0 位开始,至最左边的data 63 位,分别代表键值 0……键值 63。0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x13 表示键值 0、1、4 已学习,其他的键值未学习 |
| 2 | 指定对应的键值Start learningInfrared | 0x55,0xAA,0x02,0x05,0x06 1 byte的data bit,取值范围 0……47 | 0x55,0xAA,0x02,0x01,0x02 1 byte的data bit,若是 0 代表OperationInvalid(可能没有这个键值),1 代表Operationeffective(不代表学习成功了)。进入学习状态需要在 20 秒内进行键值学习,超时视为学习失败。 |
| 3 | 发射键值 | 0x55,0xAA,0x03,0x05,0x07 1 bytedata bit,data取值范围 0……47 | 0x55,0xAA,0x03,0x01,0x03 1 byte的data bit,若是 0 代表OperationInvalid(可能没有这个键值或没有学习),1 代表Operationeffective |
| 4 | 设置CommunicationBaud rate | 0x55,0xAA,0x04,0x02,0x05 1 bytedata bit 0:2400 1:4800 2:9600(出厂默认) 3:19200 4:115200 | 0x55,0xAA,0x04,0x01,0x04 1 bytedata bit,若是 1 表示成功,若是 0 表示修改失败 修改Baud rate之后,断电重启都是以新的Baud rate在工作 |
五、MODBUS CommunicationProtocol
控制器默认没焊接短路点,CommunicationProtocol运行于 Modbus-RTU Protocol。
5.1 CommunicationProtocol简述
采用标准 MODBUS-RTU CommunicationProtocol,能很方便的对接市面上大部分的工业设备,或者对接Configuration软件,甚至对接 PLC 设备。
| register address | PLCaddress | Operation码 | 说明 |
|---|---|---|---|
| 0 | 40001 | 03/06 | 485 Communicationaddress偏移量 |
| 1 | 40002 | 03/06 | 485 CommunicationBaud rate |
| 100 | 40101 | 06 | 键值 0 进入Infrared学习 |
| 101 | 40102 | 06 | 键值 2 进入Infrared学习 |
| …… | …… | …… | …… |
| 147 | 40248 | 06 | 键值 47 进入Infrared学习 |
| 200 | 40201 | 06 | 键值 0 发射Infrared信号 |
| 201 | 40202 | 06 | 键值 2 发射Infrared信号 |
| …… | …… | …… | …… |
| 247 | 40248 | 06 | 键值 47 发射Infrared信号 |
| 300 | 40301 | 03 | 键值 15……0 学习状态参数 |
| 301 | 40302 | 03 | 键值 31……16 学习状态参数 |
| 302 | 40303 | 03 | 键值 47……32 学习状态参数 |
| 303 | 40304 | 03 | 键值 63……48 学习状态参数 |
六、尺寸图

七、附件
7.1 简码Protocol的Verification calculation方法,累加和校验
u8 UartCrc(u8 *buf, u8 lenth) {
u8 temp = 0;
u8 i;
for (i = 0; i < lenth; i++) {
temp += buf[i];
}
return temp;
}
Uart1_Tx_Dat[0] = 0x55;
Uart1_Tx_Dat[1] = 0xAA;
Uart1_Tx_Dat[2] = 0x01;
Uart1_Tx_Dat[3] = UartCrc(Uart1_Tx_Dat, 3);
Uart_Sendstr_lenth(Uart1_Tx_Dat,4);
八、版本历史
- V1.0:2022.07.09 修订
- V1.1:2022.08.03 完善部分细节描述,更换部分图片,新增板载短路点焊接描述,新增简码CommunicationProtocol的描述
- V1.2:2023.02.18 新增控制器板载的串口 TTL 描述
Leave a Reply