python-peripheryを使ってみる

オンボードLEDのLチカ

以下のコードでオンボードの赤のLEDをLチカすることができます。
LEDクラスの使いかたはこ ちらにあります。
#!/usr/bin/python
#-*- encoding: utf-8 -*-
from periphery import LED
import time
import signal
import sys

flag = True

def handler(signal, frame):
  global flag
  print('handler')
  flag = False

signal.signal(signal.SIGINT, handler)
# Open On Board LED "led0" with initial state off
led0 = LED("red-flash", False)

while flag:
  led0.write(0)
  time.sleep(1.0);

  led0.write(1)
  time.sleep(1.0);

led0.close()

python-peripheryはWiringPi(WiringOp)と違って、デバイスファイルを直接操作します。
上記のコードは、ライブラリ内部で以下のコマンドを実行しています。
$ sudo sh -c "echo 1 > /sys/class/leds/red-flash/brightness"
$ sudo sh -c "echo 0 > /sys/class/leds/red-flash/brightness"

/sys/class/leds をサポートしているOSならば、どのようなOSでもオンボードLEDをLチカすることができます。

続く...