connect the hardware
https://pi4j.com/1.2/images/j8header-zero-large.png, https://pi4j.com/1.2/images/j8header-photo-zero-large.png or following command show how to connect the PINs.
I got a KY-022 IR receiver and a unknown type IR sender. I think the symbol
DAT mean signal or data to be send, should connect to any GPIO pins in raspberry pi, while
- stand for
Ground or 0 votage.
VCC should be the positive votage, here in my case are both 5V.
install lircd service
I have seen people use
pigpio to control the IR. But in most case,
lirc should be a default choose.
Now the system should reboot.
configure the lircd remote
One may create a remote device file
/etc/lirc/lircd.conf.d/midea.lircd.conf to define the parameters/signal sequence for the remote device.
man lircd.conf to see the meaning of those configurations.
There mighe be already a configuration
devinput.lircd.conf which can be removed or disabled (rename to *.dist) without any concern.
raw_codes integer sequence, to understand it, see something like the NEC/RC-5 protocol.
For the IR sender follow NEC protocol, command
irrecord -d /dev/lirc0 ~/base.lircd.conf can be used to record the buttons. But in my case, the hardware do not send NEC codes, so when using
irrecord, I can not complete the collection parameter stage(the one
irrecord need you to randomly push buttons to get two rows of dots). People might suggest use
irrecord -f to force the raw codes mode, but it still do not work for me.
So I stopped the lirc with command
sudo systemctl stop lircd, and then use
mode2 -d /dev/lirc0 to collect the pulse/space data myself, that is how I got the
raw_codes above. The codes usually start with a pulse last for 890 ms and end with a pulse, then might be a space with randomly duration(should be the space between you to button press).
For a complex IR sender, like the one for Air Conditioners, the raw codes should be carefully analysised because when you press the same button twice, you might get different signals.
I attached following python script when plotting the signals.