概要
本稿は、Nekmo/amazon-dash を用いて、Amazon Dash Button を工作用途で使っている人向けです。
トラブルシューティングのためのいくつかの方法を示します。
前提
拙稿 2021年でも最強IoT物理ボタンなAmazonDashButtonで遊ぼう 〜セットアップ方法と、Pixela APIを叩く実例〜で紹介した構成を前提としています。
- Amazon Dash Button を持っている
- 自宅の Wi-Fi に接続設定済
- Nekmo/amazon-dash を Raspberry Pi にインストールして動作させている
- Amazon Dash Button が brick (文鎮化) しないように、いくつかのホストへの接続を遮断している
トラブルシューティング
順不同で紹介します。
テキトーに参考にしてください。
困ったら再起動
sudo service amazon-dash restart
たまーーーに、これで解決する。
とりあえず Amazon Dash Button を交換する
複数個買っておけば、復旧ファーストしつつ原因切り分けできてオトク。
ログ調査
sudo journalctl -r -u amazon-dash
↓こんな感じで正規起動していることを確認できればOK。
...
Listening for events. Amazon-dash will execute the events associated with the registered buttons.
...
Welcome to Amazon-dash vX.X.X using Python X.X.X
raspberrypi systemd[1]: Started Amazon Dash service.
amazon-dash の設定ファイルが正しいか確認する
sudo amazon-dash check-config --config /etc/amazon-dash.yml
--config
に渡すパスはご自身の場合に合わせて。
大丈夫なら↓こんな感じで表示される(少し時間かかる)。
Welcome to Amazon-dash vX.X.X using Python X.X.X
December 31 is the last day to block requests from your Amazon-dash buttons to Amazon servers. In 2020 your buttons can be bricked in an update from Amazon servers.
The configuration file "/etc/amazon-dash.yml" is correct
特定の Amazon Dash Button を押したことにして、amazon-dash が意図した通りに動くか試してみる
以下のようにすることで、Amazon Dash Button を押さずに、Amazon Dash Button を押したときの動作をさせることができる。
sudo amazon-dash test-device --config <設定ファイルのパス> '押したことにする Amazon Dash Button の Mac アドレス'
具体例
sudo amazon-dash test-device --config /etc/amazon-dash.yml '00:00:5E:00:53:AA'
※Macアドレスは例示です
Amazon Dash Button からのパケットを観測する
Wireshark とかを使ってパケット観測する。
記録開始 -> Amazon Dash Button を押す -> 記録停止 -> Amazon Dash Button の Mac アドレスで検索する
Amazon Dash Button を押したのに、期待したパケットが飛んでないなら、Amazon Dash Button 側に原因を切り分けられる。
Amazon Dash Button をリセットして再設定する
リセット
https://blog.christophermullins.com/2019/12/20/rescue-your-amazon-dash-buttons/
の this .wav file
から、audio_exploit_write_customer_secret.s.wav
をダウンロードする。
Amazon Dash Button 表面の小さな穴に向けて、大音量で音を流す。
スマホを押し付けて再生でもいいし、パソコンにイヤホンを差してイヤホンを押し付けて再生でもいい。
うまくいくと、LEDが緑に光って反応する(物理ハックで毎度笑ってしまう)。
再度 Wi-Fi 設定する
拙稿の(1-2) Amazon Dash Button にWi-Fi設定をセットアップするを参考にしてください。
Amazon Dash Button の電池を交換する
押したときの赤点滅が短い、押しても期待したパケットが観測されない、Wi-Fi設定しようとしても青点滅しないor続かない、そもそも長押ししても電源がつかない、などは、だいたい電池交換が必要。
熱圧着されているので、無理やりこじ開ける必要がある。
不要なマイナスドライバーを用意する。
サイドの溝に沿ってマイナスドライバーを擦ると(安全のため手袋をしましょう)、そのうち開く。
少し開いたら、マイナスドライバーかピック的なものを差し込んで開ける。
基盤は表面側(ボタン側)に付いている。電池ボックスも基盤に付いている。
つまり、こじ開けのときにマイナスドライバーを深く差し込みすぎると、基盤と電池ボックスの間にマイナスドライバーを差し込むことになり、壊してしまう。注意。
中には単4電池1本が入っているので、交換する。
無理やりこじ開けた後はハマらないので、マスキングテープとかで止めておけば良い。
結論
2024年になっても、Amazon-dash is still alive!