LoginSignup
5

More than 5 years have passed since last update.

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

Last updated at Posted at 2017-05-27

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から出てきて、それが表示される仕組みです。

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

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
5