Android Thingsは、なんとなく興味があるものの、そこまで本格的に手を付けられていないので、いい機会だと思い聞いてきました。
japan-android-group.connpass.com
場所は六本木ヒルズ
職場も同じ港区の品川ですが、六本木は行き交う人のクオリティが全く違う、お洒落な大人の街です。自分には不釣り合い過ぎてアウェーな感じを味わいました。会場のGoogleさんは六本木ヒルズの中。トップオブアウェー。
グーグル!
聞いてきた内容のメモ
Android Thingsとは
- 2016年に発表されたAndroidをベースとしたOS
- Raspberry Piなどで動作可能なくらい軽量である(電話など、IoTに不必要なものは削ってある)
- 現在、Preview版としてリリースされている
Android Thingsの特徴
- 単一のアプリしか動かない
- Things Support Libraryを使うことでGPIOやSPI/I2Cなどの入出力が扱える
- コンテントプロバイダや、インテントなどは存在しない
- 基本的にディスプレイは不要(一応GUI操作はサポートされている)
- HomeActivity :唯一のアクティビティ
- Google Servicesの一部はつかえる(UI系は一切使えない)
- UIがないのでRuntime Permissionはなく、Manifestに書けばオッケー
- Notificationはない
要は、Androidと同じようにJavaで開発できて、UIも作ろうと思えば簡単に作れて、さらにGPIOも扱える、と。そんな感じでしょうか。定例会中で行われていたデモは、かなり初歩的な内容だったので割愛。
Android Thingsってどうなの?
プロトタイピングだったり、電子工作だったり、そういうものを作りたいと思えば、今は簡単にできてしまう時代である。それ故に、わざわざAndroid Thingsを使う必要があるのか、何が嬉しいのか、ちゃんと理解した上で使いたい。
(スマホだと表が正しく見られません。ごめんなさい。)
- | Android Things on ラズパイ |
Android スマホ(アプリ) |
Raspbian on ラズパイ |
ESP8266 | Arduino |
---|---|---|---|---|---|
値段 | △ | ✕ | △ | ◯ | ◯ |
主な言語 | Java*1 | Java*2 | Pythonなど | Cっぽい言語 | Cっぽい言語 |
GUI | ◯ XMLで簡単につくれる |
◯ XMLで簡単につくれる |
△ Qtとかちょっとだるい |
✕ 基本UIなどない*3 |
✕ 基本UIなどない*4 |
GPIO | ◯ | ✕ | ◯ | ◯ | ◯ |
バッテリー | ✕ 消費電力多 |
△ バッテリー内蔵だけど・・・ |
✕ 消費電力多 |
◎ 低消費電力 |
◯ 低消費電力 |
Wi-Fi | ◯ 内蔵 |
◯ 内蔵 |
◯ 内蔵 |
◯ 内蔵 |
✕ 内蔵してない*5 |
個人的な主観が入り交じった表を書いてみた。やっぱりAndroid Thingsの肝はGUIが簡単に作れるというところなのだろうか。とはいえ、Android ThingsでのGUIは無くても良いというスタンス。GUIが要らないならAndroid Thingsをわざわざ使う必要って・・・Javaが好きとか?(笑)Google Services系が使えるのはアツいのかな。
ESP8266は基本的にディスプレイを使わない用途が多いが、データを上げて、それがWeb上で見られれば良いようなユースケースだったらペインにはならないだろう。結局、何がしたいかによって、何を使うべきなのか変わるし、まぁ好きなの使えよっていうことなのかしら。
(いやいや、こういうユースケースだったらAndroid Things最強でしょ、みたいなのがあれば教えてください)
というわけで
とはいえ、Android Things使ってみたいですね、とりあえず。諸事情でRPiが手元からいなくなってしまったので、だれかRPiくださいたのむ。
*1:クロスプラットフォームな開発ツールをつかえば、どんな言語でもイケる
*2:クロスプラットフォームな開発ツールをつかえば、どんな言語でもイケる
*3:ディスプレイとか売ってるけど、難しい描画とかは無理
*4:ディスプレイとか売ってるけど、難しい描画とかは無理
*5:内蔵してるやつもあるけど