まだ構想段階だから何もできていないが、ソフトウェアのリソースを調べた結果を書いておく。
GPIO全般
こちらのサイトに詳細がある。LEDのドライバ
こちらのサイトにPerlで書いた例がある。Device::BCM2835が必要。下記GPIOドライバと共存できるかどうかはやってみないと分からないが、できるだけコンパイラは使いたくないのでPerlでいけるなら行きたい。LCDのドライバ
WiringPiというプロジェクトがGPIO全般を扱うライブラリを提供している。LCDはこちら。WiringPiからダウンロードできるソースコートはセルフ開発しか考慮しておらずコンパイラの速度やソースコード管理に問題があるので、クロス開発できるようにするパッチを作った。ダウンロードはこちら。
- 環境変数「RPiCC」にクロスGCCのフルパスをセットしておく
- buildを編集して以下の変数をカスタマイズする
- RPi : 最終的にライブラリをインストールするRaspberry Piのホスト名とログインできるユーザ名(root)
- INSTALL_DIR : 開発ホスト上に作成するインストールイメージのルートディレクトリ(../wiringPi-install)
- おまけとしてbuildスクリプトをそのまま使うMakefileも作った。
明るさセンサ
ガジェットが家族に受け入れられるためには「プロっぽい」仕様が必要。CdSセンサで周囲の明るさを計測してLEDとLCDのバックライトの明るさを自動調節する機能も計画の一部。Raspberry PiはArduinoと違いアナログポートがなくすべてのGPIOはディジタル入出力しかできないが、こちらのサイトでGPIOのピンの1本を入力と出力に切り替えながら一種の積分型オームメータを実現する方法を紹介している。Perlのモジュールはパッケージとしてインストールできればよいのだが、apt-cache searchで探してもBCM2835関係は見当たらない。仕方ないのでcpanでインストールするが、ネイティブでコンパイラが走るので数時間かかる。
0 件のコメント:
コメントを投稿