AmazonDashボタンからSlackにメッセージを投稿する

#はじめに

これは[Life is Tech! members](https://qiita.com/advent-calendar/2017/lit-members)アドベントカレンダーの９日目の記事です。

どうもこんにちは。[さと](http://twitter.com/Higa_Coc)です。大阪土曜AのスクールでiPhoneしてます。

今回は壁に貼られたまま全く使われていなかったAmazonDashButton(¥500)の新しい使い方を見出す記事になります。

![IMG_9026-squashed.JPG](https://qiita-image-store.s3.amazonaws.com/0/185109/bc071800-fa67-09ca-aced-e085d1536d0c.jpeg)



~~ぶっちゃけDashButton需要ないですよね？(小声)~~

#1 : セットアップ

まずはAmazonアプリを使ってDashButtonのセットアップをします。

[iPhone](https://itunes.apple.com/jp/app/amazon-%E3%82%B7%E3%83%A7%E3%83%83%E3%83%94%E3%83%B3%E3%82%B0%E3%82%A2%E3%83%97%E3%83%AA/id374254473?mt=8)
[Android](https://play.google.com/store/apps/details?id=com.amazon.mShop.android.shopping&hl=ja)

アプリ内のアカウントサービスから

<img width="375" alt="IMG_2102.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/185109/88a1afc1-05ba-2ac7-6b88-46c1f7f86430.jpeg">

新しい端末をセットアップ

<img width="375" alt="IMG_A5DABEB4B18D-1.jpeg" src="https://qiita-image-store.s3.amazonaws.com/0/185109/7bc775cb-27b9-48f1-f66a-4e350719ddc6.jpeg">

指示に従ってセットアップしましょう。
※画像では4G接続になっていますが必ずWi-Fiに接続して下さい。

<img width="375" alt="IMG_167EEED7288B-1.jpeg" src="https://qiita-image-store.s3.amazonaws.com/0/185109/7c562073-e586-fff0-94d9-dd63c652e94a.jpeg">

セットアップが終了すると、注文する商品の選択を求められると思います。その際に右上にある ✕ ボタンを押してそのままセットアップを終了して下さい。

![7AE3C8C1-FE15-483F-A3B7-87BB7D1524B1.JPG](https://qiita-image-store.s3.amazonaws.com/0/185109/033c7896-607a-9a3f-83c3-7335e4d79579.jpeg)

ここで商品を選択してしまうと押せば押すだけ商品が自宅に届いてしまうので注意して下さい()

以上でセットアップは完了です:clap:


#2 : Dasherのインストール

DashButtonのコントロールする為に、`Dasher`と言うツールを使います。

[Github]()

注意:node.jsがインストールされているものとします。(インストールされてない？ ~~自分でググってどうぞ~~ )

###Dasherのインストール

```
$ git clone https://github.com/maddox/dasher.git
$ cd dasher
$npm install
```

###macアドレスを調べる

```
$ ./script/find_button
```

```
Watching for arp & udp requests on your local network, please try to press your dash now
Dash buttons should appear as manufactured by 'Amazon Technologies Inc.' 
Possible dash hardware address detected: [ココがmacアドレスです] Manufacturer: Cisco Systems Protocol: arp

```
#3 : コードの記述

`config.json`ファイルに記述します。`/user/username/dasher/config`ファイル直下にあります。

先程取得したmacアドレス、SlackのWebhookのURLを記述します。

[ここ](https://slack.com/apps/A0F7XDUAZ--web-)からWebhookのURLを取得して下さい。
矢印の先のリンクをコピーしておきます。

![_b8e24548bbc6d1a7582682608b1d32ba___E3_82_B9_E3_82_AF_E3_83_AA_E3_83_BC_E3_83_B3_E3_82_B7_E3_83_A7_E3_83_83_E3_83_88_202017-12-05_2012_21_09.png](https://qiita-image-store.s3.amazonaws.com/0/185109/fd364449-670b-129a-7b13-2d67c723f9e5.png "_b8e24548bbc6d1a7582682608b1d32ba___E3_82_B9_E3_82_AF_E3_83_AA_E3_83_BC_E3_83_B3_E3_82_B7_E3_83_A7_E3_83_83_E3_83_88_202017-12-05_2012_21_09.png")




```json:config.json
{"buttons":[
  {
    "name" : "test",
    "address": "コピーしたmacアドレス",
    "url": "コピーしたWebhookのURL",
    "method": "POST",
    "json": true,
    "body":{"text":"Slackに送信したいtextを入力"}
  }
]}

```

#Run

`$ sudo npm run star`

※ボタンを押してから10秒ぐらい遅延があります。

#完成

やったぜ🤘

![スクリーンショット 2017-12-05 12.29.04.png](https://qiita-image-store.s3.amazonaws.com/0/185109/a64d1201-fcbc-5541-0a88-bf0bf27baffd.png "スクリーンショット 2017-12-05 12.29.04.png")

#(おまけ)IFTTTにリクエスト送信してみよう

先程のSlackのWebhookのURLを記載した部分に[ここ](https://ifttt.com/maker_webhooks)から取得したURLを記載してrunするとIFTTTにリクエストが送信されるので、指定した動作を実行することが出来ます。

例：Hueを使った電気のOn,Off、Twitterに投稿 etc…