オープン・ハード「Arduino」の秘密をひも解く ―― Arduino開発チーム代表 ジャンルカ・マティーノ氏に独占インタビュー!
2011年12月3日~4日,オライリー・ジャパン主催で行われた「Make Tokyo Meeting 07(MTM7)」に出席するために,Arduinoを販売するスマートプロジェクト社 社長のGianluca Martino(ジャンルカ・マルティーノ)氏が来日しました(写真1).同氏は,オープン・ハードウェアのマイコン・ボード「Arduino」の開発メンバの一人です.
そんなジャンルカ氏に,Arduinoについての疑問などをインタビューしてみました.
写真1 スマートプロジェクト社 社長のジャンルカ・マルティーノ氏
●まずは技術的な質問から
―― なぜArduinoに搭載するマイコンとしてAVRを選択したのですか?
ジャンルカ:つまり...言うなれば偶然です.最初はMicrochip Technology社のPICマイコンを使ってみましたが,オープン・ソースのコンパイラを見つけることができませんでした.そのため,Atmel社のAVRを試してみました.世の中ではAVRよりもPICのほうがより多く使われていますし,Atmel社は成長途中の比較的新しい会社です.あえて言えば,オープン・ソースのコンパイラが存在する,というだけの理由でAVRを選択しました.
―― どうしてCではなく,C++をベースにしたのでしょう.
ジャンルカ:これはまさに技術的な質問ですね(苦笑).Arduinoの重要な機能の一つは,可能な限りシンプルで簡単な環境を人々に提供するということです.そのため,難しい部分をコンパイラにやらせることにしたのです.利用者にとってシンプルにするために,C++の強力な機能が必要でした.
何かをシンプルにしようとしたら,別の部分で複雑なことをやる必要がありますよね.例えば,C++のクラスの機能の意味を知らなくても,クラスの形で実装された機能を使うことはできます.でも,クラスを学べば,より高度なことができるようになるでしょう.このようにC++を選んだことにより,柔軟性を維持したまま,シンプルで簡単な環境を実現できました.
写真2 ジャンルカ氏とインタビュアの金本 茂 氏(スイッチサイエンス 代表)
―― Arduinoで,ちょっと凝ったことをしようと思うと,デバッガが欲しいと思うことがあります.このあたり,将来的に提供の計画はありますか?
ジャンルカ:これは,エンジニアの方々からよく聞かれます.デバッガがあったらいいとは思いますが,実現するのは簡単ではありません.AVRの内部のレジスタやメモリにアクセスするには,Atmel社のDebugWireの機能を利用する必要があります.JTAGインターフェースはありません.ところが,DebugWireはAtmel社の独自機能であり,その詳細は非公開です.内部のレジスタやメモリへのアクセスは,マイコンのアーキテクチャに非常に近い部分であり,企業秘密を守るためには,DebugWireの詳細の公開は難しいでしょう.ただし,Atmel社はDebugWireの一部機能の公開を考えているようですので,将来はデバッガ機能のプラグインを実現できるかもしれません.
Arduinoは初学者やアーティストのためのツールであって,工業的なアプリケーションを目的とはしていません.デバッガが必要なくらいに複雑なアプリケーションを開発するのであれば,例えばAVRStudioなどの開発ツールを使うほうがいいでしょう.
●新しいArduinoについて質問
―― ハードウェアおよびソフトウェアの最新バージョンがリリースされましたが,これまでと変わった点を教えてください.
ジャンルカ:ハードウェアはArduino UnoのRev.3ですね.変更点はごく一部分です.メモリが少し増えたことと,少し機能を強化した程度です.簡単に言うと,今後作られるさまざまなArduino本体に対する,シールドの互換性を高めました.もちろん,100%の後方互換性を維持しています.
ソフトウェアはArduino 1.0ですね.これまでに行った開発の集大成としてリリースしました.これには,私たちが実施した機能追加に加えて,利用者から提供された機能追加も含んでいます.Arduino 1.0では,外部モジュールとの連携を可能にしました.その一つが,Scratchのようなビジュアル・プログラミングを可能にするために開発中の「TinkerKitBlocks」(写真3)ですし,「Flitzing」のような外部のアプリケーションとの連携も可能でしょう.Arduino 1.0は,関連するソフトウェアのためのプラットフォームだと言えるでしょう.
写真3 TinkerKitBlocksの画面
―― 日本では今現在(2011年12月),Arduino Uno(写真4)がもっとも標準的に使われています.今後Arduino Unoはどうなっていくのでしょう?
ジャンルカ:Arduino Unoは,初心者にとっては完璧なボードだと考えています.そのため,Arduino Unoに対して大きな変更を加えていく考えはありません.
写真4 Arduino Unoの外観
●ジャンルカ氏の考えていること
―― Arduinoの開発者であるジャンルカさんは,Arduinoのどこに一番魅力があると感じていますか?
ジャンルカ:私がArduinoという仕事を通じて魅力を感じているのは,ユーザの方々が創りだすものにいつも驚かされる,ということです.ユーザの方々は,私が思いもよらない使い方を発見してくれます.私は電子回路技術者です.私を含むプロの目から見たらまったく普通ではない使い方を,特に初心者の方々は恐れもなくやってのけます.これは驚くべきことです.
―― これまで見たArduinoを使ったプロジェクトで最も興味深いのは何ですか?
ジャンルカ:一つには決められません.いつも驚かされるのは,初心者の方々がArduinoを使って何かを解決しようとしていることです.決してテクニカルにすごいプロジェクトではありませんが,そういう人々の熱意と創意工夫には驚かされますし,そのような人々を私は愛してやみません.
今日(2011年12月3日)見た中では,人工衛星にArduinoを搭載して,宇宙空間でスケッチの書き換えと実験ができるようにしようとしているプロジェクトが興味深いです(写真5).これは,私がこれまでに見た中のトップ10に入るかもしれませんね.
写真5 人工衛星にArduinoを搭載して宇宙空間でスケッチの書き換えと実験を行うプロジェクト
●最後にメッセージを!
―― 日本ではプロのエンジニアにもArduinoが大好評です.日本のエンジニアに向けてぜひメッセージを.
ジャンルカ:皆さんに向けたメッセージですね.エンジニアの方々にArduinoが受け入れられていることが,とてもうれしいです.
もともと,エンジニアの方々はArduinoをあまり好んではくれませんでした.Arduinoを使った場合,技術的観点から最適化されたアプリケーションを作ることはできませんからね.エンジニアの方々には,おもちゃに見えるかもしれません.
近年は,エンジニアの方々も,開発のためのプロトタイピングに使ってくださっているということで,とてもうれしいです.エンジニアの皆さんに,本当にありがとうと言いたいです.エンジニアの方々にとって,より便利で使いやすいツールにしていくために,Arduinoがどのようになっていけばよいか,開発現場のエンジニアの皆さんからのフィードバックをいただけるとうれしいです.
写真6 インタビューを終えたジャンルカ氏と金本氏
かねもと・しげる
スイッチサイエンス 代表
CQ PLAN B編集部