おはようございます。去年のこの時期から次男の便秘で小児科通ったりしてましたが、最近では定期的にうんちが出るようになりました。@kjunichiです。
背景
昨年末、自作PCを一新をきっかけにMacよりWindowsに触れる機会が多くなり、sayコマンドのWindows版が ないか調べていたら、Windowsでもいくつかの方法で似たようなものは作れることが分かりました。
Edge.jsでNode.jsからC#のコードを呼び出せることを知っていたので、これとWindows向けに使える win-node-dash-buttonを使ってやってみました。
今回はIOTで子育てを解決してみます(嘘)!
子供が夜なかなか寝ないを解決したい!
子供がよる遊んでなかなか寝ないので、ボタン一つで解決を目指します。
つくるもの
Dashボタンを押すと、「おにがきたぞー」とCortanaと音字声でパソコンに脅かしてもらいます。
Edge.jsからSystem.Speech.dllを参照させる
今回のポイントはここだけです。32ビットの話が多く64ビットだと、\Windows配下で検索して 見つかったdllがいくつか見つかり、この中から当たりを見つけて、.jsと同一のディレクトリに 置きます。
ほんとは、このEdge.jsのdll参照時のパスの設定方法を調べたかったのですが。。。
また、UWPでもやってみましたが、参照設定が必要なのか、使用したい名前空間のクラスが見つかりませんでした。
成果物
const Server = require('win-node-dash-button').Server const DashButton = require('win-node-dash-button').DashButton const edge = require('edge'); const hostIp = '192.168.0.123'; const dashButtonMAC = "88:71:e5:xx:xx:xx"; const say = edge.func(` #r "System.Speech.dll" using System.Speech.Synthesis; async (input) => { SpeechSynthesizer sz = new SpeechSynthesizer(); sz.Volume = 100; sz.Rate = -1; sz.Speak(input.ToString()); return ""; } `); const svr = new Server(), tide = new DashButton(dashButtonMAC, () => { say('おにがきたぞー、はやくねろ!', (error, result)=> { if (error) throw error; console.log(result); }); console.log("Tide pressed"); }); svr.register(tide) .start(hostIp);
まとめ
- IOTを駆使することで、子供たちをボタン一つで寝かしつけに成功した。(嘘です)
- Edge.jsすごいとは思っていたものの、適用箇所が思いつかなかったが、この記事で一例ができた。
参考資料
関連記事
- WindowsだけでAmazon DashボタンのMACアドレスを取得できるjsを書いた
- Amazon dashボタンをWindowsで使うまで 完結編
- Edge.jsで気になって、調べてわかったこと
- #2011aug_baby iPhoneに息子のアイコンを無料で敷き詰める
- #2011aug_baby 息子のきーぼーど練習ソフトをつくる
- #イクメン #2011aug_baby フーリエ記述子を息子のお絵かきソフトに
- 通知センターに子供の写真を表示する #OSX