コラムのこのシリーズでは、CuBox-iと異なる部分、I2Cなどハードウェアの拡張を使えることにフォーカスしていきます。
Raspberry Piではアマチュア向けの電子工作関連の工作キットや情報が豊富にあります。Humming Boardの基本コンセプトが、Raspberry Piのこの豊富なアクセサリーを利用できるようにするということです。
もちろん、ソフトウェアはバイナリコンパチというわけではありません。ハードウェアを持ってきてすべてをそのまま流用という訳にはいきません。まず入門の第一歩から始めてみましょう。最初の一歩はセットアップしてGPIOポートの制御でLEDを点灯することから。
1. 電子工作キットとGPIOピンアサイン
Raspberry Piでよく使われている試作用ブレッドボードを用いましょう。ピンのついた線材で容易に回路を組むことができます。(Raspberry Pi 用 GPIO 拡張ボード セット - ブレッドボードとケーブル付、Amazonなどで購入可能です)
ピンアサインメントもRaspberry Pi と同じになっています。電源ピンが同じなのは同じオプションが使えるのでとても便利です。ただ、GPIOのピンの名前が若干ちがっています。プログラムする際にはピン番号は同じでも名前として表記する場合に異なってきます。便利のため参考までに比較して並べて紹介しておきます。
GPIOナンバーが使い方によって両方使われる場合があり、それは()で示してあります。
|
|||||||||
GPIO | PRI Signal | pin# |
HB Signal |
GPIO | PRI Signal | pin# |
HB Signal |
||
7 | CE1 | 26 | ECSPI2_SS1 | 17 | P0 | 11 | GPIO 73 | ||
8 | CE0 | 24 | ECSPI2_SS0 | 18 | P1 | 12 | GPIO 72 | ||
11 | SCLK | 23 | SPI_SCLK | 27(21) | P2 | 13 | GPIO 71 | ||
9 | MISO | 21 | SPI_MISO | 22 | P3 | 15 | GPIO 10 | ||
10 | MOSI | 19 | SPI_MOSI | 23 | P4 | 16 | GPIO 194* | SD3_CMD | |
15 | RXD | 10 | UART RX | 24 | P5 | 18 | GPIO 195* | SD3_CLK | |
14 | TXD | 8 | UART TX | 25 | P6 | 22 | GPIO 67 | ||
3(1) | SCL | 5 | I2C_SCL | 4 | P7 | 7 | GPIO 1 | ||
2(0) | SDA | 3 | I2C_SDA | GND |
2. Cubox-i_Debian_2.2_wheezy_3.14.14を準備する
i2c-0 及び i2c-1 buses が使えるようになっているものとしてDebianのカーネルを利用します。元はここにあります。
http://www.igorpecovnik.com/2014/08/19/cubox-i-hummingboard-debian-sd-image/
このページからwheezyのイメージ
http://mirror.igorpecovnik.com/Cubox-i_Debian_2.2_wheezy_3.14.14.zip
をダウンロードしてきます。
解凍するとimagewriter.exeが同梱されているのでこれでSDに書き込むことができます。すでにwin32 Disk imagerを使っているのであれば、CuBox-i_Debian_2.2_wheezy_3.14.14.raw を指定するだけで通常通りに書き込むこともできます。
書き込みが済んだSDを用いて最初に立ち上げるときは id=root, password=1234 ですが、パスワードはすぐに再設定をするように求められます。Debianだけなのでデスクトップはついていません。必要があれば別途導入してください。
i2c-tools package を最初にインストールします。
# sudo apt-get install
i2c-tools |
3.
動作チェック
準備がすんだところで、LEDをブレッドボードにセットして、ボードをHummingBoardのGPIOコネクタに接続します。LEDはカソードをGNDに、アノードをPRI用に書かれた信号名P6、即ちHummingBoardの信号名GPIO67につなぎます。
最初はプログラミングするのではなく、コマンドラインから行います。
# echo 67 > /sys/class/gpio/export # cd /sys/class/gpio/gpio67 # echo out > direction
# echo 1 > value |
いかがでしょうか。LEDは点きましたでしょうか。
次回はツールをインストールしてプログラミングして簡易なものをテストします。このシリーズでは、最終的に各種のセンサーをつないでドライバを作るところまでをねらっています。HummingBoardを使ってIOTと呼ばれるInternet of Thingsへの応用ができるようにするのが最終目的となります。
コメントをお書きください