10
An Overview of Android Things (Brillo/Weave) ⽯塚 宏紀 ⽇本Androidの会 2017年2⽉定例会 Android Things - AndroidでIoTを嗜む -

An Overview of Android Things at jag201702

Embed Size (px)

Citation preview

Page 1: An Overview of Android Things at jag201702

An Overview of Android Things(Brillo/Weave)

⽯塚 宏紀⽇本Androidの会

2017年2⽉定例会 Android Things - AndroidでIoTを嗜む -

Page 2: An Overview of Android Things at jag201702

Android Thingsの⽣い⽴ち  Google I/O 2015にてBrillo Projectを発表–  IoT向けの軽量OS(Brillo)–  IoT向けデバイスコミュニケーション・プロトコル(Weave)

Sundar Pichai(現:CEO/当時:Senior Vice President)

  2016年12⽉13⽇にBrillo Projectを進化させたAndroidベースの新IoTOSとしてAndroid Thingsの

      Developer Previewがリリース

Page 3: An Overview of Android Things at jag201702

Android ThingsのアーキテクチャAndroidのアーキテクチャ

Android Thingsのアーキテクチャ

  携帯電話やタブレットで必要な機能を削ぎ落としたコアAndroidフレームのThings Support LibraryにBrillo Projectで培ったと思われるIoT機能を追加

  単⼀アプリによる動作に特化し、Homeアプリなどは存在無

Page 4: An Overview of Android Things at jag201702

Things Support Library

  Peripheral I/O API–  GPIO、PWM、I2C、SPI、UARTの5種のインターフェイスで、

センサやアクチュエータとアプリでデータ通信が可能  User Driver API–  他アプリがAndroid APIを使⽤して処理できるフレームワーク

に対して、任意のアプリケーションがハードウェアイベントを投⼊可能

Google管理 開発者で管理Peripheral I/O APIだけでも⼗分だけど、Andoridフレームワークと統合するとメリットあり - Portability,Reuse,Integration

-  GPS-  HID(HumanInterfaceDevices)-  Sensors

Page 5: An Overview of Android Things at jag201702

Androidとの変更点  Core application packages–  標準のシステムアプリとコンテンツプロバイダが実装されて

いない。–  インテント含めて、以下コンテンツプロバイダAPIを使⽤不

可•  CalendarContract(カレンダー)•  ContactsContract(電話帳)•  DocumentsContract(ファイル)•  DownloadManager(HTTPダウンロード)•  MediaStore(ファイル)•  Settings(スマホ設定)•  Telephony(通話)•  UserDictionary(コンテンツプロバイダ操作)•  VoicemailContract(留守電)

多分単⼀アプリ動作なので、軽量化のためアプリ間でデータ送受が必要ないから削っちゃった(スマホ特化APIも削減)

Page 6: An Overview of Android Things at jag201702

Androidとの変更点  ディスプレイ–  基本的にディスプレイは不要–  Androidと同じUIツールキットを利⽤してGUI操作をサポート–  ステータスバーやナビゲーションは含まない

  Home Activity–  Android Things起動時に⾃動起動するためのActivityとして

「Home Activity」を準備•  CATEGORY_DEFAULTとIOT_LAUNCHERを両⽅含むintent-filter

Page 7: An Overview of Android Things at jag201702

Androidとの変更点  他Google Servicesのサポート状況–  Androidが利⽤できるGoogle APIを⼀部利⽤可能

Android Thingsはユーザからの⼊⼒インターフェイスや認証系がないので、これらを必要とするサービスは不可。スマホ系サービスも不可。

Page 8: An Overview of Android Things at jag201702

Androidとの変更点  Permissions–  パーミッション取得のためのダイアログはUIがないのでサポー

トしない–  アプリのmanifestファイルに記載–  インストール時にmanifestに書かれた権限が付与されちゃう

  Notifications–  Notification Windowはないので、Notification機能はサポート

しない–  実装上、NotificationManager APIを利⽤しないように注意

Page 9: An Overview of Android Things at jag201702

Developer Preview 1   現在のリリース状況–  This preview release is for developers and early adopters to use for

development and compatibility testing on supported hardware platforms.

  Known issuesからいくつかピックアップ–  Bluetooth APIs are currently disabled.–  USB APIs are currently disabled.–  Raspberry Pi

•  Wi-Fi cannot connect to the internet if Ethernet is also connected to a network without internet access.

  Apps using Google Play Services APIs must compile against SDK version 10.0.0 or newer.

IoTデバイスとして本格的な利⽤にはまだ難ありあくまで、Developer Previewとしてお試し⽤

Page 10: An Overview of Android Things at jag201702

GoogleがAndroid Thingsでやりたいこと?

  GoogleのIoT戦略上の⽴ち位置が微妙–  Google Homeはoptimized version of the

Chromecastʻs softwareを利⽤–  Nestも独⾃実装–  Google I/O 2017での発表に期待

  実験的側⾯–  Googleが育ててきたAndroid開発者がIoTに触⼿を延ばし

やすい体制づくり– スマートフォンとIoTの融合

  開発者としてAndroid Thingsとの付き合い⽅– 遊び道具(我々も実験しよう)– Androidの載った軽量IoT機器

•  RasPiにフルAndroid載せると重いので…

https://plus.google.com/communities/107507328426910012281IoT Developers Google+ community.