とりあえず触ってみようインテル『Galileo開発ボード』
2014年2月あたりからインテルの『Galileo開発ボード』の出荷も本格化したようだ。先行予約で1月から触っているユーザーもいるようだが、やや遅まきながらレビューをしてみよう。
↑Galileo開発ボードのパッケージ。 |
まず『Galileo開発ボード』とはなにかを簡単に説明しておくと、インテルの小型省電力プロセッサー『Quark X1000』をCPUに、メモリーやI/O(USBや有線LAN、micro SDカードスロット、PCIバスなど)を組み合わせてカード状にしたボードコンピューターだ。OSにはLinuxを採用する。
ボード上にある十数個並ぶピンソケットがミソで、ソケットの配置は電子工作で多大な人気を得ている学習用ボードコンピューター『Arduino』と共通だ。Galileo自体も起動すると、Arduinoをエミュレートするプログラムが走るようになっており、すなわちインテルが作ったArduino互換機というわけだ。
↑Galileo開発ボード。中央にあるのがQuark X1000プロセッサー。 |
Arduinoについても一応簡単に解説しておくと、パソコンでC言語風プログラムを書いてArduinoに転送すれば、ピンソケットのアナログ/デジタル入出力を検出/制御でき、たとえば光センサーを使ってラインを見ながらモーターを制御して走る車なんてものが比較的簡単にできてしまう。
Arduinoは基本的に16MHzの8bitプロセッサーAVRなので黎明期のパソコン程度の性能だが、Galileo開発ボードのQuark X1000(32bit、最高400MHz)ともなればWindowsぐらいならなんとか走りそうなシロモノ。もっとも、Galileo開発ボードにはグラフィック機能は搭載されていない。同種のボードコンピューター『Raspberry Pi』のように、キーボードとモニターをつないでパソコンのように使うようにはできていない。
↑Arduino UNOと並べてみた。面積的には2倍といったところ。 |
Galileo開発ボードのパッケージを開けてみると、やはりでかい。Arduinoにもピン数が多い『Arduino MEGA』シリーズがあって、Galileo並みのサイズなのだが、Galileo開発ボードはあくまで“Arduino標準”な『Arduino UNO』と比べるとかなり大きく感じる。
電源のほうも付属するACアダプターを用いてDC5Vを給電するようになっている。ArduinoでもDC5Vで動作させることはできるのだが、大電流を必要とする機器をつながない限り、パソコンからのUSB電源でも利用できる。Galileo開発ボード付属のACアダプターは2A出力なので、パソコンからの給電やモバイルバッテリーなどでも一応は動きそうだがやや心もとない。
↑パッケージにはACアダプターが付属する。ワールドワイド対応らしいプラグ交換式。 |
なお、Arduinoでは給電とプログラム転送を1本のUSBケーブルでつないだだけでできるのだが、Galileo開発ボードのリファレンスでは「壊れるのでやるな」と書いてある。電源が不安定な状態でうかつにフラッシュメモリーの書き換えなどを行なうと確かにまずいことになりそうなので、ACアダプターをつなげて起動した状態でUSBを接続することにしよう。
↑micro USBは片方(LANポート側)をPCとつないで、プログラムを転送するのに使う。もう一方はUSB HOSTポート、USB On-The-Go対応で外付けUSBメモリーなども使えそうだ。 |
プログラム開発環境及びプログラムの転送はArduinoではIDEと呼ばれているが、Galileo開発ボードもほぼ同じものが用意されている。無料でダウンロードしてインストールすれば使えるが、どうやらパス名にロングファイルネームが通らないらしく、C:といった場所にインストールしよう。
↑背面にはMini PCIeコネクタ。WiFiや3G通信などもこのポートで使える。 |
↑インテルのサイトから環境に合ったIDE(とドライバー)をダウンロード。 |
準備が整ったらいよいよUSBケーブルとつなぐ。デバイスとして認識されれば、IDEのメニューにCOMポートとして現われるはず。ドライバーが自動認識されないことも多いので、コントロールパネルのデバイスマネージャーからIDEをインストールしたフォルダの中にあるドライバーを指定して登録。2度目以降はドライバーの読み込みは不要だが、USBを挿してからWindowsがデバイスとして認識されるまで30秒~1分くらいかかる。IDEのメニューにあるシリアルポートからCOMポートが見えて(グレーアウトしていない)状態で書き込もう。
↑単につなげただけでは不明なデバイス(Gadget serial)なので、ドライバーを読み込ませる。 |
↑デバイスマネージャーのポート先に“Galileo(COMX)”と表示されてようやく準備完了。 |
なお、Arduino IDEではArduinoがつながっていない状態やCOMポートが間違っている状態でスケッチを転送すると、COMポートが存在しないよという警告が出るのだが、Galileo開発ボードではなぜか「書き込みが完了しました」と報告してくれるので要注意だ。
↑Galileo用のArduino IDE。Arduino IDEはたいてい書き込み先ボードの選択にこれまで発売されたArduinoのバージョンがずらっと並ぶのだが、Galileo用はGalileoとArduino x86(x86系プロセッサーを使うArduinoはGalileo以外にもわずかながら存在する。 |
まず最初にGalileo開発ボードのファームウェアを最新にしておくことが推奨されており、インストール後はメニューからファームウェアのアップデートをかけておくこと。
↑サンプルスケッチ“Blink”を読み込む。10行くらいの短いプログラムで、デジタルピン端子を出力に使うよという宣言をしたあと、ピン出力をON/1秒ほど待つ/ピン出力をOFF/1秒くらい待つを繰り返す。 |
プログラム(Arduinoでは“スケッチ”と呼ぶ)で動かしてみよう。とりあえずLチカ。Lチカ(LEDチカチカ)は出力端子とGND(いわゆるマイナス端子)にLEDを挿して、端子出力を定期的にON/OFFするとLEDが点滅する。Arduino入門で最初に学ぶことなのだが、電子工作方面では新しいボードを入手したらまずこれをやるというお約束(もしくは奇妙な風習)がある。いきなり液晶表示素子などの機器を接続すると、動かなかったときに付けたデバイスが悪いのかボードが悪いのかプログラムが悪いのか判断できないので、もっともシンプルな電子回路でボードを試してみるという理由も一応ある。
↑Galileo開発ボードには13ピン用につながったLEDが基板上に設けられていて、LEDを挿し込む必要もないのだが一応挿してみた。 |
スケッチはIDEに“サンプルスケッチ”として用意されているのでメニューから読み込み、“スケッチの転送”を選べばコンパイルしたのちGalileoに転送、自動的に実行されるのでLEDがチカチカと点滅。
とりあえずGalileoの、というよりこの種のマイコンボードの一歩はこんな感じだ。では、Arduino互換ということもあってもうちょっと高度なことをやってみようと思うのだが、意外とGalileoは一筋縄ではいかないことが判明したの。それは次回のお話で。
週刊アスキーの最新情報を購読しよう
本記事はアフィリエイトプログラムによる収益を得ている場合があります