最終更新日:2021/10/11 08:51
# ラズパイでIoT(赤外線リモコン編1)
## はじめに
家の赤外線リモコンで動く家電等のリモコン、無くしませんか?無くしますよね?無くします。
しかも、いちいちリモコンのところまで行くのも面倒ですよね。
ネットワークに接続してあって、遠隔で操作できるリモコンがあったら便利だと思いませんか?
おもったなら作りましょう。人間ですもの。
## 用意するもの
| 概要 | 詳細 | 数量 | 用途 |
| :------------------: | :------------: | :---: | :---------------------------------------------: |
| Raspberry Pi | 4 | 1 | ネットワークにつなぎ、Linuxを動かし、GPIOで制御 |
| 赤外線LED | 503IRT2E-2AC | 6 | 赤外線を出し、家電等に信号を送る |
| 赤外線受光モジュール | TSOP38238 | 1 | リモコンの信号を記録するために使う |
| 抵抗 | $10\Omega$ | 2 | まあ色々使うよね |
| ^ | $1\rm k\Omega$ | 2 | ^ |
## 回路
回路図は以下のようになっている
![](WebPage/articles/ラズパイでIoT赤外線リモコン編1/image/赤外線リモコン.svg)
青の点線内は[TSOP38238](https://www.vishay.com/docs/82491/tsop382.pdf)という赤外線受光モジュール
## Raspberry Piの設定
今回必要になるのは
- python3
- pigpio
の二つ
現時点(2020/02/22)の時点ではpython3はlinuxではデフォルトとなっていないので注意が必要
Linuxのデフォルトはよ移行しろ
### python3
```
sudo apt install python3
```
これで最新版のpython3が入る
インストールされているか確認するため
```
python3 -V
```
を実行し、バージョンが表示されればOK
python3のコードを実行する際は
```
python3 xxxx.py
```
のようにして実行する、 `python xxxx.py` で実行するとpython2で実行される可能性がある、デフォルトになっていないため
Linuxのデフォルトはよ移行しろ
### pigpio
これはpythonでraspberry piのGPIOを制御するためのモジュール
```
sudo apt install pigpio python3-pigpio
```
でインストール
インストールが完了したら、pigpioのデーモンを起動しておく
```
sudo systemctl start pigpiod
```
デーモンの起動をRaspberryPi起動時に自動的にするように設定しておくと便利
```
sudo systemctl enable pigpiod.service
```
## 制御
pigpioの製作者様が制作した[irrp.py](http://abyz.me.uk/rpi/pigpio/examples.html#Python_irrp_py)というものを利用した
これ以降、`irrp.py`があるディレクトリにてコマンドを実行する
### リモコンの学習
今回の回路でリモコンの学習をさせるには
```
python3 irrp.py -r -g26 -f codes {保存する命令の名前} --no-confirm --post 130
```
を実行して受光モジュールに記録させたいリモコンの信号を送る
それぞれの引数の意味は以下
| 引数 | 意味 |
| :---------------------------- | :------------------------------------------------------ |
| -r | readの意味、読み込みモードで実行 |
| -g26 | `GPIO26`を使用する |
| -f codes {保存する命令の名前} | `codes`と言うファイルに`{保存する命令の名前}`で保存する |
| --no-confirm | 確認でもう一回記録することをしない |
| --post 130 | 記録を打ち切る時間の長さ、`130ms`信号がなければ終了 |
### 送信
記録した赤外線のコードを送信するには以下のコマンドを実行する
```
python3 irrp.py -p -g17 -f codes {保存した命令の名前}
```
引数の`-p`は記録したものを実行すると言う意味
## 参考にした記事
[格安スマートリモコンの作り方](https://qiita.com/takjg/items/e6b8af53421be54b62c9)