Help us understand the problem. What is going on with this article?

Android ThingsのサンプルDoorBellアプリを試してみた

More than 3 years have passed since last update.

AndroidThingsの公式チュートリアルとして紹介されている「遠隔でも誰が来たか分かるドアベル」なノリのアプリDoorBellを実際に試してみた。

準備と必要な部品

  • インストールはこちらから!
  • 1Kオームの抵抗([茶・黒・オレンジ・XX]の順)
  • タクトスイッチ
  • ジャンパ3本(メス-オス)
  • ブレッドボード

公式チュートリアルでは専用ボードで紹介されていますが、直配線でも問題ないです。
Screen Shot 2017-05-26 at 2.33.29 PM.png

緑色のコードはBCM21に接続しています。(ピン配列はこちら

下準備

コードのダウンロード

以下を実行して適当な場所にコードをCloneします。

$ git clone https://github.com/androidthings/doorbell.git;

GCP(Google Cloud Platform)の準備

プロジェクトを作り、左ペインのメニューから[API Manager]-[Credentials]を選択します。
Screen Shot 2017-05-26 at 2.38.14 PM.png

次の画面で[Create Credentials]-[API Key]を選択してキーを作成します。
Screen Shot 2017-05-26 at 2.40.31 PM.png

表示されるキーを、先程Cloneしたコード以下のファイルの42行目へコピペします。
app/src/main/java/com/example/androidthings/doorbell/CloudVisionUtils.java
Screen Shot 2017-05-26 at 2.51.07 PM.png

Firebaseの準備

新規にプロジェクトを作りましょう。
ココの以下の3つを順に実行します。

ここではgoogle-service.jsonのコピーは以下のディレクトリ直下、2箇所にコピーすることに注意してください。(AndroidThingsのアプリ向けと、アップロードを確認する為のスマホ用のアプリ向け)

  • app/
  • companionApp/

以上で準備は完了です。

コンパイル

Android Thingsのハードへの接続はこの辺りを参照してください。

追記(5月27日)

以下のようなエラーで最初はコンパイルが通りませんでした。
Screen Shot 2017-05-27 at 4.46.18 PM.png

ここの最後のコメントの通り追記することでコンパイルができるようになりました。

configurations.all() {
    exclude group: "org.apache.httpcomponents", module: "httpclient"
}

dependencies {
    ...
}

実機へアプリをインストール

下のキャプチャの赤丸の部分をクリックするとコンパイルするアプリを選べます。まずはAndroid Things向けのアプリをコンパイルするのでappを選択して、隣の再生ボタンを押してコンパイルし、実機にインストールします。
Screen Shot 2017-05-26 at 3.01.33 PM.png

スマホへViewerアプリのインストール

スマホからアップロードされた画像を見る為のアプリです。Andoirdのエミュレータでも、実機でも動作しますので、適宜選んでください。
上の図のCompanionAppを選択するとスマホ向けのアプリのコンパイルをしてインストールできるので、そちらを選んで再生ボタンを押します。

動かしてみる

一度、Android Things(Raspberry Pi 3)を再起動しましょう。(カメラ、インターネットアクセス等へのPermissionを得られるのが現在は起動時のみなので)

ボタンを押すと写真が撮影されます。時間差を置いて、スマホ側へ表示がされ、更に待っていると、画像に何が写っているかがGoogleさんのCloud Vision APIから出てきて、それが表示される仕組みです。

実際の機器たちはこんな感じ

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした