Python で gpio
2019-6-13 2:00 JST
Python で GPIO を使う。
まず設定
shell で対応するのが簡単。番号と in/out はあらかじめわかっているものとする。
for i in 960 961 do echo $i > /sys/class/gpio/export echo out > /sys/class/gpio/gpio$i/direction done for i in 962 963 964 965 do echo $i > /sys/class/gpio/export echo in > /sys/class/gpio/gpio$i/direction done
Python でコントロール
割り込みで動く Python のプログラム。python2 だとうまく動かなかったので注意。ほんとうは poll で返ってきた fileno を使わないといけない。
epoll.py
$ python3
Python 3.5.3 (default, Sep 27 2018, 17:25:39)
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> import select
>>> f=open('/sys/class/gpio/gpio964/value', 'r')
>>> epoll=select.epoll()
>>> epoll.register(f.fileno(), select.EPOLLPRI)
>>> f.readline()
'1n'
>>> while True:
... ev=epoll.poll()
... f.seek(0)
... print(f.readline().strip())
...
0
0
0
1
リンク集
2022-12-28 0:40 JST