目的
- 昔買っていたAmazon Dash Buttonを発掘した。
- Raspberry Piもあるので何かしたい。
動作環境
- Raspbian
- Version 9.4
- Kernel version 4.14
- Raspberry Pi 3 Model B+
- Nekmo/amazon-dash v1.3.0
事前準備
MacからRaspberry Pi 3 Model B+にSSHで接続する
手順
Amazon Dash Buttonをセットアップする
amazon.co.jpのDash Buttonをセットアップするから、
次回の設定用に、Wi-Fiのパスワードを保存しておきたい場合は、チェックボックスをオンにしてください。〜
まで設定し、商品を選択画面右上のxボタンをタップし、セットアップを終了する
Dash Button端末を使って再注文する商品を選択します。〜
からの手順は設定しない、設定するとボタンを押した時に注文されるようになってしまう。
Amazon Dash Buttonからの通知を検出するOSSのインストール及び設定
Amazon Dash Buttonからの通知を検出するため、Nekmo/amazon-dashをインストールする
pipのインストール
-
Python 3.4未満だったため、pipを別途インストールする
$ python -V Python 2.7.13
-
パッケージの最新化を実施する
$ sudo apt-get update $ sudo apt-get upgrade 〜省略〜 Do you want to continue? [Y/n] y 〜省略〜
-
pipのインストール
$ sudo apt-get install python-pip 〜省略〜 Do you want to continue? [Y/n] y 〜省略〜
-
インストールした後pipをアップデートするとなんかエラーが出るようになるが
$ sudo pip install --upgrade pip $ pip Traceback (most recent call last): File "/usr/bin/pip", line 9, in <module> from pip import main ImportError: cannot import name main
-
削除すると動くようになる。。謎。。
$ sudo apt-get remove python-pip pip -V pip 18.1 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7)
Nekmo/amazon-dashのインストール及び設定
-
pipでamazon-dashをインストールする
$ sudo pip install amazon-dash $ amazon-dash --version You are running Amazon-dash v1.3.0 using Python 2.7.13. This is the latest release Installation path: /usr/local/lib/python2.7/dist-packages/amazon_dash Current path: /home/pi
-
スクリプトの実行
$ sudo python -m amazon_dash.install Executing all install scripts for Amazon-Dash [OK] config has been installed successfully [OK] systemd service has been installed successfully
-
Amazon Dash ButtonのMACアドレスを検出する(下記コマンド実行後にAmazon Dash Buttonのボタンを押す)
$ sudo amazon-dash discovery $ xx:xx:xx:xx:xx:xx (Amazon Device)
-
configを編集し、検出したAmazon Dash Buttonの設定を追記する
$ sudo nano /etc/amazon-dash.yml
amazon-dash.yml# amazon-dash.yml # --------------- settings: delay: 10 devices: xx:xx:xx:xx:xx:xx: name: Hello World user: pi cmd: echo "Hello World" >> HelloWorld.log cwd: /home/pi
-
サービスを起動及び自動起動を設定する
$ sudo systemctl start amazon-dash $ sudo systemctl enable amazon-dash Created symlink /etc/systemd/system/multi-user.target.wants/amazon-dash.service → /lib/systemd/system/amazon-dash.service.
-
Amazon Dash Buttonのボタンを押す
-
設定が動作しているか確認する
$ cat HelloWorld.log Hello World
雑多
- Amazon Dash Buttonの設定にスマートフォンが必要なことを知った。
-
Nekmo/amazon-dashを利用する際、dockerを利用しようとしたが、Raspberry Pi 3B+でDocker Hubから落としてきたimageを利用すると、ARMの影響か、
standard_init_linux.go:190: exec user process caused "exec format error”
が出るのでそのままでは使えなく、Nekmo/amazon-dashにあるDockerファイルから自前でビルドしようとしたが、依存しているpython:3.7-alpineのイメージも自前でビルドしないとならないっぽく、今回は諦めた。 - Amazon Dash Buttonタップ時、"Dash Buttonの商品を選択してください"と記載されたアプリ通知とメール通知が来るのだが、メール通知をオフにする方法がわからない。。