電子工作
IoT
おうちハック
ESP8266
AmazonDashButton

Amazon Dash Button から低遅延で鍵を開ける

More than 1 year has passed since last update.


はじめに

プロミスキャスモードを用いたESP8266でのAmazon Dash Buttonのイベント取得 を拝見したことから始まった応用記事です。

「プロミスキャスモード」とは、ざっくりいうと拾えるものは全部拾うモードです。他機器宛のパケットも拾いますし、WPAで認証されてなくても、SSIDが異なっていても受信します。当然、暗号化された中身は解読できませんが、誰が送ったか(送信元MACアドレスがなんなのか)は分かります。

Amazon Dash Button は AmazonのサーバとHTTPSでしゃべるので、それに先立ち以下のような通信をしていると思われます。

①無線ネゴ→②WPA認証→③DHCP(ARP含む)→④DNS→⑤HTTPS

よくある Amazon Dash Button の検出にはARPを使うものが多いです。これは③番目なので数秒の遅延があります。

一方、プロミスキャスモードを使うと、①の段階で検出できます。感覚としては3倍速い感じです。

この速さは注目に値します!

ぜひ、プロミスキャスモードを用いたESP8266でのAmazon Dash Buttonのイベント取得 にいいね!をたくさんして、もっと注目されてほしいと思っています。


応用例

応用例として、自作電気錠に組み込んで開けてみました。

MOV_0804.gif

この自作電気錠は第1回みんなのラズパイコンテスト技術賞をいただいたもの(の後継品)です。

Akerunの中の人(CTO)が作ったモノ http://akerun.hateblo.jp/entry/2016/12/10/094549 と比べると低遅延なことが分かると思います。

尚、このボタンを選んだのは、ローリングストック法、あるいは日常備蓄をちゃんとやるため、正しくAmazon Dash Button を使っていくためにフルグラを選んでいます。


セキュリティ

低遅延な分、セキュリティがガバガバです。コード上にSSIDやWAPキーがないのです。第三者にMACアドレスを知られると鍵を開けられてしまいます!

日常的にコレを使っていたらMACアドレスを知られてしまうのは時間の問題でしょう。

というわけで、応用例としてはダメな例でした。

しかし、セキュリティが緩くても低遅延であることのほうが重要なケースもあると思います。遅延が気になってた方は再検討してみてください。