рдореЗрд░рд╛ рдХрд╛рдо рдЕрдм рдпрд╣ рд╕реАрдЦрдирд╛ рд╣реИ рдХрд┐ рдШрд░ рдореЗрдВ рдПрдпрд░ рдХрдВрдбреАрд╢рдирд░ рдФрд░ рдЕрдиреНрдп рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдХрдорд╛рдВрдб рдХреИрд╕реЗ рднреЗрдЬреЗрдВред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдЗрди рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рдХреЗрд╡рд▓ IR рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рдкрд╛рд╕ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдФрд░ рдЖрдИрдЖрд░ рдЯреНрд░рд╛рдВрд╕реАрд╡рд░ рдврд╛рд▓ рд╣реИред рд▓реЗрдЦ рдореЗрдВ рдЖрдк рдХреЙрдиреНрдлрд╝рд┐рдЧрд░, рдЯреАрдо, рдЯрд┐рдкреНрд╕ рдФрд░ рдереЛрдбрд╝рд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕реЗ LIRC (рд▓рд┐рдирдХреНрд╕ рдЗрдиреНрдлреНрд░рд╛рд░реЗрдб рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓) рдФрд░ рдкрд╛рдпрдерди рд╣реЛрдЧрд╛ред
рдореИрдВрдиреЗ Google рдХреА рдорджрдж рд╕реЗ LIRC рдкрд╛рдпрд╛ред рдЕрдзреНрдпрдпрди рдХреЗ рджреМрд░рд╛рди, рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ LIRC IR рд╕рд┐рдЧреНрдирд▓ рдХреЗ рдЯреНрд░рд╛рдВрд╕рдореАрдЯрд░ рдФрд░ рд░рд┐рд╕реАрд╡рд░ рджреЛрдиреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдкреНрд░рд╛рдкреНрдд рд╕рд┐рдЧреНрдирд▓ рдХреЛ рдбреАрдХреЛрдб рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ рдХреБрдЫ рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЕрдм рдореБрдЭреЗ рд╕рд┐рдЧреНрдирд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рд╕реНрд╡рдпрдВ LIRC рдХреЗ рд╕рд╛рде рдЧрдбрд╝рдмрдбрд╝ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ LIRC рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЧрд╛рдЗрдб рдХреЛ рдкрдврд╝рдирд╛ рдЕрддреНрдпрдзрд┐рдХ рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╣реИред
рд╡рд┐рдиреНрдпрд╛рд╕
apt-get update apt-get install lirc
# /etc/modules ( ) lirc_dev lirc_rpi gpio_in_pin=18 gpio_out_pin=17
# /etc/lirc/hardware.conf ( , ) LIRCD_ARGS="--uinput --listen" LOAD_MODULES=true DRIVER="default" DEVICE="/dev/lirc0" MODULES="lirc_rpi"
# /boot/config.txt ( lirc, ) dtoverlay=lirc-rpi,gpio_in_pin=18,gpio_out_pin=17
# /etc/lirc/lirc_options.conf ( ) driver = default device = /dev/lirc0
reboot sudo /etc/init.d/lircd status
рдЕрднрд┐рд▓реЗрдЦ
рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЖрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдЕрдиреБрдХреНрд░рдореЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ lircd.conf
рдЬрд╛рд░реА рд░рдЦрддрд╛ lircd.conf
, рд▓реЗрдХрд┐рди рдкреНрд░рддреНрдпреЗрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдпрд╣ рд╕реНрд╡рдпрдВ рдХреА рдлрд╝рд╛рдЗрд▓ my_device_name.lircd.conf
/etc/lirc/lircd.conf.d
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдмрдирд╛рддрд╛ рд╣реИред
рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рд░реВрдк рдпрд╣рд╛рдБ рд╡рд░реНрдгрд┐рдд рд╣реИ ред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рд╣реИ, рддреЛ рдЖрдк irrecord рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░реЗрд╖рд┐рдд рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ ред
/etc/init.d/lircd stop irrecord -d /dev/lirc0 ~/my_device.lircd.conf mv ~/my_device.lircd.conf /etc/lirc/lircd.conf.d/
irrecord
рджреГрд╢реНрдпреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдФрд░ рд╕рдордп рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИред рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, irrecord
рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдиреБрдХреНрд░рдо рдХреЛ рд╕рд╣реЗрдЬрдирд╛ рд╕рдВрднрд╡ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдХрдЪреНрдЪреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рдХреЗ рд▓рд┐рдП --force
рд╕реНрд╡рд┐рдЪ рд╣реИред
рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ - irrecord
рд╕рд╛рде irrecord
рдХреБрдЫ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╡рд┐рдлрд▓ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдлрд┐рд░ рдЖрдк mode2
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдиреБрдХреНрд░рдо рд░рд┐рдХреЙрд░реНрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд╝рд╛рдЗрд▓ рд╕реНрд╡рдпрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
mode2
рдПрдХ рд╕рдВрдХреЗрдд рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдФрд░ рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХреА рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдкреНрд░реЗрд╖рд┐рдд рдбреЗрдЯрд╛ рдХреА рд░рдЪрдирд╛ рд╣реЛрддреА рд╣реИред рдЕрд╡рдзрд┐ рдХреЛ рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб (1e-6 рд╕реЗрдХрдВрдб) рдореЗрдВ рдорд╛рдкрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрдЪреНрдЪреЗ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ, рд╕рдорд╛рди рдЕрд╡рдзрд┐ рдХреЛ lircd.conf рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ 'рдкрд▓реНрд╕' рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ (рдЕрдЧреНрд░рдгреА 'рд╕реНрдкреЗрд╕' рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ)ред рддрджрдиреБрд╕рд╛рд░, рд╣рдореЗрд╢рд╛ рдПрдХ рд╡рд┐рд╖рдо рд╕рдВрдЦреНрдпрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП (рдпрд╣ рдПрдХ рд╕рдВрдХреЗрдд рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдФрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ - 'рдирд╛рдбрд╝реА')ред
рд╕реНрд╡рдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдИ рдЬреЛ рдХрдорд╛рдВрдб рдХреЗ рдирд╛рдо рдХреЗ рд▓рд┐рдП рдкреВрдЫрддреА рд╣реИ, 5 рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдореЛрдб 2 рдЪрд▓рд╛рддрд╛ рд╣реИ, рдпрд╛рдж рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдВрдд рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдХреЛ lircd.conf (рд╕реНрдкреЙрдЗрд▓рд░ рдХреЗ рддрд╣рдд рджреЗрдЦреЗрдВ) рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИред
irrecord --analyse
рдлрд╝рд╛рдЗрд▓ irrecord --analyse
, рддреЛ рдЖрдк irrecord --analyse
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ "рдкрд╣рдЪрд╛рди" рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╣рдореЗрд╢рд╛ рд╕рдлрд▓ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдкреБрд░рд╛рдиреА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдлреЗрдВрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд▓реНрджреА рдордд рдХрд░реЛред рдореЗрд░реЗ рдЖрдВрдХрдбрд╝реЗ рдпрд╣ рд╣реИрдВ: рдПрд▓рдЬреА рдЯреАрд╡реА рд╕реЗ рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдХреЛ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рдерд╛, рд╕рднреА рдПрдпрд░ рдХрдВрдбреАрд╢рдирд░ рдФрд░ рдПрдХ рд╡реИрдХреНрдпреВрдо рдХреНрд▓реАрдирд░ рдХреЗ рд▓рд┐рдП рдореИрдиреНрдпреБрдЕрд▓ рдирд┐рд░реНрдорд╛рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рд╡реИрдХреНрдпреВрдо рдХреНрд▓реАрдирд░ рдХреЛ рддрдм - --analyse
рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ: рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдлрд╝рд╛рдЗрд▓ рдореЗрд░реЗ рд╡реИрдХреНрдпреВрдо рдХреНрд▓реАрдирд░ рдХреЗ рд▓рд┐рдП рджрд┐рдЦрддреА рд╣реИ ред
рдорд╛рдирдХ рдЯреАрдо рдХреЗ рдирд╛рдо
рдЕрдкрдиреЗ рдЗрдЪреНрдЫрд┐рдд рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП, LIRC рдХреЛ рдкреНрд░рд╛рдкреНрдд рдФрд░ рдорд╛рдиреНрдпрддрд╛ рдкреНрд░рд╛рдкреНрдд IR рд╕рд┐рдЧреНрдирд▓ рдХреЛ рд▓рд┐рдирдХреНрд╕ рдЗрдирдкреБрдЯ рдЗрд╡реЗрдВрдЯ рдореЗрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рд▓рд┐рдП, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╣рдореЗрдВ рдорд╛рдирдХ рд╕реВрдЪреА рд╕реЗ lircd.conf рдореЗрдВ рдХрдорд╛рдВрдб рдирд╛рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЖрдк рдорд╛рдиреНрдп рдирд╛рдореЛрдВ рдХреА рд╕реВрдЪреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
irrecord --list-namespace
рдПрдпрд░ рдХрдВрдбреАрд╢рдирд░ рдЗрд╕ рдкреИрдЯрд░реНрди рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдирд╣реАрдВ рдЖрддреЗ рд╣реИрдВред рд▓рд┐рдЦрддреЗ рд╕рдордп рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝рдХрд░ рдирд╛рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
irrecord --disable-namespace ....
рдбрд┐рдмрдЧрд┐рдВрдЧ
рд░рд┐рд╕реАрд╡рд░ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ mode2
рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╕рднреА рджреГрд╢реНрдп рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИред
/etc/init.d/lircd stop mode2 -d /dev/lirc0
рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╣реИ рдЕрдЧрд░ рдЙрд╕ рдкрд░ рдПрдХ рдФрд░ рд░рд┐рд╕реАрд╡рд░ рдФрд░ mode2
рдЪрд▓ рд░рд╣рд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЖрдк GPIO рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдорд╛рди рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдкрд░реАрдХреНрд╖рдХ рдпрд╛ рдСрд╕рд┐рд▓реЛрд╕реНрдХреЛрдк рдХреЗ рд╕рд╛рде рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рд┐рдЧреНрдирд▓ рдХрд╣рд╛рдБ рдЬрд╛рддрд╛ рд╣реИред Gpio рдЯреАрдо wiringpi рдкреИрдХреЗрдЬ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред
while sleep 1; do gpio -g toggle 17 done
рдЖрдк рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, journalctl
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд▓реЙрдЧ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд╕реЗ рдЖрдк рд╡рд┐рдиреНрдпрд╛рд╕ рдлрд╛рдЗрд▓ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
journalctl -b 0 /usr/sbin/lircd
рдЖрджреЗрд╢ рднреЗрдЬ рд░рд╣рд╛ рд╣реИ
рд░рд┐рдХреЙрд░реНрдбреЗрдб рдХрдорд╛рдВрдб рдЯреНрд░рд╛рдВрд╕рдорд┐рдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ irsend
рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╣реИред рд╡рд╣ рдЬреНрдЮрд╛рдд рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП рдЬреНрдЮрд╛рдд рдЖрджреЗрд╢реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рднреА рджрд┐рдЦрд╛ рд╕рдХрддреА рд╣реИред рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ "рдЦрд╛рд▓реА рддрд░реНрдХ" рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ, рд╡реЗ рд╡рд╣рд╛рдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВред
irsend
рдХрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдХреБрдЫ рдЧрд▓рдд рд╣реБрдЖ рд╣реИ, рддреЛ рд▓реЙрдЧ рдореЗрдВ рджреЗрдЦреЗрдВ (рдКрдкрд░ рджреЗрдЦреЗрдВ)ред
рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ, рдПрдХ рдФрд░ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ - рдЗрд╕рдХреЗ рд╕реЙрдХреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрджреЗрд╢ рднреЗрдЬреЗрдВред рдореЗрд░реА рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ред
рдЕрдЬрдЧрд░ рд╕реЗ рдмреБрд▓рд╛рдУ
рд▓рдЧрднрдЧ рд╕рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ irsend
рдкрд░ рд╕рд┐рд░реНрдл рдПрдХ рдХрд┐рдЯ рд╣реИрдВред рдПрдХрдорд╛рддреНрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЬреЛ рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рд╕реЙрдХреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (lircd рдХреЗ рджреВрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)ред рдЗрд╕рд▓рд┐рдП, рдЙрдирдореЗрдВ рдмрд╣реБрдд рдХрдо рд╕рдордЭ рд╣реИ; рдореИрдВ рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдЖрджреЗрд╢ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ:
import subprocess subprocess.call(["irsend", "send_once", "BEDROOM_AC", "OFF"])
рд╣рд╛рд░реНрдбрд╡реЗрдпрд░

рдореИрдВ рдПрдХ рддреИрдпрд╛рд░ рдмреЛрд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдЙрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрдореЗрдЬрд╝реЕрди рдФрд░ рдЕрд▓реАрдПрдХреНрд╕рдкреНрд░реЗрд╕ рдкрд░ рд╣реИрдВ ред рдЖрдк рдЗрд╕реЗ "рд░рд╛рд╕реНрдкрдмреЗрд░реА рдЕрд╡рд░рдХреНрдд рд╢реАрд▓реНрдб" рдХреА рддрд░рд╣ Google рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП GPIO 17, рдФрд░ рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП GPIO 18 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдХреЗ рд╡рд┐рдиреНрдпрд╛рд╕ рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рджреВрд╕рд░реЗ (рдЕрддрд┐рд░рд┐рдХреНрдд) рдПрд▓рдИрдбреА рдбреА 2 рдХреЗ рд▓рд┐рдП рдмреЛрд░реНрдб рдкрд░ рдПрдХ рдЬрдЧрд╣ рд╣реИ, рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИред рджреЛ рдПрд▓рдИрдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рд╡реЗ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдЬреБрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдПрд▓рдИрдбреА рдбреА 2 рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдкрдХреЛ рдЬрдореНрдкрд░ рдПрд╕рдЬреЗ 1 рдХреЛ рдмрдВрдж рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдореБрдЭреЗ рдпрд╣ рдЬрд╛рдирдХрд░ рдЖрд╢реНрдЪрд░реНрдп рд╣реБрдЖ рдХрд┐ рдореЗрд░реЗ рд╕рднреА рдмреЛрд░реНрдбреЛрдВ рдкрд░ рд╢реБрд░реВ рдореЗрдВ рдЬрдореНрдкрд░ рдЦреБрд▓рд╛ рдерд╛ред рдореБрдЭреЗ рдЯрд╛рдВрдХрд╛ рд▓рдЧрд╛рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрд╣реЗ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рдкрдбрд╝рд╛ред
рдПрдХ рдирдЬрд╝рд░ рд▓реЗрдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдмрдбрд╝реА рддрд╕реНрд╡реАрд░ рдкрд░рд┐рдгрд╛рдо
рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рд╕рд┐рдЧреНрдирд▓ рдкреНрд░реЗрд╖рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдбрд┐рд╡рд╛рдЗрд╕ рдЗрд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ рдФрд░ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рддреЗ рд╣реИрдВред
рдбрд╛рдпреЛрдб рдПрдорд┐рдЯрд░ рдХреА рд╕реНрдерд┐рддрд┐ рдкрд░ рдмрд╣реБрдд рдХреБрдЫ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕реЗ рд░рд┐рд╕реАрд╡рд░ рдкрд░ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЯреНрд░рд╛рдВрд╕рдореАрдЯрд░ рдХрдорд░реЗ рдХреЗ рд╕рднреА рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдЧреИрдЬреЗрдЯ рдХреЗ рд▓рд┐рдП рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╕рдорд╛рдзрд╛рди рдХреЛ рдХреНрд▓реЛрди рдХрд░рдирд╛ рдорд╣рдВрдЧрд╛ рд╣реИ, рдЖрдкрдХреЛ рдпрд╛ рддреЛ рдПрдорд┐рдЯрд░ рдХреЛ "рдПрдХ рдмрдбрд╝реЗ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ" рдХреЗ рд▓рд┐рдП рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╛ рдПрдХ рд╕рд╕реНрддрд╛ рдордВрдЪ рдвреВрдВрдврдирд╛ рд╣реЛрдЧрд╛ред
LIRC рдореВрд▓ рд░реВрдк рд╕реЗ рдЗрдирдкреБрдЯ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдорд╛рдирдХ рд▓рд┐рдирдХреНрд╕ рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЖрдИрдЖрд░ рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рд▓рд┐рдП, рдпрд╣ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд╣реИ рдХрд┐ рдПрдХ рдмрдЯрди рдПрдХ рдХреЛрдб рд╣реИред рдХреБрдЫ рдЙрдкрдХрд░рдгреЛрдВ (рдЕрдзрд┐рдХрд╛рдВрд╢ рдПрдпрд░ рдХрдВрдбреАрд╢рдирд░) рдХреЗ рд▓рд┐рдП рдпрд╣ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ: рдЬрдм рдЖрдк рдХрд┐рд╕реА рднреА рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдбреЗрдЯрд╛ рдкреИрдХреЗрдЯ рдХреЛ рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рдкреВрд░реНрдг рд╕реНрдерд┐рддрд┐ (рдЪрд╛рд▓реВ, рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдореЛрдб, рддрд╛рдкрдорд╛рди, рдкреНрд░рд╢рдВрд╕рдХ рдСрдкрд░реЗрд╢рди рдореЛрдб, рд╕рдордп, рдЯрд╛рдЗрдорд░, рдЖрджрд┐) рддрдХ рдкрд╣реБрдВрдЪрд╛рддрд╛ рд╣реИред LIRC рдореЗрдВ рдХрдИ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдорд▓реНрдЯреА-рдХрдВрдкреЛрдиреЗрдВрдЯ рдкреИрдХреЗрдЬ рдмрдирд╛рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдмреЙрдХреНрд╕ рд╕реЗ рдПрдХ рддреНрд╡рд░рд┐рдд рдЯреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЖрдкрдХреЛ рдХреБрдЫ рдФрд░ рджреЗрдЦрдирд╛ рд╣реЛрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП, рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рд╢рдВрд╕рдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдФрд░ рдмрд┐рдирд╛ рд╡рд┐рджреЗрд╢реА рдореЛрдб рдХреЗ рд╕рд╛рде рд░рд┐рдХреЙрд░реНрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдбреЗрдЯрд╛ рдХрд╛рдлреА рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред