音声ではnature remoと Googlehomeで「ねえGoogleエアコンを暖房にしてとか」「ねえGoogleエアコンを24度にしてとか」できるので、テーマはいいなと思い実装することにした。
Indoor Corgiさんのサイトから引用
ここは色々と参考になります。サンプルをちょっと加工するだけで動く、=さすが企業。
社員の三谷さんには昨年アドバイス頂きました。参考サイトは以下
https://www.indoorcorgielec.com/resources/raspberry-pi/aircond-control/
【テーマ Indoor Corgiさんと同じ:時間は変えてます。】
・朝7時に温度を測定し、11℃未満なら暖房をONする
・早朝01時に自動的にエアコンOFFする
前提条件は人が居る時、
人感センサーは2号機、RPZ-IR-SensorRev2は1号機なので情報連携にはMariaDBを使います。
補足
夏Verも夏に導入しようと考えています。
1.赤外線制御ソフトウェア「cgir」をインストール
sudo python3 -m pip install -U cgir
2.赤外線制御の為に「pigpio」のサービスをスタート&起動時自動立ち上げ
sudo systemctl start pigpiod
sudo systemctl enable pigpiod
3.赤外線コードを登録する。夏はcooler_onとかにしよう。以下実行。
cgir rec heater_on
i@raspberrypi:~ $ cgir rec heater_on
------------------------------------
赤外線コード"heater_on"を受信中... 受信機に向けて赤外線を送信して下さい.
受信コード
[3400, 1750, 380, 1350, 390, 1350, 380, 470, 380, 470, 390, 470, 380, 1350, 380, 470, 380, 470, 380, 1350, 380, 1300, 390, 470, 380, 1350, 390, 470, 390, 470, 380, 1350, 380, 1350, 390, 460, 390, 1350, 380, 1350, 380, 470, 380, 480, 380, 1350, 390, 470, 380, 520, 340, 1350, 380, 480, 380, 470, 390, 470, 380, 470, 390, 460, 390, 470, 390, 470, 390, 470, 380, 470, 380, 470, 390, 470, 380, 470, 380, 480, 380, 470, 380, 470, 380, 470, 380, 470, 380, 480, 380, 470, 380, 440, 420, 1350, 390, 470, 390, 470, 390, 470, 390, 470, 380, 470, 390, 1350, 380, 480, 410, 440, 390, 1350, 390, 470, 380, 480, 380, 1350, 390, 1350, 380, 470, 410, 1300, 380, 470, 380, 470, 380, 470, 380, 480, 380, 470, 380, 480, 380, 470, 380, 480, 380, 470, 390, 470, 380, 470, 390, 470, 390, 470, 380, 470, 390, 470, 380, 470, 380, 470, 390, 1350, 410, 1300, 380, 470, 380, 470, 390, 470, 380, 470, 390, 480, 380, 470, 380, 480, 380, 470, 380, 470, 380, 470, 390, 470, 390, 470, 380, 480, 380, 470, 380, 470, 390, 470, 390, 470, 390, 470, 380, 470, 390, 470, 390, 470, 380, 470, 390, 470, 380, 480, 380, 470, 380, 470, 380, 480, 380, 470, 380, 480, 380, 470, 390, 470, 390, 470, 380, 470, 390, 470, 390, 470, 390, 470, 380, 1400, 330, 480, 380, 480, 380, 470, 380, 1350, 390, 1350, 390, 470, 380, 470, 380, 470, 390, 470, 390, 470, 380, 480, 380, 470, 380, 470, 380, 470, 390, 470, 380, 480, 390, 470, 380, 480, 380, 470, 390, 470, 380, 1350, 380, 1350, 380, 480, 380, 470, 390, 1350, 390, 1350, 380, 480, 380, 13000, 3400, 1750, 380, 1350, 390, 1350, 390, 470, 390, 470, 380, 470, 380, 1350, 380, 480, 380, 480, 380, 1350, 390, 1350, 380, 480, 380, 1350, 380, 470, 380, 470, 390, 1350, 390, 1350, 390, 470, 390, 1300, 390, 1350, 380, 470, 380, 480, 380, 1350, 380, 470, 380, 480, 380, 1350, 380, 470, 390, 470, 380, 470, 390, 470, 390, 470, 380, 470, 380, 480, 380, 470, 380, 470, 380, 470, 390, 470, 390, 470, 380, 470, 380, 470, 380, 470, 390, 470, 390, 470, 380, 470, 390, 470, 380, 470, 390, 1350, 390, 470, 380, 470, 380, 470, 380, 470, 380, 470, 380, 1350, 390, 470, 390, 470, 390, 1350, 380, 470, 390, 470, 390, 1350, 380, 1350, 390, 470, 380, 1350, 390, 470, 380, 470, 380, 470, 390, 470, 390, 470, 390, 470, 410, 450, 380, 470, 390, 470, 410, 450, 380, 480, 380, 470, 390, 470, 390, 470, 390, 470, 390, 470, 380, 470, 390, 1350, 380, 1350, 380, 470, 380, 470, 390, 470, 390, 470, 380, 470, 390, 470, 380, 470, 390, 470, 390, 470, 380, 470, 380, 480, 380, 470, 380, 470, 390, 470, 390, 470, 380, 470, 390, 460, 390, 470, 390, 470, 390, 470, 380, 470, 410, 440, 390, 470, 380, 430, 420, 470, 380, 470, 390, 470, 380, 470, 390, 470, 390, 470, 390, 470, 380, 470, 390, 470, 390, 470, 410, 440, 410, 450, 390, 1350, 380, 470, 390, 470, 390, 470, 390, 1350, 380, 1350, 390, 470, 380, 480, 380, 470, 390, 470, 380, 470, 390, 470, 380, 470, 390, 470, 380, 480, 380, 470, 390, 470, 390, 470, 380, 480, 380, 480, 380, 470, 390, 1350, 380, 1350, 380, 470, 380, 470, 390, 1350, 390, 1350, 390, 470, 390]
Format AEHA
Frame#1 0x23, 0xCB, 0x26, 0x01, 0x00, 0x20, 0x48, 0x16, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x03, 0x00, 0x66
Frame#2 0x23, 0xCB, 0x26, 0x01, 0x00, 0x20, 0x48, 0x16, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x03, 0x00, 0x66
赤外線コード "heater_on" を登録しました.
4.OFFも登録する。
cgir rec aircond_off
pi@raspberrypi:~ $ cgir rec aircond_off
------------------------------------
赤外線コード"aircond_off"を受信中... 受信機に向けて赤外線を送信して下さい.
受信コード
[3400, 1750, 380, 1350, 380, 1350, 380, 470, 380, 480, 380, 470, 380, 1300, 400, 470, 380, 480, 380, 1350, 390, 1350, 380, 480, 380, 1350, 380, 470, 380, 470, 380, 1350, 390, 1300, 400, 470, 380, 1350, 380, 1350, 390, 470, 390, 480, 380, 1350, 380, 470, 390, 470, 390, 1350, 390, 470, 380, 480, 380, 470, 390, 470, 380, 480, 380, 470, 380, 470, 380, 470, 390, 470, 380, 470, 380, 470, 380, 480, 380, 470, 390, 470, 390, 470, 380, 520, 330, 480, 390, 470, 380, 470, 380, 470, 390, 470, 390, 470, 390, 470, 380, 470, 390, 470, 390, 470, 380, 1350, 390, 480, 380, 480, 380, 1350, 390, 470, 380, 480, 380, 1350, 390, 1350, 390, 480, 380, 1350, 380, 470, 390, 470, 390, 470, 380, 470, 380, 470, 390, 470, 390, 470, 380, 480, 380, 470, 390, 470, 390, 470, 390, 470, 390, 460, 390, 480, 380, 470, 380, 480, 380, 480, 380, 1400, 340, 1350, 390, 480, 380, 480, 380, 470, 390, 470, 380, 470, 380, 480, 380, 470, 380, 470, 390, 470, 380, 480, 390, 470, 390, 470, 390, 470, 380, 470, 390, 470, 380, 470, 380, 470, 390, 470, 390, 470, 380, 520, 340, 470, 390, 470, 380, 470, 390, 470, 380, 470, 390, 470, 380, 470, 380, 470, 380, 480, 380, 480, 380, 470, 380, 480, 380, 470, 380, 470, 390, 470, 380, 480, 380, 1350, 380, 480, 380, 470, 380, 470, 380, 1350, 390, 1350, 380, 480, 380, 470, 390, 470, 390, 470, 380, 470, 390, 470, 390, 440, 420, 470, 380, 470, 380, 470, 390, 470, 380, 480, 380, 470, 380, 470, 390, 470, 380, 1350, 380, 1350, 390, 470, 390, 470, 380, 470, 380, 1350, 380, 470, 390, 13000, 3400, 1750, 390, 1350, 380, 1350, 390, 470, 380, 470, 390, 470, 390, 1250, 440, 470, 380, 480, 380, 1350, 380, 1350, 380, 480, 380, 1350, 380, 470, 390, 460, 390, 1350, 380, 1350, 380, 470, 380, 1350, 390, 1350, 380, 470, 390, 470, 380, 1350, 380, 470, 380, 470, 380, 1350, 380, 470, 380, 430, 420, 480, 380, 470, 380, 480, 380, 470, 390, 470, 380, 470, 380, 470, 380, 480, 380, 470, 380, 480, 380, 470, 380, 470, 390, 460, 390, 470, 380, 480, 380, 470, 390, 460, 390, 470, 380, 470, 390, 460, 390, 470, 390, 470, 380, 470, 380, 480, 380, 1350, 380, 470, 380, 470, 380, 1350, 380, 480, 390, 470, 380, 1350, 380, 1350, 390, 470, 380, 1350, 390, 470, 390, 470, 390, 470, 380, 480, 380, 480, 380, 480, 380, 470, 380, 480, 380, 470, 380, 470, 380, 480, 380, 470, 380, 480, 380, 470, 380, 470, 380, 480, 390, 470, 390, 1350, 380, 1350, 380, 470, 390, 470, 390, 470, 380, 480, 380, 480, 380, 470, 380, 470, 390, 470, 390, 470, 380, 480, 380, 470, 380, 480, 380, 480, 380, 470, 380, 480, 380, 520, 340, 470, 380, 470, 380, 470, 390, 470, 390, 470, 380, 470, 390, 470, 390, 470, 380, 470, 390, 470, 380, 470, 380, 470, 380, 480, 380, 470, 390, 470, 380, 480, 380, 470, 380, 480, 380, 470, 390, 470, 380, 1350, 380, 470, 380, 470, 380, 470, 390, 1350, 380, 1350, 380, 470, 380, 470, 390, 470, 380, 470, 380, 480, 380, 470, 380, 470, 380, 470, 380, 440, 420, 470, 390, 430, 420, 520, 330, 480, 380, 480, 380, 520, 340, 1350, 380, 1300, 420, 470, 380, 470, 390, 470, 390, 1350, 380, 470, 390]
Format AEHA
Frame#1 0x23, 0xCB, 0x26, 0x01, 0x00, 0x00, 0x48, 0x16, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x03, 0x00, 0x46
Frame#2 0x23, 0xCB, 0x26, 0x01, 0x00, 0x00, 0x48, 0x16, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x03, 0x00, 0x46
赤外線コード "aircond_off" を登録しました.
5.テスト オン オフ
以下を設定
sudo vim /lib/systemd/system/pigpiod.service
1)2行目のDescription行の次の行に「After=multi-user.target」を追加
2)ExecStart行の最後に「-t 0」を追加
[Unit]
Description=Daemon required to control GPIO pins via pigpio
After=multi-user.target
..
ExecStart=/usr/bin/pigpio -l -t 0
3)エアコン オン オフ うまくいったぞ。
cgir send heater_on
cgir send aircond_off
cron登録以降はステップで。
ちなみに 人感センサーの誤検知(しばらく悩んでいた)はフェライトコアで解消することが判明。
2025/1/9 朝8:00は誤検知解消していた。 以降 誤検知している。
2025/1/10 フェライトコアをGPIO(Output)に正しく装着。 今のところ、誤検知していない。
2025/1/11 フェライトコアで精度はあがったとは思うが、誤検知している。
HC-SR501は実用的ではないですね。 ぼくのアイリスオーヤマのこたつの人感センサーは精度いいのにね。
もう売ってないみたいね。
https://www.amazon.co.jp/gp/product/B0099JWZTC/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1
2025/1/11 カメラとAIで人を検知させることにした。 決意。 2025/1/12 実装完了。
https://qiita.com/m_sunafukin77/items/291f101f88b31a3b008b
参考サイト
https://www.souichi.club/raspberrypi/watch-over-07/