10
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Android Thingsのdoorbellアプリを試す

Last updated at Posted at 2017-01-18

Android Thingsを載せたRaspberry Pi3のカメラで撮影した画像をFirebaseのDatabaseへ送り、Androidスマフォからリアルタイムで閲覧するAndroid Thingsのdoorbellサンプルアプリを試してみました。撮影した画像にはCloud Vision APIを使ってアノテーションも表示しています。

前準備

Android Things搭載ボード

Raspberry Pi3を使用してます。

Raspberry Pi3によるAndroid Things入門をご参照。

  • Raspberry Pi3
  • Raspberry Pi Camera Module V2
  • ブレッドボード
  • プッシュボタン(タクトスイッチ)1個
  • 抵抗 1KΩ 1個
  • ジャンパーワイヤー オスーオス2本、オス-メス3本

schematics.png

※GPIOピンはBCM21を使用してます。

Google Cloud Platform

プロジェクトを作って、コンソールのAPI ManagerでCloud Vision APIを有効にし、API Keyを作成したら、ソースにコピペします。

CloudVisionUtils.java
    private static final String CLOUD_VISION_API_KEY = "<ENTER VISION API KEY>";

Firebase

プロジェクトを作ったらAndroidアプリを追加し、設定ファイルのgoogle-services.jsonをダウンロードし、AndroidThingsアプリのappディレクトリ直下と、AndroidアプリのcompanionAppディレクトリ直下に置いてビルドします。

設定ファイル内のapi_keyが空っぽでビルドエラーになることがあるようです。
http://stackoverflow.com/questions/37317295/missing-api-key-current-key-with-google-services-3-0-0

google-services.json
      "api_key": []

コンソールからSDK設定手順を表示し、再度ダウンロードして設定されていれば、ビルドが通ります。

google-services.json
      "api_key": [
        {
          "current_key": "encrypted-string"
        }
      ],

ちなみにこのapi_keyはCloud Vision APIのキーとは別ものです。

Databaseのルールは、認証なしで誰でも読み書きできるようにしておきます。

{
  "rules": {
    ".read": true,
    ".write": true
  }
}

実行

  1. Raspberry Pi3に電源を入れてAndroidThingsを起動したらadb接続し、appアプリを実行します。

  2. 対向のcompanionAppアプリもスマフォで起動しておきます。

  3. ブレッドボード上のプッシュボタンを押すと撮影され、画像とアノテーションがFirebaseのDatabaseに登録されます。

  4. companionAppアプリでリアルタイムに表示されます。(タイムラグはあります。)

自分は手順を行きつ戻りつしていたので起きていたか不明ですが、Developer Preview 1の既知の不具合により、撮影できるようにするために、AndroidThingsのアプリを起動後に一旦ボードをリセットする必要があるようです。

Screenshot_20170118-103658[1].png

おしまい

その名の通り、IoTはネットワークで(とりわけバックエンドと)つながると、いろいろな組み合わせと用途が広がる感じがしてワクワク感がありますね。

10
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?