2012.03.29
How-To:BeagleBoneをはじめよう
Linux搭載のボードがずっと気になってたけど、どこから始めればいいかわからなかった。しかし、Maker ShedがBeagleBoneの販売を開始したときに、試供品をひとつもらうことにした。ボードに付属の解説書はちょっと威圧的で、初心者向けとは思えない(便利な情報が満載なのだが)。ネットで少し調べてみると、BeagleBoneのGPIOピンの読み出しとコントロールをLinuxのバーチャルファイルシステム、sysfsで行う方法がわかってきた。同時に、Pythonでスクリプトを書く勉強もした。基本のdigitalReadとdigitalWriteに加えて、このボードでクールなプロジェクトを作るためのたくさんのツールも覚えた。
長い時間をかけてボードと解説書とスクリプトの間を行ったり来たりしながらLEDの点滅とボタンの回路を作り上げていったのだが、ヘッダの物理的なピンと、スクリプトで参照するピンとを対応させるために2段階のトランスレーションが必要だというのが面倒になった。そこで、このトランスレーションを自動的に行うPythonの関数をパッケージ化してモジュールを作った。公開するつもりで作ったわけではないのだが、もしかしたら、どこかの初心者の役に立つかもしれないと考えた。このモジュール、mrBBIOはGithubにある。みんなで改良してくれたら幸いだ。もっと高度なものをお探しなら、PyBBIOがある。同じことを、こちらはメモリレジスタで行っている。
このボードの使い方がわかったところで、早く「本物」のプロジェクトに使いたくてウズウズしだした。PHPが走るlighttpdウェブサーバをなんとか手に入れて、ピンのハイとローを切り替えるPHPスクリプトを書いたので、電子プロジェクトを簡単にネットで流せるようになるだろう。パフォーマンスの劣るマイクロコントローラでやっていたら、かなりチャレンジングだったと思う。
BeagleBoneのGPIOピンに関して詳しい情報をすべて伝えることはできないが、このリストが何かの役に立てばと思う。
- BeagleBoneのハードウェアインターフェイス構築に関するNathan Dumontのブログ記事は、sysfsでGPIOピンをコントロールするための知識を飛躍的に高めてくれた。
- Google検索を繰り返した結果たどり着いたeLinux.orgのThe Embedded Linux Wiki。BeagleBoardとBeagleBone専門のページがあるが、そのほかのページもすごくためになる。
- Nuno AlvesはMac OS XでSDカードに新しいbeaglebone OSを読み込む方法を書いている。
- ちょっとした質問ならFreenodeのIRCチャネル #beagleが便利。私もよく出入りしているので、このプロジェクトに関することなら私が答えることもある。MattRichardsonと書いてくれたら、私に知らせが届く。
BeagleBone GPIO Testingに関するAkademiiのブログ記事は、BeagleBoneはピンのマルチプレクサでのよくある落とし穴について教えてくれる。 - GigaMegaBlogにはBeagleBoneのシリアルとアナログの入力に関する記事がある。この問題についてはあまり参照しなかったが、digitalReadとdigitalWriteの先へ進みたい方にはいいだろう。ぜひGigaMegaBlogのBeagleに関するすべての記事を見て欲しい。内容がとても充実している。
- Alexander HiamのpyBBIOは、Arduinoのコードのように、シンプルなステップとループでmrbbioを作るうえでの大きなヒントになった。
- Mark LutzのLearning Python, 3rd Editionは、Pythonの勉強に役立った。
Matt RichardsonのHow-ToをiTunesで購読する、m4vビデオをダウンロードする。または、YouTubeかVimeoで見る。
– Matt Richardson
[原文]