データシートの数値だけでは、マイコンの処理速度は実感できません。そこで、GalileoとArduinoで同じ処理をさせて速度を確認してみました。
CPUの処理速度を測るために、足し算と掛け算をそれぞれ100万回。さらに、I/Oの速度を測るために、デジタル出力とアナログ入力を1000回実施しました。これらの処理に要した時間(ミリ秒)をディスプレイに表示させます。
表示ディスプレイは、連載本編で使用している製品を流用しました。GalileoとArduinoの互換性テストも兼ねています。「問題なく使えました!」と言いたいところですが、ちょっとだけ手間取りました。
Arduinoの場合、「Serial.print」でディスプレイとシリアルモニターに表示できるのですが、Galileoでディスプレイに表示させるには「Serial1.print」とする必要があります。この「1」にたどり着くまで、少々時間がかかりました。ただ、ほんのわずかな修正だけで、部品もスケッチも流用できるのはうれしいですね。
それでは、気になる処理速度の発表です!(表2、動画2)
ご覧のように、CPU処理速度(足し算、掛け算)に関しては、圧倒的にGalileoが速く、I/O入出力では“逆転”するという興味深い結果が出ました。
CPU処理速度は、予想通りの結果です。一方、I/O入出力については、Arduinoよりも遅いという結果になりましたが、これはGalileoがI2Cを経由して入出力を行っているためです。Galileoの活用を検討される際は、こうした特性に留意する必要がありそうですね。
GalileoがArduinoと根本的に違うのは、ボードにLinuxが搭載されている点です。今回は、サンプルスケッチを流用し、ローカルサーバを構築してセンサー値をWebブラウザで表示してみました。
使用したサンプルは、「スケッチの例/Ethernet/Webserver」です。MACアドレスとIPアドレスを自分の環境に合わせて書き換えるだけで使用できました。MACアドレスとは、各LANインタフェースに割り付けられた固有の値です。Galileoの場合は、イーサーネットコネクタにシールが張ってあります。
IPアドレスは利用する環境によって変化します。サンプルソースは、DHCPによる動的な割り当てではなく、固定IPアドレスを割り振るようになっています。これを自宅のローカルネット環境に合わせた値に設定します(画像16)。
スケッチを修正し、半固定抵抗の値をWebブラウザで表示してみました。参照データとしてディスプレイにも表示しています。IDEでスケッチをコンパイルした後、LANケーブルをルータに接続して、動作させました(画像16、画像17、画像18、動画2)。筆者は、LinuxやWebサーバは全くの未経験なのですが、拍子抜けするほどカンタンにできました。
以上、電子工作がカンタンに楽しめるArduinoと互換性があり、Linuxも動作するマイコンボードGalileoを駆け足で紹介しました。“電子工作×Linux”が気軽に楽しめるGalileoの登場で、モノづくりの選択肢の幅がさらに広がりそうです。今後、どんな活用事例が出てくるか注目していきたいと思います!
Copyright © ITmedia, Inc. All Rights Reserved.