Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Amazon Dash Buttonの話
Search
Takaki Hoshikawa
May 15, 2020
Programming
190
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Amazon Dash Buttonの話
M3 Tech Talk #147
2年半ぶりに2度目のAmazon Dash Button利用でキュ キュット(洗剤)を買おうとしたら動かなかったのでIoTボタンにした話です
Takaki Hoshikawa
May 15, 2020
More Decks by Takaki Hoshikawa
See All by Takaki Hoshikawa
明日からはじめるオンライン勉強会
oboenikui
0
130
Flutterを使って医師相談アプリを短期リリースした話
oboenikui
4
2.8k
Navigation Componentで先に知っておきたかったポイント
oboenikui
7
2.8k
Jetpack Security
oboenikui
5
1.4k
Kotlin/NativeのiOSにおけるオーバーヘッド
oboenikui
6
3.1k
Kotlin_2FNative__使ってみた_の一歩先へ.pdf
oboenikui
0
110
アプリをエミュレートするアプリの登場とその危険性 / How multi-account app works #DroidKaigi
oboenikui
0
150
Multiplatform Projectsの向かう先 #m3kt
oboenikui
0
610
Starting Kotlin/Native おなじところ、ちがうところ #m3kt
oboenikui
1
7.5k
Other Decks in Programming
See All in Programming
今さら聞けない .NET CLI
htkym
0
170
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
180
作るコストが小さくなった時代 幸せに働くために改めて考えたいこと 〜エンジニアとして価値を出し続けるために注視している二分野〜
yuppeeng
0
170
Foundation Models frameworkで画像分析
ryodeveloper
1
320
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
200
Build-to-own AI: Agentic Development for Humans
inesmontani
PRO
0
160
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
3.3k
AI時代の仕事技芸論〜ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ(スクフェス仙台 2026バージョン)
kuranuki
0
790
AI時代のPHPer生存戦略 ~「言語、もうなんでもよくない?」に本気で向き合う~
vivion
0
220
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
1.1k
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
560
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
380
Featured
See All Featured
Building the Perfect Custom Keyboard
takai
2
830
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
420
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
190
Designing for humans not robots
tammielis
254
26k
WENDY [Excerpt]
tessaabrams
11
39k
A Tale of Four Properties
chriscoyier
163
24k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Documentation Writing (for coders)
carmenintech
77
5.4k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Optimizing for Happiness
mojombo
378
71k
The SEO identity crisis: Don't let AI make you average
varn
0
520
Transcript
Amazon Dash Button 話 星川 貴樹 (@oboenikui) M3 Tech Talk
#147
こと 発端 2年半ぶりに2度目 Amazon Dash Button利用でキュ キュット(洗剤)を買おうとしたら動かなかった
こと 発端 https://www.amazon.com/gp/help/customer/display.html?nodeId=201706050 2019/8/31をもって、Dash Buttonデバイスで商品 購入ができなくなりました。
1回押されただけで捨てられる キュキュットDash Buttonが かわいそう!!!!!!!!
Amazonから 追い打ち https://www.amazon.com/gp/help/customer/display.html?nodeId=201706050 2019/12/31に、あなた ボタン 自動的に登録解除されリセットされる で操作 必要 ありません。
Dash Buttonがリセットされると…… Wi-Fi AP情報が削除される → IoTボタンとして使えなくなる → Amazonアプリから設定もできなくなる でWi-Fi機能を持ちながら無限 プチプチ程度
価値 ボタンに成り下がる → や い!!!
期限 !?!?!?!?!? https://www.amazon.com/gp/help/customer/display.html?nodeId=201706050
\(^o^)/
本当に使えなくなったか確認 Python amazon-dashを利用 or $ pip install -U amazon-dash $
pip3 install -U amazon_dash
本当に使えなくなったか確認 $ sudo amazon-dash discovery MACアドレス
\(^o^)/ 検出できた!!!
補足:セットアップしていない場合 2016年5月以前に製造されたDash Button 場合、セットアッププロセス中に 超音波信号でWi-Fi情報を受信するところでバッファオーバーフローを発生さ せられるため、これを悪用してWi-Fi セットアップができる 利用に Wi-Fiを搭載したLinuxマシンとイヤホンが必要 https://docs.nekmo.org/amazon-dash/rescue.html
インターネットから遮断する インターネットに接続されていると設定がリセットされる恐れがある で、ルー タ 設定で遮断する (家庭用ルータでもペアレンタルコントロール的な機能でできそう)
Dash ButtonでSlack通知する (n番煎じ)
Dash ButtonをIoTボタンにする原理 Dash Button ボタンが押されると 1. 起動 2. Wi-Fi接続 &
インターネット接続 3. Amazon サーバにデバイス情報を送信 (= 注文処理)
Dash ButtonをIoTボタンにする原理 Dash Button ボタンが押されると 1. 起動 2. Wi-Fi接続 &
インターネット接続 3. Amazon サーバにデバイス情報を送信 (= 注文処理) インターネット接続をブ ロックしたため
Wi-Fi接続をトリガーとして処理する Wi-Fi接続後、ルータ MACアドレスを知るため にARP要求をブロードキャストする ブロードキャストパケットを監視するサーバを LAN 内に建てておき、Dash Button MACアドレス 情報を持つARP要求
受信をトリガーとして特定 処理をする 図 引用元:https://www.itbook.info/study/p73.html
Python amazon-dashで監視 Dash Button トリガーアクションとし て主要な処理が実装されている 以前 Node.js dash-buttonが主流 だったようだが、今
メンテされていない & amazon-dash推しになってる
config file settings: interface: eth0 devices: 0C:47:C9:98:4A:12: # discoveryコマンドで調べたMACアドレス name:
Slack url: 'https://hooks.slack.com/services/XXXXX/XXXXXX/XXXXXXX' method: post content-type: json body: '{"text": "hello"}' 0C:47:C9:98:4A:13: ...
デプロイ Docker 場合 systemd 場合 (Raspberry Piで動かすならこっち) $ docker run
-it --network=host \ -v </full/path/path/to/amazon-dash.yml>:/config/amazon-dash.yml \ nekmo/amazon-dash:latest \ amazon-dash run --ignore-perms --root-allowed \ --config /config/amazon-dash.yml $ sudo cp <path/to/amazon-dash.yml> /etc/amazon-dash.yml $ sudo python3 -m amazon_dash.install $ sudo systemctl enable amazon-dash && sudo systemctl start amazon-dash
動作 押してから2秒くらいでSlack投稿される Dash Button 仕様上連打 できない ಈը
まとめ n番煎じ Dash Button活用法について話しました 余ったDash Buttonがある人 活用してみてください