Googleは2016年12月13日(現地時間)、IoT機器での利用を想定した新OS「Android Things」を発表し、開発者向けプレビュー版を同社のWebサイトで公開した。開発者向けプレビュー版は、半導体メーカーなどが販売している評価ボードにインストールするイメージの形で提供している。現時点では、「Intel Edison」「NXP Pico i.MX6UL」「Raspberry Pi 3」に向けたイメージを公開している。さらに、「Intel Joule 570x」と「NXP Argon i.MX6UL」に向けたイメージも近日中に公開するとしている。
図 Android Thingsのロゴマーク
出所 Google
Android Thingsはスマートフォンやタブレットなどの携帯情報端末で圧倒的なシェアを誇る「Android OS」を基にしたもの。共通するAPIを持ち、Googleがクラウドで提供するサービスとの連携も容易になっている。また、統合開発環境「Android Studio」や開発キット「Android Software Development Kit」を利用可能とし、既存のAndroidアプリ開発者がすぐにAndroid ThingsでIoT機器の開発を始められるように配慮している。
IoT機器向けに拡張した部分もある。各種センサーなどのハードウェア向けデバイスドライバの開発を容易にする「Things Support Library」だ。Androidが動作するスマートフォンやタブレットにはないハードウェアを扱う必要があるからだ。このライブラリは「Peripheral I/O API」と「User Driver API」に分けられる。
図 Android Thingsのアーキテクチャ。Linuxカーネルとハードウェア抽象化層の上にライブラリが載る。Things Support LibraryはAndroid Thingsで追加になった部分
出所 Google
Peripheral I/O APIは、I2C(Inter-Integrated Circuit)、GPIO(General Purpose Input/Output)、SPI(Serial Peripheral Interface)、UART(Universal Asynchronous Receiver Transmitter)といった組み込みの部品が利用するインタフェースを制御する機能を提供する。サーボモーターの制御などに向けて、PWM(Pulse Width Modulation:パルス幅変調)で機器に送る信号を制御する機能も持つ。
User Driver APIは、開発者がセンサーなどのドライバーを作成するために用意しているフレームワークだ。GPSのほか、加速度センサー、地磁気センサー、ジャイロセンサー、光センサー、圧力センサー、近接センサー、温湿度センサーなどから値を取得するためのフィールドなどを用意している。Android ThingsのWebサイトではサンプルコードを示しながら、APIの使い方を解説している。
図 User DriverとAppsは開発者が自由に作れる
出所 Google
Googleは数カ月以内に開発者向けプレビュー版のアップデートを予定している。このアップデートでは、OSや開発者が作ったアプリケーションの修正プログラムを配布する環境が使えるようになるほか、GoogleがIoT機器向けに開発した無線通信技術「Weave」の通信機能が加わる予定。