AndroidThingsの公式チュートリアルとして紹介されている「遠隔でも誰が来たか分かるドアベル」なノリのアプリDoorBellを実際に試してみた。
#準備と必要な部品
- インストールはこちらから!
- 1Kオームの抵抗([茶・黒・オレンジ・XX]の順)
- タクトスイッチ
- ジャンパ3本(メス-オス)
- ブレッドボード
公式チュートリアルでは専用ボードで紹介されていますが、直配線でも問題ないです。
緑色のコードはBCM21
に接続しています。(ピン配列はこちら)
#下準備
##コードのダウンロード
以下を実行して適当な場所にコードをCloneします。
$ git clone https://github.com/androidthings/doorbell.git;
##GCP(Google Cloud Platform)の準備
プロジェクトを作り、左ペインのメニューから[API Manager]-[Credentials]を選択します。
次の画面で[Create Credentials]-[API Key]を選択してキーを作成します。
表示されるキーを、先程Cloneしたコード以下のファイルの42行目へコピペします。
app/src/main/java/com/example/androidthings/doorbell/CloudVisionUtils.java
##Firebaseの準備
新規にプロジェクトを作りましょう。
ココの以下の3つを順に実行します。
ここではgoogle-service.json
のコピーは以下のディレクトリ直下、2箇所にコピーすることに注意してください。(AndroidThingsのアプリ向けと、アップロードを確認する為のスマホ用のアプリ向け)
- app/
- companionApp/
以上で準備は完了です。
#コンパイル
Android Thingsのハードへの接続はこの辺りを参照してください。
##追記(5月27日)
以下のようなエラーで最初はコンパイルが通りませんでした。
ここの最後のコメントの通り追記することでコンパイルができるようになりました。
configurations.all() {
exclude group: "org.apache.httpcomponents", module: "httpclient"
}
dependencies {
...
}
##実機へアプリをインストール
下のキャプチャの赤丸の部分をクリックするとコンパイルするアプリを選べます。まずはAndroid Things向けのアプリをコンパイルするのでapp
を選択して、隣の再生ボタンを押してコンパイルし、実機にインストールします。
##スマホへViewerアプリのインストール
スマホからアップロードされた画像を見る為のアプリです。Andoirdのエミュレータでも、実機でも動作しますので、適宜選んでください。
上の図のCompanionApp
を選択するとスマホ向けのアプリのコンパイルをしてインストールできるので、そちらを選んで再生ボタンを押します。
#動かしてみる
一度、Android Things(Raspberry Pi 3)を再起動しましょう。(カメラ、インターネットアクセス等へのPermissionを得られるのが現在は起動時のみなので)
ボタンを押すと写真が撮影されます。時間差を置いて、スマホ側へ表示がされ、更に待っていると、画像に何が写っているかがGoogleさんのCloud Vision APIから出てきて、それが表示される仕組みです。