またラズパイを買い足してしまった。以前試してそのままになっていた赤外線リモコンの送受信を再度夏休みのレジャーで試してみようと思って。
買ったのはRaspberry Pi Zero WHというコンパクトで安い(1800円くらい)機種。この小ささ、安さでCPU1GHz,メモリ512MBというから素晴らしい。あとは専用の拡張ボードの赤外線+環境センサ「RPZ-IR-Sensor」Rev2.0(端子未実装)というもの。Amazonのリンクを貼っているけれど、SwitchScienceの方が安いかも。
ラズパイZeroはUSBがmicroB 1口のみ、HDMIがラズパイ4のmicro HDMIとも違うmini HDMIという特殊端子ということもあって、手持ちのキーボードやケーブルが使えない。また、スペックも低いのでデスクトップGUI環境ではなく、CUIのみとしたい。
ということで、OSはRaspberry Pi ImagerでLiteを選択。さらに起動時にssh有効化とWiFi接続をさせるために、OSを書き込んだmicroSDカードをMacで開いて、ファイル名sshの空ファイルと、他のラズパイからネットワークの設定ファイル(wpa_supplicant.conf)をコピーしてrootの直下に書き込んでから起動させる方法で無事にキーボード、モニタ接続なしでssh接続に成功した。(参考サイト:Raspberry Pi Zero WHをキーボードなしで初期設定してみる)
USBがmicroBしかないのでキーボードが接続できず。事前にsshとWiFiの設定を書き込んでおく技でssh接続に成功しました。OSはデスクトップ環境のないLiteです。 pic.twitter.com/ROSmd1OKwm
— ソウヘイ JH1CFV (@hsohei) August 12, 2021
拡張ボードのRPZ-IR-Sensorはピンソケットをハンダ付けしてPi Zeroと合体。
PythonからLチカはすんなり成功。BME280の環境センサとTSL2572の照度センサの値取得もスイッチサイエンスのサンプルプログラムでそのまま動作した。
とりあえずLチカまで。拡張ボードを付けると起動に失敗することがあるみたい。電源の問題? pic.twitter.com/zsUbyJ7M0u
— ソウヘイ JH1CFV (@hsohei) August 13, 2021
リモコンの赤外線信号の読み取りと送信は少し苦戦。最初LIRCを使おうと思ってサイトの手順通りに操作したけれど、LIRCのビルドがうまくいかずスタック。あれこれ検索して試してみたけれど、どうも動かない。サイトによってはLIRCはOSのバージョン等によってうまくいかないことがありビギナー向けではないと書いてある。
スイッチサイエンスのサポートページを良く読んだら、LIRCを使わないサンプルプログラムが載っていて、こちらはそのまま動作した。
最初にダイキンエアコン(型番)のリモコンの学習をさせてみたところ、信号はちゃんと記録されるけれど、送信してもエアコンが反応しない。ラズパイとエアコンを近づけたりしてもダメ。
試しに他メーカー(東芝)のエアコンでやってみると、ちゃんと学習した信号で反応する。リモコン式の照明も問題なし。かなり距離があってもちゃんと反応する。
ダイキンのリモコンだけ特殊なのかな。片方向だけだなく本体と双方向通信をしていたりするのかも。
ということで、環境情報の取得、赤外線リモコンの制御が可能になったので、あとは作り込みなんだけど、ここで夏休みは終わってしまったので、具体的な実装はヒマなときに考えたい。
Tweet実験中。 pic.twitter.com/znpAkoeR3V
— ソウヘイ JH1CFV (@hsohei) August 22, 2021