pigpioのインストール
以前より温めている、バイクガレージのシャッターと照明と換気扇を制御するデバイスを作りたい。
なので、一番近そうなdevice-composed-wc-lightテンプレートをベースにする。
スイッチ関係の制御にgpioが必須。しかもシャッター開度をHCSR04で計測しようと目論んでいるのでpigpioを使用したいのだけど、Raspberry Pi 5が出てからaptからインストールできなくなってしまったようだ。
なので、ソースからビルドしてインストールする他ない。
セットアップにPythonを使用しているので、あらかじめPythonをインストールしておく。
sudo apt install python3-setuptools
あとは、ソースをダウンロードしてインストール。
wget https://github.com/joan2937/pigpio/archive/master.zip
unzip master.zip
cd pigpio-master
make
sudo make install
setup.pyがエラーになるので、追加で以下を実行
sudo pip install --break-system-packages .
インストールできたことを確認する。
sudo ./x_pigpio # C言語インタフェースのチェック
pigpiod -v # バージョンの確認
sudo pigpiod # デーモン起動
node.jsの方もインストール。
npm install pigpio
node.jsのpigpioはデーモンを使用しないので、これ以降手順は行わないのが正解だが、
参考のために残しておく。
./x_pigpiod_if2 # C言語でのデーモンへのインタフェースのチェック
./x_pigpio.py # Pythonでのデーモンへのインタフェースのチェック
./x_pigs # pigsでのデーモンへのインタフェースのチェック
./x_pipe # パイプでのデーモンへのインタフェースのチェック
サービス登録するために、エディタでファイルを作成。
sudo nano /lib/systemd/system/pigpiod.service
ファイルが開いたら、以下を入力。
[Unit]
Description=Daemon required to control GPIO pins via pigpio
[Service]
ExecStart=/usr/local/bin/pigpiod
ExecStop=/bin/systemctl kill -s SIGKILL pigpiod
Type=forking
[Install]
WantedBy=multi-user.target
サービス有効化し、起動する。
sudo systemctl enable pigpiod
sudo systemctl start pigpiod
今回はこれだけ。