Raspberry Piの本体LEDは、OS(Raspbian)から動作を制御することができるので、その方法を記載する。
LED消灯手順
LEDを制御するためのファイルは以下に存在する。/sys/class/leds/led0 ←ACT LED / 緑色
/sys/class/leds/led1 ←PWR LED / 赤色
上記パスにあるtriggerというファイルに、LED点灯のトリガーが記載されているので確認してみよう。
$ cat /sys/class/leds/led0/trigger
------------------------------
none kbd-scrolllock kbd-numlock kbd-capslock kbd-kanalock kbd-shiftlock kbd-altgrlock kbd-ctrllock kbd-altlock kbd-shiftllock kbd-shiftrlock kbd-ctrlllock kbd-ctrlrlock timer oneshot heartbeat backlight gpio cpu0 cpu1 cpu2 cpu3 default-on input panic [mmc0] mmc1 rfkill0 rfkill1
------------------------------
$ cat /sys/class/leds/led1/trigger
------------------------------
none kbd-scrolllock kbd-numlock kbd-capslock kbd-kanalock kbd-shiftlock kbd-altgrlock kbd-ctrllock kbd-altlock kbd-shiftllock kbd-shiftrlock kbd-ctrlllock kbd-ctrlrlock timer oneshot heartbeat backlight gpio cpu0 cpu1 cpu2 cpu3 default-on [input] panic mmc0 mmc1 rfkill0 rfkill1
------------------------------
[]で囲まれた箇所が現在の設定となっており、led0はmmc0、led1はinputとなっていることがわかる。他にも多数の項目があるようだが、とりあえず消灯するだけであれば、"none"を選択すればよい。
なお、"none"の設定にした場合は、同一パスにあるbrightnessというファイルの設定も修正が必要となる。brightnessは0が消灯で0以外の数値(例えば1や255)が点灯となる。ACT LEDについては、デフォルトでbrightnessが0となっているので消灯する場合は設定は不要となるが、PWR LEDの場合は255で設定されているので、0に設定する。
以上をまとめると、以下3行のコマンドで両方のLEDの消灯が実現できる。
<ACT LEDを消灯>
$ echo none | sudo tee /sys/class/leds/led0/trigger
<PWR LEDを消灯>
$ echo none | sudo tee /sys/class/leds/led1/trigger
$ echo 0 | sudo tee /sys/class/leds/led1/brightness
<PWR LEDを消灯>
$ echo none | sudo tee /sys/class/leds/led1/trigger
$ echo 0 | sudo tee /sys/class/leds/led1/brightness
再起動後も消灯する方法
上記の消灯設定は、本体再起動をするとリセットされてしまう。再起動時にも消灯したい場合は、"rc.local"ファイルにコマンドを追記する。$ cat /etc/rc.local
------------------------------
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
# Turn off LED
echo none | sudo tee /sys/class/leds/led0/trigger ←★追記
echo none | sudo tee /sys/class/leds/led1/trigger ←★追記
echo 0 | sudo tee /sys/class/leds/led1/brightness ←★追記
exit 0
------------------------------
参考
・Controlling Raspberry Pi 2 LEDshttps://gist.github.com/taktran/1b691c08216dd30b70bf
0 件のコメント:
コメントを投稿