連載
» 2014年03月27日 10時00分 公開

アイデア・ハック!! Arduinoで遊ぼう【番外編】:「Intel Galileo」ファーストインプレッション (4/4)

[三月兎,MONOist]
前のページへ 1|2|3|4       

CPU処理速度、I/O処理速度を実測

 データシートの数値だけでは、マイコンの処理速度は実感できません。そこで、GalileoとArduinoで同じ処理をさせて速度を確認してみました。

 CPUの処理速度を測るために、足し算と掛け算をそれぞれ100万回。さらに、I/Oの速度を測るために、デジタル出力とアナログ入力を1000回実施しました。これらの処理に要した時間(ミリ秒)をディスプレイに表示させます。

 表示ディスプレイは、連載本編で使用している製品を流用しました。GalileoとArduinoの互換性テストも兼ねています。「問題なく使えました!」と言いたいところですが、ちょっとだけ手間取りました。

 Arduinoの場合、「Serial.print」でディスプレイとシリアルモニターに表示できるのですが、Galileoでディスプレイに表示させるには「Serial1.print」とする必要があります。この「1」にたどり着くまで、少々時間がかかりました。ただ、ほんのわずかな修正だけで、部品もスケッチも流用できるのはうれしいですね。

ディスプレイ 画像14 連載本編で使用しているディスプレイも問題なく使えた!

 それでは、気になる処理速度の発表です!(表2動画2

結果 表2 GalileoとArduinoのCPU処理速度およびI/O入出力速度を計測

 ご覧のように、CPU処理速度(足し算、掛け算)に関しては、圧倒的にGalileoが速く、I/O入出力では“逆転”するという興味深い結果が出ました。

 CPU処理速度は、予想通りの結果です。一方、I/O入出力については、Arduinoよりも遅いという結果になりましたが、これはGalileoがI2Cを経由して入出力を行っているためです。Galileoの活用を検討される際は、こうした特性に留意する必要がありそうですね。

回路図 画像15 Galileoの回路図(出典:Intel)

Galileoに搭載されたLinuxでWebServerを立ち上げてみる

 GalileoがArduinoと根本的に違うのは、ボードにLinuxが搭載されている点です。今回は、サンプルスケッチを流用し、ローカルサーバを構築してセンサー値をWebブラウザで表示してみました。

 使用したサンプルは、「スケッチの例/Ethernet/Webserver」です。MACアドレスとIPアドレスを自分の環境に合わせて書き換えるだけで使用できました。MACアドレスとは、各LANインタフェースに割り付けられた固有の値です。Galileoの場合は、イーサーネットコネクタにシールが張ってあります。

 IPアドレスは利用する環境によって変化します。サンプルソースは、DHCPによる動的な割り当てではなく、固定IPアドレスを割り振るようになっています。これを自宅のローカルネット環境に合わせた値に設定します(画像16)。

Webserver 画像16 サンプルソースのMACアドレスとIPアドレスを書き換えるだけで、Webserverとして動いた

 スケッチを修正し、半固定抵抗の値をWebブラウザで表示してみました。参照データとしてディスプレイにも表示しています。IDEでスケッチをコンパイルした後、LANケーブルをルータに接続して、動作させました(画像16画像17画像18動画2)。筆者は、LinuxやWebサーバは全くの未経験なのですが、拍子抜けするほどカンタンにできました。

回路図配置図 画像16(左) GalileoをWebserverとして使い、半固定抵抗の値をWebブラウザに表示するための回路図/画像17(右) 部品の配置図

部品を配置したところ 画像18 部品を配置したところ



 以上、電子工作がカンタンに楽しめるArduinoと互換性があり、Linuxも動作するマイコンボードGalileoを駆け足で紹介しました。“電子工作×Linux”が気軽に楽しめるGalileoの登場で、モノづくりの選択肢の幅がさらに広がりそうです。今後、どんな活用事例が出てくるか注目していきたいと思います!

前のページへ 1|2|3|4       

Copyright © ITmedia, Inc. All Rights Reserved.