ラズパイがないとAmazon Dash Buttonをハックできない、そんなふうに考えていた時期が私にもありました

もっと簡単にできますよ、コーディングなしでね
---

仕組み
---
:one: Amazon Dash Buttonの制御は、ラズパイではなく、Androidスマホやタブレットを利用します。眠っているもので十分だと思います。
:two: Amazon Dash Buttonを押すと「セットアップが完了していません」とエラーメッセージが通知されるので、それで**どのボタンが押されたか**を識別します。

|<img src="https://qiita-image-store.s3.amazonaws.com/0/63318/8165354b-9b41-a9f1-c551-8077c49ff63c.png" width="200">|<img src="https://qiita-image-store.s3.amazonaws.com/0/63318/4c7532e1-3c6a-4451-7836-c5e6c1f7978f.png" width="200">|
|:-:|:-:|

:three: [MacroDroid - デバイス自動化](https://play.google.com/store/apps/details?id=com.arlosoft.macrodroid&hl=ja)でハックします。Amazon Dash Buttonを識別し、[IFTTT](https://ifttt.com/)等に取り次ぎします。

設定
---

:one: 必要なアプリ

- [Amazon ショッピングアプリ](https://play.google.com/store/apps/details?hl=ja&id=com.amazon.mShop.android.shopping)
- [MacroDroid - デバイス自動化](https://play.google.com/store/apps/details?hl=ja&id=com.arlosoft.macrodroid)

:two: Amazon Dash Buttonのセットアップ

Amazon ショッピングアプリで設定します。Wi-Fiネットワークを指定した後、商品一覧が表示されたら、**セットアップを途中で終わります**。

|1|2|3|
|:-:|:-:|:-:|
|<img src="https://qiita-image-store.s3.amazonaws.com/0/63318/eda96cd8-0730-8d0d-dcfc-20c8b8cf6e75.png" width="200">|<img src="https://qiita-image-store.s3.amazonaws.com/0/63318/c4804e37-121a-d032-b256-3268aade8b76.png" width="200">|<img src="https://qiita-image-store.s3.amazonaws.com/0/63318/6085b09e-8664-9de4-0f71-be881afcef34.png" width="200">|
|**4**|**5**|**6**|
|<img src="https://qiita-image-store.s3.amazonaws.com/0/63318/bc5a9a05-d728-48d3-2e45-a7673696b206.png" width="200">|<img src="https://qiita-image-store.s3.amazonaws.com/0/63318/a90c03d1-c28e-a3b7-29ab-bb8d1a54d129.png" width="200">|<img src="https://qiita-image-store.s3.amazonaws.com/0/63318/52a27808-dc93-39a4-1e15-b04867ce4780.png" width="200">|
|**7**|**8**||
|<img src="https://qiita-image-store.s3.amazonaws.com/0/63318/d86d6d87-d6cd-0bbc-d8ea-dff7e7038617.png" width="200">|<img src="https://qiita-image-store.s3.amazonaws.com/0/63318/758f427a-6f67-76bc-4867-8f7ccd9a6976.png" width="200">||



:three: MacroDroidの設定（基本編）

MacroDroidは**「ある一定の条件（＝トリガー）」**を満たすと、**「特定の操作（＝アクション）」**を自動化できます。

**トリガー**
　　もし**「Amazon ショピングアプリ」**の**「通知」**が表示され、その中に**「シーチキン」**が含まれていたら
**アクション**
　　**「通知」**の**「ポップアップメッセージを表示」**で**「シーチキン、押されたお(=^・^=)ﾉ」**を表示する。

|1|2|3|
|:-:|:-:|:-:|
|<img src="https://qiita-image-store.s3.amazonaws.com/0/63318/872af466-e8b3-35f3-4619-e7b5c703dc67.png" width="200">|<img src="https://qiita-image-store.s3.amazonaws.com/0/63318/291d3f19-dd21-fcc4-5f46-72cef7ce696a.png" width="200">|<img src="https://qiita-image-store.s3.amazonaws.com/0/63318/75094cec-3bb3-c619-d32f-9d9c67a6a35d.png" width="200">|
|**4**|**5**|**6**|
|<img src="https://qiita-image-store.s3.amazonaws.com/0/63318/29dce922-5ad1-3395-2713-7b1fdb3ec55c.png" width="200">|<img src="https://qiita-image-store.s3.amazonaws.com/0/63318/e31c522f-ec5d-8253-6a91-af486609f1fe.png" width="200">|<img src="https://qiita-image-store.s3.amazonaws.com/0/63318/75094cec-3bb3-c619-d32f-9d9c67a6a35d.png" width="200">|
|**7**|**8**|**9**|
|<img src="https://qiita-image-store.s3.amazonaws.com/0/63318/628ceb99-7d0f-fddb-42d5-b8f13bcad47b.png" width="200">|<img src="https://qiita-image-store.s3.amazonaws.com/0/63318/e08ef1a9-c4b9-e405-10f2-0e51dc45fdc2.png" width="200">|<img src="https://qiita-image-store.s3.amazonaws.com/0/63318/2cd9b44a-8a76-c55e-adc4-a8e3ab9a4964.png" width="200">|
|**10**|**11**|**12**|
|<img src="https://qiita-image-store.s3.amazonaws.com/0/63318/39f682ce-cad9-ce25-cc66-4d251227b128.png" width="200">|<img src="https://qiita-image-store.s3.amazonaws.com/0/63318/3c6cb3bd-02d0-0d6c-6891-c0895c7be98f.png" width="200">|<img src="https://qiita-image-store.s3.amazonaws.com/0/63318/6e444ddb-83e0-9c61-b65e-632a8f2bc357.png" width="200">|
|**13**|**14**|**15**|
|<img src="https://qiita-image-store.s3.amazonaws.com/0/63318/24186d41-42c6-caed-fd32-d3dacf0ff575.png" width="200">|<img src="https://qiita-image-store.s3.amazonaws.com/0/63318/b47ce260-a997-dffb-7bce-aa626d33825c.png" width="200">|<img src="https://qiita-image-store.s3.amazonaws.com/0/63318/33a8c7bd-e3dc-80db-b12f-af5574993fd7.png" width="200">|
|**16**|**17**||
|<img src="https://qiita-image-store.s3.amazonaws.com/0/63318/532d9020-6c8b-d87a-9794-2a9d2306f757.png" width="200">|<img src="https://qiita-image-store.s3.amazonaws.com/0/63318/4766567f-cce0-82a5-2fa7-c1e00bcef2df.png" width="200">||

|実行例|
|:-:|
|<img src="https://qiita-image-store.s3.amazonaws.com/0/63318/3eb78ab1-623b-0f9d-0bac-0d469fc73eef.png" width="200">|

:four: MacroDroidの設定（応用編）

それでは**IFTTT**の**Webhooks**と連携します。これでいっきにいろんなことができます。

**アクション**
　　**「アプリケーション」**の**「Webサイトを開く／HTTPを取得」**で、**「IFTTT/Webhooks」のURLを呼び出す**。

(URL例)
https\://maker.ifttt.com/trigger/adb_test/with/key/1234567890abcdefghijkl

|1|2|
|:-:|:-:|
|<img src="https://qiita-image-store.s3.amazonaws.com/0/63318/43183ee5-bbbc-3e06-251d-78c33f6b7c02.png" width="200">|<img src="https://qiita-image-store.s3.amazonaws.com/0/63318/4d3516d3-2362-a46b-0d6e-05d837a2ee27.png" width="200">|

:five: 気をつけて欲しいこと

この仕組みは、同種類のAmazon Dash Buttonを個体識別できません。つまり２つの「シーチキン」は同じものとして処理されます。だから100円で特売している時にいろんな種類の購入をおすすめします。

:six: 最後にひとこと

AWS IoT エンタープライズボタン欲しいけど高くて買えないお。