スマートホンで組み込みシステムを制御する(2/3 ページ)
適切な通信プラットフォームと開発ツールを使えば、組み込みシステムで用いる安価なモバイルユーザーインターフェースとしてスマートホンを活用することが可能となる。
短距離通信ネットワーク
組み込み機器の制御や監視には、赤外線、Bluetooth、Wi-Fiなどの短距離ワイヤレスネットワークが利用できる。スマートホンの多くは、携帯電話機やGSPモジュール、ほかのスマートホン、パソコンといった近隣の機器と同期を取り、ワイヤレス接続するためのBluetoothトランシーバを内蔵する。Bluetoothトランシーバが搭載されている組み込み機器を使用すれば、スマートホンとの短距離ワイヤレスネットワークを確立できる。同様の通信リンクは赤外線チャンネル経由でも確立できるが、センサーの位置によっては赤外線での接続は難しいこともある。Wi-Fiトランシーバであれば接続距離をさらに延ばすことができるが、スマートホンのキャリアはWi-Fiの採用をためらっている。その理由は、Wi-FiによりVoIP(voice over internet protocol)接続が行われると、従量課金方式を適用できない可能性があるからだ。
スマートホンのブラウザからウェブサーバーのアドレスを選択するだけで、組み込み機器のユーザーインターフェースを起動できるが、ソフトウエアを若干修正すれば、よりカスタマイズされたルック&フィールを作成できる。スマートホンベンダーのほとんどは、サードパーティ製のアドオンソフトを採用している。組み込み機器向けのソフトウエアはさまざまなソフトウエアベンダーから提供されているが、スマートホン向けのソフトウエアを提供している企業はごく限られている。ほとんどのスマートホンのプラットフォームには、組み込みLinux、Symbian OS、Windows Mobile、Palm OSおよび、RIM社のOSが搭載されている。
フィンランドのNokia社、英Sony Ericsson社、韓国Samsung社などの大手携帯電話機メーカーは、スマートホン市場でシェアの大半を占めているSymbian OSを採用している。Symbian OSにはリアルタイムで複数の処理を同時に行えるカーネルが搭載されており、通話、メッセージング、マルチメディアといったほとんどのプロトコルをサポートしている。もともとSymbian OSはリソースが限られている携帯機器用に開発されたため、メモリー容量と電力の消費量を極力抑えるように設計されている。英Symbian社はウェブサイト上で有料と無料の開発ツールを提供している。
Palm OS開発ツールは、スマートホン用ソフトウエアのベンダーから提供されているものよりも完成度は高いが、米Palm社の分社化が開発者の間にちょっとした混乱を招いている。PalmOne社は、Palm社からスピンオフしたハードウエア開発会社である。最近ACCESSによって買収されたPalmSource社がPalm OSを引き継ぎ、サードパーティの開発者らと提携している。アプリケーション開発者はプログラミング言語としてC、C++、Visual Basic、Javaのいずれかを選択可能なほか、統合開発環境として「CodeWarrior」または「Eclipse」を選ぶことができる。開発ツール、マニュアル、チュートリアルはPalmSource社のウェブサイトから入手可能だ。
スマートホンのOSとして広く普及しているLinuxはオープンソースである。無料で入手でき、巨大なサポートコミュニティもある。Linuxのスポークスマンは最近、米Motorola社が今後2年間で出荷する携帯電話機の半分以上にLinuxが搭載されるだろうと発表した。米Evans Data社によれば、2005年に販売されたスマートホンの約1/4にLinuxが搭載されているという。しかし、Linuxにもいくつかの問題はある。Linuxベースのスマートホンプラットフォームは、開発者グループがソースコードを容易に変更できるために、フラグメンテーションと相互運用性に問題があると指摘する声がある。こうした中、LIPS(Linux Phone Standards)フォーラムとOSDL(Open Source Development Labs)は最近、Linuxをプラグアンドプレイ方式の携帯電話機プラットフォームに転換するための規格を定義するために協力していくことで一致した。
Windowsを使う
いわゆるポケットPCとスマートホン向けの最新OS「Windows Mobile 5」をサポートするため、米Microsoft社はそのツール構成を刷新し、Windowsモバイルアプリケーションの構築も可能な統合開発環境として「Visual Studio 2005」の供給を始めた。ソフトウエア開発者はC++、C#、Visual Basicからプログラミング言語を選べるほか、モバイル機器向けの拡張API(application programming interface)群を使用できる。Visual Studio 2005の機器エミュレータを使えば、パソコン/ワークステーション上でアプリケーションソフトウエアの動作を直接シミュレーションすることもできる。Microsoft社のツール、チュートリアル、サンプルアプリケーションの詳細はWindows Mobile Developer Centerのウェブサイトから入手可能だ。
筆者はWindows Mobile 5プラットフォームを搭載したスマートホン「Motorola Q」(以下、Q)を所有している。これを使って簡単な組み込み機器を監視/制御するための基本ユーザーインターフェースを作成することにした。QはEV-DOに対応しており、320×240画素のディスプレイとQWERTY配列のキーボードに加え、Bluetooth機能、スピーカーホン、130万画素のカメラモジュールなど、多彩なマルチメディア機能を搭載している。Qはウェブブラウザと電子メール機能を内蔵しており、組み込みユーザーインターフェースとして必要なすべての通信機能を備えている。
筆者が最初に行ったことは、Qのカスタムソフトウエアを作成するために必要な開発ツールを見つけることだった。まず、Microsoft社の開発者向けウェブサイトで、スマートホンSDK(software development kit)とVisual Studio 2005の90日間試用版をダウンロードすることにした。しかし、2つ合わせるとプログラムの容量が約3Gバイトになることが分かり、渋々ながらも13米ドル支払ってDVDを郵送してもらうことにした。驚いたことに、DVDはわずか2日間で届いた。インストールはすぐ終わり、数時間でいくつかのサンプルソフトウエアをテストすることができた。その後、Motorola社の開発者向けウェブサイトから、同社のカスタムエミュレータイメージをVisual Studio 2005にインストールする方法を知るためにQのデベロッパー向けガイドを入手した。
これでQの開発環境が整った。次に必要なのは制御の対象とする組み込みシステムだ。幸い、簡単な組み込み機器のシミュレーションを行えるSitePlayerの開発キットが手元にあった。100米ドルで購入したこのキットには、LEDとスイッチ、温度センサー、SitePlayerモジュールを搭載したホストボードが含まれている。サンプルソフトウエア、ノブ、スイッチ、LEDのグラフィカルライブラリ、その他ウェブページ開発用のユーザーインターフェースツールも含まれている(図2)。ノート型パソコンに開発キットをシリアル接続し、家庭用ネットワークを介してイーサーネット接続すると、SitePlayerにプリロードされているサンプルウェブページにアクセスできた。いつも使っているブラウザでSitePlayerのIPアドレスを指定すると、開発キットから2つのLEDを制御し、2つのスイッチの状態を読み込むことができた。
Copyright © ITmedia, Inc. All Rights Reserved.