Amazon Dash Button でおうちハックしようその1 セットアップ編

IoT大好きな皆さん、こんにちは。

[Amazon Dash Button](https://www.amazon.co.jp/b?ie=UTF8&node=4752863051) がとうとう日本でも購入できるようになりましたね。
既にQiita でも多くの記事が公開されており、この小さなボタンに皆がいかにご執心かが伺えます。

どうしてAmazon Dash Button が皆の関心を集めるのでしょうか？
[IFTTT Do Button](https://ifttt.com/do_button) じゃダメなんでしょうか？

本稿ではAmazon Dash Button の良さと、ハックするための準備について書いていきます。

てかなんで[AWS IoT Button](https://aws.amazon.com/jp/iot/button/) は日本で使えないのでしょうか？

# この記事を読むとわかること
- なぜAmazon Dash Button をハックするのか
- Amazon Dash Button をハックするための準備手順

# この記事を読んでもわからないこと
- 妻を説得する方法
- AWS IoT Button が日本で使えない理由

## Amazon Dash Button ってこんなもの
押すとAmazon から品物が届くボタン型デバイスです。
カンタンに日用品が注文できますよ、と。
クローゼットに貼り付けておけばファブリーズを買い忘れなくてすみますよ、と。
ボタンの代金は注文時に自動でクーポン適用されて差っ引かれるので、実質導入費用無料ですよ、と。
そんな真っ当で便利な使い方は小金持ちのプライム会員に任せておきましょう。

Amazon がどれだけ素晴らしいプロダクトを発表しようと私たちが素直に受け入れることはありません。
私たちは「自分の生活にカンペキマッチングするモノ作れるの結局自分」という妄想に取り憑かれているからです。
例外はiPhone くらいのものです。

私とあなたから見れば、このボタンは「Wi-Fiモジュールを内蔵した」「単体で動く」「安価な」「物理ボタン」です。
そしてそれらはとても良いことです。
こんな理由で都合が良いのです。

### 無線でつながっています。
このボタンの仕組みは下記サイトが詳しいですが、詰まるところ「Wi-Fiモジュールが載ってて、無線で繋がる」ところが良いところなのです。

[​Appliance Science: How the Amazon Dash button works - CNET](https://www.cnet.com/news/appliance-science-how-the-amazon-dash-button-works/)

「玄関でボタンが押された」ことをリビングのmacbookが、物置のRaspberry Pi が検知し、
プログラムを発火させるきっかけにすることができます。

もちろん無線LAN を搭載したおうちハックモジュールといえば [ESP8266](https://ja.wikipedia.org/wiki/ESP8266) が既に定番としてありますが、
実際に使うまでは、購入方法も含めて低くないハードルがありました。
Amazon Dash Button が優れている点その1は、「コイツこんなザル設定で俺のクレジットカードから引き落としする気だったの？」と
思ってしまうくらい簡単にセットアップできてしまうところなのです。

### どこにでも置けます
このボタンは単体で動きます。コンセントやRaspberry Piに繋ぐ必要はありません。
おうちの中ならどこに置いても（無線LANが届くなら玄関先にも）使えます。
8*3cmのスペースがあれば、トイレットペーパーの上、玄関、台所の壁、
（このボタンの裏側はシールになっていて、家の中の大体どこにでも貼り付けられます。
環境に馴染もうと、少なくともあなたの目の前にいる同僚よりも、真摯に努力しているのです。）
そしてベットの中にでも設置できます。
来たる「性の6時間」に、あなたは自分の消費カロリーを（パートナーに気づかれることなく）ツイートすることができるのです。

### ワンコインで買えます
1個500円です。

### 説明不要、誰にでも使えます
Amazon Dash Button は物理ボタンです。
小さなボディーの3分の1を占める大きなボタンは、「押すこと」を強烈に示唆しています。
もしもあなたが素晴らしいおうちハックを成したとしても、そのイベントの発火手順が複雑なものであったら、
それはあなたの母、妻、子供には受け入れられないでしょう。
（さらにいえば、二つ以上の工程を必要とするものは「複雑なもの」と呼ばれるでしょう）

アフォーダンスとは、デバイスが持つ属性ではありません。
それを使う主体の能力と、デバイスの性質が合わさって決定される存在です。
IFTTT Do Button はスマホをタップするだけでHTTPリクエストを飛ばせるとても強力なツールですが、
使いこなすために必要な知識は、一般的であるとはとても言えません。
あなたがこのボタンを家に置く理由は「あなたの家族も使えるから」です。

# ハックの準備
前置きが長くなりました。
ここからは実際にハックするためのセットアップ手順を紹介します。
説明書、ガイダンス通りに進めれば問題なくセットアップできるかと思います。
ただ一つ、**商品選択画面まできたら、何も選択せずにキャンセル**してください。

商品未選択にとどめて置くことで、
「Wi-Fiには繋がるが、商品購入は行われない」
状態を作ります。

##前準備
- LANに繋がったスマホを用意する
- Amazon アプリをインストールする

##簡単6ステップ
1. 手持ちのiPhone 、Android 端末でAmazon アプリを立ち上げます。
2. 左上のメニューから [アカウントサービス] > [新しい端末をセットアップ] を選択します。
<img width="414" alt="fullsizeoutput_155e.jpeg" src="https://qiita-image-store.s3.amazonaws.com/0/113652/8f6642a9-1d65-d9f7-b2ed-93dea99c1ed1.jpeg">

3. 「同意して開始」をタップ
<img width="414" alt="fullsizeoutput_15ad.jpeg" src="https://qiita-image-store.s3.amazonaws.com/0/113652/1fe18292-d0a4-c7c3-cbad-1c1fb48777f9.jpeg">

4. 画面の指示に従い、Dash Button を長押し
<img width="414" alt="fullsizeoutput_15a9.jpeg" src="https://qiita-image-store.s3.amazonaws.com/0/113652/8f4add75-01a9-0668-965b-0465e805f3a3.jpeg">

5. スマホが接続されているネットワークに自動で接続される
6. **商品選択画面で何も選択せずにキャンセルする**
<img width="414" alt="fullsizeoutput_15ab.jpeg" src="https://qiita-image-store.s3.amazonaws.com/0/113652/b26adb58-519c-4d61-e71a-9ea7c603892e.jpeg">

<img width="414" alt="fullsizeoutput_15aa.jpeg" src="https://qiita-image-store.s3.amazonaws.com/0/113652/6483c81f-f1f3-9719-f32b-471ea2704f70.jpeg">

最終的に、「セットアップを完了するには・・・」というメッセージが出る状態になれば、**私たちのセットアップは完了です。**
<img width="414" alt="fullsizeoutput_15ac.jpeg" src="https://qiita-image-store.s3.amazonaws.com/0/113652/81065542-2e48-8772-5e35-3c74fbaa3418.jpeg">

次回以降は、[Dasher](https://github.com/maddox/dasher)や[node-dash-button](https://github.com/hortinstein/node-dash-button)を使って電気をつけたり息子を叱ったりしてみたいと思います。