No.530
RaspberryPi4BのACT-LEDをGPIOに出力してみました。
/boot/config.txtに設定を追加します。
以下はGPIO24(18番ピン)に出力する設定です。他のピンでも動くと思います。
$ sudo vi /boot/config.txt
# 末尾[all]の後に次を加えます。
dtparam=act_led_gpio=24
再起動すると基板上の緑のLEDの挙動がGPIO24に出ます。
やりたいことはUSB電源の制御で、カーネルが読み込まれたらONにし、カーネルが落ちたらOFFにしたいのです。再起動においてUSBデバイスをリセットするためにUSB電源を一度落とすことが目的です。
更に設定を追加してACT-LEDを常時点灯にすると求める動作を得られるようです。
$ sudo vi /boot/config.txt
dtparam=act_led_gpio=24,act_led_trigger=default-on,act_led=on
起動後にカーネルが読み込まれるとGPIOがHになり、シャットダウンもしくは再起動でカーネルが落ちるとLになります。それぞれのタイミングも良さそうです。
今日はLEDで出力を見ただけですが、実際にリレーを動かすならプルダウンした上にトランジスタ等でバッファする必要があるでしょう。
RaspberryPiのUSB電源はスクリプトで制御可能ですし、リレーを動かすだけならGPIOを操作すればいいのですが、各種モジュールが読み込まれる前に電源を投入し、各種モジュールが落ちてから電源を切りたいので意味が違います。
カーネルが落ちたらUSB電源も落ちればいいのですが、RaspberryPiのUSB電源はPWR-LEDの標準動作と同じ挙動っぽいので、今回はACT-LEDを用いることにします。
#RaspberryPi
/boot/config.txtに設定を追加します。
以下はGPIO24(18番ピン)に出力する設定です。他のピンでも動くと思います。
$ sudo vi /boot/config.txt
# 末尾[all]の後に次を加えます。
dtparam=act_led_gpio=24
再起動すると基板上の緑のLEDの挙動がGPIO24に出ます。
やりたいことはUSB電源の制御で、カーネルが読み込まれたらONにし、カーネルが落ちたらOFFにしたいのです。再起動においてUSBデバイスをリセットするためにUSB電源を一度落とすことが目的です。
更に設定を追加してACT-LEDを常時点灯にすると求める動作を得られるようです。
$ sudo vi /boot/config.txt
dtparam=act_led_gpio=24,act_led_trigger=default-on,act_led=on
起動後にカーネルが読み込まれるとGPIOがHになり、シャットダウンもしくは再起動でカーネルが落ちるとLになります。それぞれのタイミングも良さそうです。
今日はLEDで出力を見ただけですが、実際にリレーを動かすならプルダウンした上にトランジスタ等でバッファする必要があるでしょう。
RaspberryPiのUSB電源はスクリプトで制御可能ですし、リレーを動かすだけならGPIOを操作すればいいのですが、各種モジュールが読み込まれる前に電源を投入し、各種モジュールが落ちてから電源を切りたいので意味が違います。
カーネルが落ちたらUSB電源も落ちればいいのですが、RaspberryPiのUSB電源はPWR-LEDの標準動作と同じ挙動っぽいので、今回はACT-LEDを用いることにします。
#RaspberryPi