ヘアキャップを使い、楽してドライヤーをかける研究をしています。ただ、ドライヤーをかけたまま寝てしまうと危ないので、安全装置を作っています。
ドライヤーを固定して髪を乾かす
ヘアキャップをかぶり、ドライヤーで送風すれば、ソファーに座っているだけで髪が乾きます。
寝ながら髪を乾かすことを目指したのですが、本当に寝てしまったら危ないので、安全装置を作っています。
スマホのセンサーとWebアプリで、ドライヤーの傾きを検知し、ドライヤーが傾いたら自動的に電源を落とします。(ドライヤーを持つ手の上にスマホを置きます。)
スマートプラグでドライヤー電源をOFF
ドライヤーの電源は、スマートプラグで管理します。
merossというメーカーのスマートプラグを使いました。
IFTTTを使い、Webhookでスマートプラグの電源を消します。(IFTTTの操作は割愛)
安全装置Webアプリ
昨日作ったものにWebhookに関する記述を追加しました。
HTMLは変わりません。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1.0"> <title>セーフティ</title> <style media="screen"> html { height: 100%; } body { display: table; width: 100%; height: 100%; background: #000; color: #DCEDC8; } #view { display: table-cell; text-align: center; vertical-align: middle; font-size: 25vw; } body.danger { background: #e53935; color: #FFF; } </style> </head> <body> <div id="view">Safe</div> <script src="main.js"></script> </body> </html> |
JavaScript(main.js)は下記のようになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
var THRESHOLD = 30, isDanger = false, xhr = new XMLHttpRequest(); window.addEventListener("deviceorientation", function (e){ var b = e.beta, g = e.gamma; if(b > THRESHOLD || b < (THRESHOLD*-1) || g > THRESHOLD || g < (THRESHOLD*-1) && !isDanger){ document.body.classList.add('danger'); document.getElementById('view').textContent = "Danger"; isDanger = true; xhr.open('POST', 'https://maker.ifttt.com/trigger/※任意の名前※/with/key/※自分のキー※', true); xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded;charset=UTF-8'); xhr.send(); } }); |
これをレンタルサーバーなどにアップして、スマホのブラウザで開き、ドライヤーと一緒に持ちます。
※顔までかぶらず、本当は頭だけかぶります。
ドライヤーが傾向くと送風がとまりました。
これで熱風を送りながら、誤ってそのまま眠りこけても、自動的にドライヤーの電源は止まります。
いや・・・どうなんだろう?
別のケースで実用的かも
今回の開発は作っていて実用的ではないと思いました。
ドライヤーをかけるまでの用意が大変。
ただ、傾けたら電源を止めるといった安全装置は、応用してまたどこかで使うことがあるかもしれません。