## 概要
Raspberry Piで赤外線送受信、データ解析をするPythonパッケージとコマンドラインツールです。以下のことが可能になります。Raspberry Pi単体では赤外線送受信機能がないので、拡張基板(HAT)や外付け回路が必要です。赤外線は38kHzに対応しています。
- Raspberry Piからエアコン、テレビ、照明などを赤外線で操作
- リモコンで送信した赤外線データを記録する
- 記録した赤外線データを解析し、一部(エアコンの設定温度など)を変更して送信する

他のソフトウェアやセンサーと組み合わせることで、スマホから家電を操作するシステムや、室温が一定以上になったらエアコンを自動で入れる熱中症防止システムなどの応用も可能になります。

## バージョン2における変更点
以前はモジュールcgir.pyとツールcgirtool.pyを単体で配布していましたが、手動でモジュールを配置したりパスを通する必要がありました。

そこで、pipを使ってインストールできるようにパッケージ化しました。これによりインストールが簡単になったほか、`cgir`コマンドや`import cgir`によりパスを気にすることなく利用できるようになりました。

パッケージ化に伴いファイルの構成が変わっていますが、使用方法は変わりません。以前のバージョンはv2020_903タグを参照して下さい。

## 動作環境
Raspberry Pi OSの動作しているRaspberry Piと、赤外線送受信機能のある以下の拡張基板の組み合わせを想定しています。GPIO番号を変更することで他の拡張基板、HAT、自作回路でも利用可能です。

- Raspberry Pi用 人感/明るさセンサー/赤外線 拡張基板「[RPZ-PIRS](https://www.indoorcorgielec.com/products/rpz-pirs/)」

- Raspberry Pi用 温度/湿度/気圧/明るさ/赤外線 ホームIoT拡張ボード「[RPZ-IR-Sensor](https://www.indoorcorgielec.com/products/rpz-ir-sensor/)」

- Raspberry Pi用 温度/湿度/気圧/赤外線 ホームIoT拡張ボード「[RPi TPH Monitor](https://www.indoorcorgielec.com/products/rpi-tph-monitor-rev2/)」


## インストール
以下のコマンドでインストール/アップグレードできます。

`sudo python3 -m pip install -U cgir --break-system-packages`

## 前準備
本ソフトウェアはLIRCを利用します。
/boot/firmware/config.txtをスーパーユーザーで開き, 以下の行を追記して再起動します。
1行目で指定している4が受信用のGPIO番号、2行目の13が送信用のGPIO番号です。
Indoor Corgi製以外の拡張基板、自作回路の場合は使用しているGPIO番号に変更してください。

```
dtoverlay=gpio-ir,gpio_pin=4
dtoverlay=gpio-ir-tx,gpio_pin=13
```

## 使い方

### コマンドラインツール
インストールすると、`cgir`コマンドが使用可能になり、ターミナル等から赤外線送受信が可能になります。

コマンドラインツールの使い方は`cgir -h`もしくは[解説記事](https://www.indoorcorgielec.com/resources/raspberry-pi/python-pigpio-infrared)を参照して下さい。

### Pythonパッケージ
pythonスクリプトからは`import cgir`とすることでパッケージの機能を利用できます。使い方の詳細はソースコードを参照して下さい。


## 注意事項
赤外線送受信はメーカーや機器によって仕様が異なります。全ての機器での動作を保証するものではありません。
