Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Amazon Dash Buttonの話
Search
Takaki Hoshikawa
May 15, 2020
Programming
200
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.2k
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
アクセシビリティから考える情報設計
high_g_engineer
0
340
PyConJP2026_wat_Python × Signal Processing: How to Draw Pictures with Sound Using Spectrogram Art
wat
0
680
[GoCon2026] When Goroutines Are Not Enough: Runtime Locality in High-Throughput Go
takehaya
5
1.3k
自分的「カンファレンスの楽しみ方」
syumai
0
200
DynamoDBの基礎を振り返りながらベクトル検索機能を理解する
musan
3
270
AIエージェント時代のコードレビューを設計する
nogu66
6
2.6k
まだ間に合う!今年の夏こそSchemeのマクロ展開器を完全理解!
omasanori
0
640
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
660
PHPプロジェクトの結合バランスを可視化する #php_night
kajitack
0
230
RSSとCodexを使ってX投稿自動化してみた
ochtum
0
110
デプロイ直後のレイテンシスパイクを調べたら、 Railsの仕様にたどり着いた
nhsykym
0
110
【高い買い物LT会】初任給で話題の国産フィジカルAIを買った話
akagami
PRO
0
120
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Visualization
eitanlees
152
17k
The Curious Case for Waylosing
cassininazir
1
500
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
230
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Music & Morning Musume
bryan
47
7.4k
Bash Introduction
62gerente
615
220k
Rails Girls Zürich Keynote
gr2m
96
14k
Tell your own story through comics
letsgokoyo
1
1.1k
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がある人 活用してみてください