HaskellでRaspberry PiのLチカをやってみる。
初歩的なのに、やたら苦労した…
RasPi2を使った。 LEDに抵抗を付けて、RasPiのグラウンドと GPIOの21番ピンに繋いだ。
GPIOへのアクセスには、HPiを使った。
hpioというパッケージもあるが、
依存関係の解決でコケた上、
ライブラリが必要以上に煩雑な感じだったのでやめた。
system-gpioというのもあったが、
これはやり方が原始的すぎてやめた。
HPiは、bcm2835というCライブラリを使っている。
細かな制御ができて速いらしい。
ここ
からソースをダウンロードして、RasPiにインストールする。
インストール方法は、ページ内にある通り。
RasPiでは、Haskellでよく使うstack
がすぐには使えない。
色々とパッケージが古かったりして苦労する。
仕方ないので代わりにcabal
でパッケージ管理等をやることにした。
このgistリポジトリを、
hs-gpioという名前のディレクトリへclone
したら、そこで
cabal install --only-dependencies.
cabal run
で実行できる。
(sudo
不要)
素直にpythonを使うと、ネットの情報も豊富で、 カンタンに実行まで持っていけた。 が、Haskellだと落とし穴が多かった。 ピン番号が、GPIOでは21なのに、 HPiだとPinV1_13に対応していたり…