アオカケスの鳥かご

日々の出来事を綴っていきたい

Amazon Dash Buttonでインターホンを作る

この前AmazonでセールをやっているときにDash Buttonを購入しました。このDash Buttonを使って簡易的なインターホンを作ります。

f:id:aokakes:20180818215415j:plain

ちなみにDash Buttonは通常は500円ですが、セール中は100円で購入することができます(一部対象外)。

 

また、大学の研究室に設置することを想定しているため、防水性とかは全く考えていません。

 

条件など

金欠なので出来る限り手持ちの機材で済ませます。Dash Buttonを含めて以下のものがありました。

 最初はラズパイを使う予定だったのですが、音を出す段階で問題が生じたため、実際に使ったのはDash Buttonとスマホだけです。

 

また、大学の回線はあまり使いたくないため、オフラインで実装します。

 

実装方法

実際にインターホンを作りながら試行錯誤したのですが、ネット上にある方法でやってみると中々うまくいきませんでした。

Dash Buttonで何かやろうとなるとまずはDash ButtonのMACアドレスを特定し、そのMACアドレスからのarp要求を監視するサーバを設置します。そのサーバにarp要求を確認したら何かしらのコマンドを実行できるようにしておくことで色々できるようになります。

こちらのサイトが参考になりました。

qiita.com

当初はこの方法でやっていたのですが、先ほども述べたように音を出す段階で問題が生じました。というか、スピーカーがありませんでした。

ハードオフとかで買おうかとも考えたのですが、そもそもラズパイのAV端子はノイズが酷いためあまり使い物になりません。USBスピーカーという手もありますが、高いので今回は却下。

 

そこでスマホから音を出す方法を考えます。方法はいくつか考えられますが、オフラインで実装する必要があるためメールやSNSなどの通知で音を鳴らすことはできません。色々考えて最終的にたどり着いた方法はMacroDroidというアプリに頼ることでした。

MacroDroidはマクロを実行することができるアプリです。何かトリガーを設定し、それに応じてアクションを設定することで一連の流れを自動化することができます。

よくある使い方としては、家から出たらスマホの音量を下げてマナーモードにする。でしょうか。

 

今回はこのMacroDroidを用いてインターホンを作ります。

流れは以下の通りです。

  1. Dash Buttonが押される
  2. Dash Buttonがスマホのアクセスポイントに接続
  3. スマホでマクロ実行
  4. 通知音が鳴る

 

実装

Dash Buttonの設定

まずはDash Buttonを使えるようにしなければいけません。先ほどのサイトを参考にしてDash Buttonを登録します。

今回のやり方で実装する場合、Dash Buttonを登録する際に1つ注意しなければならない点があります。

Dash Buttonが接続するWi-Fiスマホのものでなければなりません。また、設定を行う際にスマホがインターネットに接続できていない場合途中で中断されてしまいます。

Wi-Fiテザリングを実行していると、スマホは他のWi-Fiに接続できないため携帯回線でインターネットに接続する必要があります。SIMカードを差しておきましょう。Bluetoothテザリングという手でもいけるかもしれません(未検証)。

Dash Buttonの登録が済んだらSIMカードは抜いておきます。

 

登録が済んだら動作確認します。

スマホの設定からWi-Fiテザリングのところを開きます。

Androidのバージョンによって細かな違いはあると思いますが、大体「無線とネットワーク」のところにあります。

Wi-Fiテザリングのところに接続機器の一覧がありますので、この画面を開いたままDash Buttonを押してみてください。ちゃんと登録できていれば一瞬だけMACアドレスIPアドレスが表示されるはずです。通知欄には接続中の台数が表示されます。

 

f:id:aokakes:20180818223858j:plain

また、勝手にテザリングがOFFにならないように設定しておきます。これは結構Androidのバージョンによって場所が違うようなので探してください。

 

MacroDroidの設定

PlayストアからMacroDroidをダウンロードします。

f:id:aokakes:20180818215242j:plain

マクロを組んでいきます。まずはトリガーの設定。

「Device Events」のところに「通知」があるのでこれを選択。

f:id:aokakes:20180818215654p:plain

その後「通知が表示された時」→「任意のアプリケーション」と押していくと細かい設定を入力する画面になります。

テキストコンテンツを「一致」か「含む」にしてテキスト欄には「1」と入力しておきます。この「1」はスマホのアクセスポイントに接続中の機器数のことを想定しています。Dash Buttonのほかに接続する機器がある場合はその数に応じて適宜変更してください。

「実行中通知を無視」のチェックも外しておきます。

f:id:aokakes:20180818220117p:plain

次にアクションの設定です。通知が来たら音を鳴らすように設定します。

「通知」から「通知音を設定する」を選択。

f:id:aokakes:20180818220326p:plain

好きな通知音を選択します。ファイルマネージャがない場合はスマホにもとから入っている通知音しか設定できません。ESファイルエクスプローラなどを入れると音楽なども設定できるようになります。

f:id:aokakes:20180818220653p:plain

通知を表示するようにします。「通知」から「通知を表示」を選択。

細かい設定を入力する画面になるので、適宜入力します。タイトルとテキストは分かりやすいものにしておきます。

f:id:aokakes:20180818221027p:plain

設定できたら右下のチェックマークを押して保存。

これでインターホンは完成です。

f:id:aokakes:20180818221331p:plain

Dash Buttonを押すとスマホから通知音が鳴ります。

ゆかりさんにしゃべってもらいました。相変わらず良い声です。

Dash Buttonそのまんまだとインターホンだと分かってもらえないので、インターホンっぽくします。

こちらをありがたく使わせていただきます。

 pdfをダウンロードしてwordで開きます。てきとうに文字を埋め込んで印刷し、ラミネートして貼り付ければ立派なインターホンの完成です。

f:id:aokakes:20180818215415j:plain

 

 

感想

最終的には一切プログラミングせずにできてしまいました。なんだかちょっと拍子抜けです。スマホをアクセスポイントとして運用するのはバッテリーを無駄に消耗しますし、正直かなり頭が悪いやり方ですが今のところ一番手軽そうです。

オフラインという条件を無くせばもっとマシな方法があるかもしれません。

 

今回使用したMacroDroidはトリガーやアクションに結構色々なことを設定できます。ボタンが押されたときに写真を撮るなどといったことも可能です。スマホに搭載されている各種センサーなども使うことができるため、組み合わせれば防犯カメラ的なものも作れそうです。