Raspberry Pi 3 Model B
OS: Raspbian Stretch lite March 2018
各色のLEDに係るファイルは次のディレクトリに配置されているようである。
- 緑:/sys/class/leds/led0/
- 橙:/sys/class/leds/led1/
triggerファイルにはLEDを点滅させる切っ掛けが記されている。ブラケットに包まれた単語が切っ掛けとなるイベントで、デフォルトでは緑のLEDがmmc0
、オレンジのLEDはinput
が選択されていた。
$ cat /sys/class/leds/led0/trigger none (snip) default-on input panic mmc1 [mmc0] rfkill-any rfkill0 rfkill1 $ cat /sys/class/leds/led1/trigger none (snip) default-on [input] panic mmc1 mmc0 rfkill-any rfkill0 rfkill1
このファイルに対してトリガー名をリダイレクトすることで選択内容を変更することができる。
# echo none >/sys/class/leds/led0/trigger
mmc0はSDカードにアクセスがあった時に点滅するということである。inputの詳細は探し当てられなかったけれども、何しろinputであるからなんらかの入力であろうと思う。heartbeatやtimerを選択すると規則的な明滅となる。じいっと眺めているとまばゆさで目が潰れてしまう。
点滅の制御はbrightness
でおこなう。0から255までの値を取り0で消灯、1~255で点灯する。
$ sudo su -c "echo 0 > /sys/class/leds/led0/brightness" $ sudo su -c "echo 1 > /sys/class/leds/led0/brightness"
採用した値の大小で輝度が変えられるように見えるけれどもハードウェアがサポートしていないらしく明るさは一通りである。なおbrightnessの数値を0に変更するとtriggerは勝手にnone
へ変更されていた。
一秒おきに緑のLEDを明滅させる拙いシェルスクリプトled.sh
を拵えると概ねこんな具合となった。あとはsudo bash led.sh
で実行すると緑のLEDが設計通りに明滅を繰り返した。
#!/bin/bash if [ $(id -u) != '0' ]; then echo 'Run as root.' exit 1 fi GREEN='/sys/class/leds/led0' trap 'echo mmc0 > ${GREEN}/trigger; exit 1' 1 2 9 15 echo none > ${GREEN}/trigger while true do echo 0 > ${GREEN}/brightness sleep 1 echo 1 > ${GREEN}/brightness sleep 1 done