Raspberry PiをIRリモコンにする
はじめに
LIRCを使ってRaspberry Piで赤外線の送受信するとこまで。
計画
スマートホーム化①
Google HomeとRaspberry Piで家電を操作する
目次
用意するもの
必要ならば
- ジャンパワイヤ
- ブレッドボード
ハードを整える
ハード面はこのサイトを参考にしました。(回路は全く同じ) make.bcde.jp
実際に使った電子部品など :
lircで赤外線受送信部分を作る
lircとは
LIRC is a package that allows you to decode and send infra-red signals of many (but not all) commonly used remote controls. (http://www.lirc.org/)
要はRaspberry Piを赤外線リモコンにするやつってこと。たぶん。
Raspberry Piにインストール
$ sudo apt install lirc
バージョンの確認
$ lircd -v lircd 0.9.4c
lircの設定を変更(/etc/lirc/lirc_options.confを編集する)
$ sudo emacs /etc/lirc/lirc_options.conf
[lircd]のところをこんな感じにする
[lircd] nodaemon = False driver = default device = /dev/lirc0 output = /var/run/lirc/lircd pidfile = /var/run/lirc/lircd.pid plugindir = /usr/lib/arm-linux-gnueabihf/lirc/plugins permission = 666 allow-simulate = No repeat-max = 600 #effective-user = #listen = [address:]port #connect = host[:port] #loglevel = 6 #uinput = ... #release = ... #logfile = ...
変えたのは
driver = default device = /dev/lirc0
使うピンの設定 /boot/config.txtを編集
$ sudo emacs /boot/config.txt
最後にこれを追加(ピンのところは自分で決めたピン)
#RemoteController dtoverlay=lirc-rpi dtparam=gpio_in_pin=22 dtparam=gpio_out_pin=23
再起動
$ sudo reboot
動作確認
$ sudo mode2 -d /dev/lirc0
受信モードになるので受信機にテレビのリモコンとか向けて赤外線を浴びせてみる
Using driver default on device /dev/lirc0 Trying device: /dev/lirc0 Using device: /dev/lirc0 Running as regular user pi space 16777215 pulse 3766 space 1921 pulse 441 space 482 pulse 465 space 1436 pulse 446 space 432 pulse 508 space 1443 pulse 489 space 466 pulse 431 ...
って感じで出てきたらOK
ちなみにlircの起動は
$ sudo /etc/init.d/lircd start
終了は
$ sudo /etc/init.d/lircd stop
リモコンの学習はirrecordでやってる記事も多いがうまくいかなかったので、さっきの受信モードで受信したデータを加工して設定ファイルを記述した。
このサイトを参考にした。
補足:irrecord で作成した定義ファイルではうまくいかないとき
のところを参考にしてファイルを作る。
部屋の照明を登録した。
lircを再起動して ちゃんと登録されたか見てみる
$ irsend list "" "" light tv
信号を送ってみる
$ irsend send_once light full
電気がついた!