Amazon Dash Button なるものが出来たらしい。ワンプッシュでWiFiに接続し、好きな商品を注文できるとか。
ワンプッシュでWiFiに接続ってところにたまらなく惹かれる。これぞIoT。
ハックすると、物理ボタンひとつでPOSTを投げられるから、実質何でもできる。CYBER MONDAYなんてやっている場合ではない。すでにハック成功した人もいるようだ。
さっそく試す。
ーーー
やりたいこと。
Amazon Dash Buttonを押す → RaspberryPi3で通信キャッチ →(node)→ PiがPOST文を投げる → 地デジサーバが受けて録画を開始する。
処理の流れ
① Amazon Dash Button を押す → APR送信
② ARPをRaspberryPiで検知 → NodeがPOST文を投げる
③ POST文を(地デジサーバfedoraの)PHPでキャッチ → shell(bash)実行 → 録画開始
ーーー
③の shell から先は何でもやり放題。今回は録画にするけど、動画撮影させたり、テレビ録画させたり、何でもできる。
ーーー
まずは Amazon Dash Button を注文する。500円。いろいろ種類があるけど、「ハックされた自由なボタン」って感じの名前がいいので「オールフリー」で注文してみた。
大人気なのか、到着は早くても来年1月のようだ。Node準備して気長に待つか。
ーーー
2016/12/27 届いた。Dasher 開発者のサイトの通り進めていく。
ーーー
Dasher app をインストールする。
gitが入ってなかった。
$ sudo apt-get -y install git
$ git clone https://github.com/maddox/dasher.git
$ cd dasher
$ npm install
なんか色々ワーニング出る。
byobu が死んでPiが応答しなくなった。ネットワークが切れた?
と思ってLANケーブルをつなぎなおしたらコンソールが返って来た。これでインストールできたらしい。
ーーー
$ ./script/find_button
これでRaspberryPi3側はの「arp待ち状態」開始。ここでDashボタンを青色になるまで押す → Dashボタン本体からarpリクエスト発出 → RaspberryPi3が受け取る → 画面上には Amazon Technologies Inc って名前のデバイスが見える → そのMACアドレスを控える。
ーーー
config.json を作る。
ーーー
いよいよ開始。
$ npm start
エラーになった。なんでやねん…
npm start 直後に Error: socket: Operation not permitted てことは、権限が足りてないのか?困った時は sudo で。Linuxのことわざみたいなものと思ってる。
$ sudo npm start
起動した!
3回押してみたがすべて認識されている。
pressed を認識した ラズパイ3 は、POSTを地デジ録画サーバ(fedora)に送る。
ーーー
ボタンがpressed される前の地デジサーバはこんな状態。recpt1 のプロセスが2つ上がっている(2番組録画中)。
ここで Dashボタンを押してみると…
録画開始されて、3つ目のrecpt1プロセスができた。
ーーー
これで、全世界どこからでも Dashボタンを押すだけで地デジ録画できる環境 のできあがり。こりゃ最高だ。