1. Qiita
  2. 投稿
  3. AmazonDashButton

会社が休みになるボタンを作ってみた [Amazon Dash Button]

  • 57
    いいね
  • 0
    コメント

ACCESS の近藤です!

もう n番煎じもいいとこですが、
Amazon Dash Button が面白そうだったので、いくつか調達してハックして遊んでみました。


うわっ…、私のボタン、多すぎ・・・?

しかし、ハックとか偉そうなこといっても、
もう既に「ハックする、と心の中で思ったならスデに行動は終わっている」ような方々がライブラリを公開されていますので、それらの力を借りてビッグウェーブに乗ってみたぜ!的な内容です。

会社が休みになるボタンとは?

ポチッと押すと、会社がお休みになる夢のようなボタンです!!やったね!

…で、現実的には?

ポチっと押すと、予め設定しておいた宛先に特定フォーマットの勤怠メールを送信してくれるボタンです。
複数ボタンを登録できて、午前休、全休など、気分用途に応じて役割を設定できます。

というわけで作った

デモ動画も撮影してみました。(超地味)


非常に頼もしい出で立ちと佇まい。
「ここは俺に任せてゆっくり眠れ。」と直接心に語りかけてくるようです。


ヘッドボードに設置してみるとこんな感じ。
全然関係ないですが Dash Button ポチって届いた evian がかわいいです。

仕組み

dash-button 使ってます。

dash-holiday-creator は dash-button でボタンの押下イベントを拾って、node-mailer でメールを送信するという素朴な仕組みです。

以前、プライベートで書いたメール送信ライブラリを流用したので、
クライアントは Gmail オンリーで、それ以外は非対応です。

突貫で作ったので色々あれなところ多いですが、
よかったら覗いてみてください。

ボタンロゴの印刷シート (Google ドキュメント)

おまけです。
結構な人から、ボタンのロゴはどうやって作ったの?と聞かれたので素材アップしておきます。
下記 Google ドキュメントを PDF 形式でダウンロードして A4 印刷すれば良いです。
あとは、ハサミで切って、両面テープで貼り付けるだけ!

ねっ?簡単でしょう?


参考画像: この画像を保存して印刷してもサイズが合わないので注意!

制限事項

dash-button が不安定なのか、うまくボタンの押下をフックしてくれないことがあります。
特に dash-holiday-creator 立ち上げ後、1回目のボタン押下は確実にスルーされます…。

弊環境では node-dash-button はうまく動かなかったのですが、
可能であればそっちを使ったほうが安定するかもしれません。

動作確認環境

Ubuntu 14.04 LTS (64bit) で動作確認しています。
bash on windows 10 では動作しませんでした。(issue によると getifaddr の実装が不完全?)
また、Mac OS X では dash-button の動作に必要な libpcap-dev を homebrew からインストールする方法がなかったため諦めました。何か代替する方法はあるのかも?

感想とか

Amazon Dash Button で何を作ろうかーと考えたときに、割りとすぐにこのアイデアを思いついて、
我ながらネタとしても実用性としても-なかなか面白いなと…。

それで、実際に作ったらワンチャンバズれるんじゃないかと、バイブスあがってたんですが、
次の日には twitter に同ネタが投下されてて、しかももう既にバズり済みでそれなりにデモチしました。
(そのツイートは画像の合成のみで機能実装したわけではなさそうでした。)

やっぱり良い?アイデア思いついたらすぐに行動に移さないとダメですねー。
プロシュート兄貴志向大事!

それにしても、会社の一員として参加してる Advent Calendar で、こんなやる気なさそうなエントリ書いて大丈夫なんだろうか、と思わないでもないですが、たぶんエンジニア以外はあまり見てないので大丈夫でしょう。

しかし、もし私のアカウントが ACCESS の organization から外れていた場合はお察しください。

それでは、明日は @kumabook です!

参考

Amazon Dash Buttonを(正しくない方向で)使ってみた
http://qiita.com/takustaqu/items/8539b33780c9675c8657

Amazon Dash ButtonをただのIoTボタンとして使う
http://qiita.com/jsoizo/items/3b8bba4160f41aef20f4