オープン・ソース・ハードウェアをいかに活用するか ―― 情報科学芸術大学院大学(IAMAS) 小林 茂氏に聞く
Arduinoの登場と普及によって,オープン・ソース・ハードウェアという概念が広く知られるようになりました.ここでは,Arduinoとほぼ同時期に,オープン・ソースのマイコン・ボード環境「Gainer」を開発した情報科学芸術大学院大学(IAMAS)の小林 茂氏に,Gainerの開発の経緯やArduinoとのかかわり,オープン・ソース・ハードウェアがもたらす効果などについて伺いました(写真1).
(同氏への前回のインタビューはこちら)
写真1 情報科学芸術大学院大学(IAMAS)の小林 茂氏

●知識がなくても「ハードウェアの壁」を越えられる
―― Gainerを開発した経緯について教えてください.
小林氏:もともとGainerは,当校のデザインやアートを専攻する学生からの,作品を表現する上でマイコンやセンサ,アクチュエータなどを使用したいというリクエストに応えるために開発したものです(図1).
図1 GainerのWebサイト(http://gainer.cc/)
GainerのハードウェアはPSoCマイコンやUSB-to-UARTブリッジなどから構成されている.ブレッドボードと組み合わせて試行錯誤しながら制作できる.ソフトウェアは,ProcessingやFlashなどのプログラミング環境を利用できる.

私はローランドで楽器の音源を開発していたので,マイコン・ボードの開発経験はありませんでした(隣の部署は組み込みチームでした).このときに初めてマイコンやプリント基板CADなどを勉強したのですが,このことがかえって良かったと思っています.自分で設計しながら,設計の難しいところが分かったので,ハードルを下げるべき部分,あえて隠す部分を見極めることができました.
当校には,さまざまな分野から入学した生徒がいます.電子工学に詳しい生徒が中心となってマイコンなどの説明会を学内で開くと,1回目は大勢の受講者が期待に胸をふくらませて受講します.しかし,2回目には「内容が難しい」とのことで,受講者が少なくなってしまうのです.そのように,ハードウェアの壁を乗り越えられなかった生徒からのリクエストに応えて設計したのがGainerです.エレクトロニクスの専門知識がなくてもハードウェアの壁を越えられるように,極力シンプルに設計しました.また,Gainer側のファームウェアは設定するところを無くし,全てパソコン側で設定できるようにしました.
Gainerの初めのコンセプトは「組み込みボード」です.音を出したり,動画を再生したりということは考えませんでした.音や動画はパソコンで処理すればよく,それ以外のことがGainerでできるようにと考えたので,パソコンありきの仕様にしました.
●GainerとArduinoは基本的な考え方が同じ
―― Arduino Fioの開発にも関わりました.
小林氏:ArduinoとGainerの開発のスタートは,ほぼ同時期でした.私が2005年12月にGainerのプロトタイプの開発を終え,2006年にワークショップを開始した時期に,Arduinoの販売も始まりました.
その当時のArduinoはマイコン・ボードだったので,Gainerより実現できることは多かったのですが,パソコンとの接続など設定が多く,私から見ると少しハードルが高いように感じました.しかし,Arduinoのユーザが増えてくると,Webで調べれば分からなくても使えるようになりました.そこで,Gainerでできないことは,Arduinoを使用すればいい,というように使い分けるようになりました.
2007年に,米国でArduinoの開発メンバと会うようになりました.そもそもフィジカル・コンピューティングとは,New York UniversityのITP(Interactive Telecommunication Program)の授業の名前が由来となっています.その思想を受け継いだ上でお互いに展開しているので,話をしていくと,基本的な考えは同じということが分かりました.
学生から「無線を使用したい」という要望が出てきたとき,当初はGainerの発展系を考えていました.しかし,無線の場合はローカル側での設定を行うことが多いので,Arduinoの互換機として開発し,販売を行っていました.その期間,Arduinoの書籍に関して監修を行うなど開発メンバと信頼関係が深まり,2010年に無線用のArduino互換機を,Arduinoの正式ラインナップ,「Arduino Fio」として発売することになりました(図2).
図2 Arduino Fio(Arduinoの公式Webサイトより)
Arduino Fioは,XBeeソケットを備えたArduinoボードである.
