shutdownコマンドやpoweroffコマンドででLinuxを落とした後、RaspberryPi CM4外付けの電源回路を自動でオフする方法です。
バッテリなどで使用している場合にとても便利です。
Pi_nLED_Activityピン
Pi_nLED_Activityを利用します。
SBCのRaspberryPi 3やRaspberryPi 4でピコピコ光るLEDと同じです。
このピコピコLEDが変化しなっくなったらシャットダウンが完了したとみなして、
外付けの電源回路をオフしてしまいます。

RaspberryPi部の回路
とても単純です。
LEDのカソード側(LEDがある場合)を出力するだけです。
ただ、LEDがあるとPi_nLED_Activityが遮断された時に電流がほんとに流れなくっなてしまうことがあるので
念のために抵抗をLEDと並列に接続しておきます。

電源制御部の回路
+5Vはもちろんモバイルバッテリなどの5Vに直接接続します。
常時電源がオンになっていることが必要です。
Pi_nLED_Activityは、
前章のRaspberryPiのPi_nLED_Activityに接続します。
RaspberryPi GPIOは、
RaspberryPiのGPIOに接続します。ここで気を付けなくてはけないこととして、
RaspberryPiのGPIOは電源投入しHi.(PullUp)またはlo.(PullDown)のどちらかになりますが、
必ずlo.(PullDown)のピンを接続してください。
nPWR_OFFは、
のコンバータのENピンを制御します。FETで直接入力電源ラインを切ってもよいかもしれません。
コンデンサ10 uF x3個と100 kohmで時定数が3 Secになります。
LVCのL->Hの閾値は電源の50%くらいになり、自然対数で約0.7です。
よってPi_nLED_ActivityがHi.になったあとおおよそ約2.1 Secで電源オフします。
DIODEはSN74LVC1G14のようなioff パーシャルパワーダウンタイプは不要ですが他のデバイスを使いたいときのために
念のため保険で付けています。

制御方法
以下のようなスクリプトを作成し実行してください。
gpio_numberは、前章のRaspberryPi GPIOの番号になります。
pass_wordはrootのパスワード(suになるときのパスワード)になります。
gpio_number=11
pass_word = "1234"
echo "${gpio_number}" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio${gpio_number}/direction
echo "1" > /sys/class/gpio/gpio${gpio_number}/value
pass=pass_word
echo $pass | sudo -S poweroff
sleep 1
コメントをお書きください