Top/Blog/2014-12-09

2014-12-09 の変更点はてなブックマーク


**&tag(Devel);PC使用中に寝落ちしたときに自動的に電気とテレビを消すようにした話 [#id53d6db8]

どうも、[[きゅーこん>https://twitter.com/cubic9com]]と申します。

~

この記事は、[[おうちハック Advent Calendar 2014>http://qiita.com/advent-calendar/2014/ouch-hack]]の9日目の記事です。

昨日は大和田さんの[[「ハッカソンってなに?」>http://kadecot.net/blog/2901/]]でした。

ハッカソンは楽しいので、積極的に参加していきたいです!

~

さて、僕の記事はこんな感じです!

~

----

~

#ref(Devel/電子工作/irMagician/赤外線学習リモコンR2-D2/r2d2.jpg,right,around,33.3%)
よく寝落ちする。

~
寝落ちしたときに電気やテレビが点いてると熟睡できない。~
朝方に朦朧としながら起きて通販番組を目にするのはもう御免だ!

~

ということで、今回は、[[先日の記事で解説した「赤外線学習リモコンR2-D2」>http://cubic9.com/Blog/2014-12-06/]]を利用して、寝落ち時に電気とテレビを消してもらいます。

~

では、作り方を見ていきましょう。

**必要なもの
***ハードウェア
[[赤外線学習リモコンR2-D2>http://cubic9.com/Blog/2014-12-06/]]

~

***ソフトウェア
専用スクリーンセーバー

作り方は後述します。

**手順目次
次の手順で進めます。
+Visual Studio Community 2013のインストール
+スクリーンセーバーの作成
+スクリーンセーバーのインストール

**1.Visual Studio Community 2013のインストール
+[[Visual Studio Community 2013 - Visual Studio>http://www.microsoft.com/ja-jp/dev/products/community.aspx]]からVisual Studio Community 2013をダウンロードし、インストールする。

**2.スクリーンセーバーの作成
+第二工区様の下記ページからサンプルコードをダウンロードする。~
[[スクリーンセーバー サンプルコード (その1): 第二工区>http://n-kami.cocolog-nifty.com/blog/2013/08/post-9353.html]]
+解凍する。
+DateTimeScreenSaver.slnを開く。
+SaveForm.csのSaverForm(Screen saverTargetScreen)の末尾に下記を追加する。(IPアドレス、ポート、JSONファイル名は個々の環境に合わせてください)
#code(,nonumber,nooutline){{
WebRequest wrGETURL = WebRequest.Create("http://192.168.0.1:8000/light_off.json");
WebResponse res = wrGETURL.GetResponse();
}}
+SaveForm.csのSaverForm_FormClosed(object sender, FormClosedEventArgs e)の末尾に下記を追加する。(IPアドレス、ポート、JSONファイル名は個々の環境に合わせてください)
#code(,nonumber,nooutline){{
WebRequest wrGETURL = WebRequest.Create("http://192.168.0.1:8000/light_on.json");
WebResponse res = wrGETURL.GetResponse();
}}
+Visual Studioのメニューにて[ビルド] > [ソリューションのビルド]をクリックする。
+


**3.スクリーンセーバーのインストール
+csDateTimeScreenSaver\DateTimeScreenSaver\bin\Debugを開く。
+ssDateTimeScreenSaver.exeをssDateTimeScreenSaver.scrにリネームする。
+ssDateTimeScreenSaver.scrをC:\Windows\System32に移動する。
+ssDateTimeScreenSaver.scrを右クリックして、コンテキストメニューの[インストール]をクリックする。

~

以上で完成です!!おつかれさまでした :)
#clear

**備考
Windows7 Home Premiumでは無理なので、本記事のようにいたしましたが、Windows7 Professional以上であれば、[[グループポリシーエディタでスクリーンセーバーの起動をイベントログに記録できる>http://superuser.com/questions/577226/log-screensaver-activity]]ため、そちらをタスクスケジューラでトラップして、R2-D2にGETリクエストを送る方法もあるかと思います。

**参考
-[[Visual C# を使用して GET 要求を行う方>http://support.microsoft.com/kb/307023/ja]]


~

----

~

僕の記事はここまで。

~


さて、明日の[[おうちハック Advent Calendar 2014>http://qiita.com/advent-calendar/2014/ouch-hack]]の記事は…と紹介しようとしましたが、~
今週末までのご担当が埋まってません!どなたか記事をお願いします! (^^;


#blognavi(Blog)
差分 一覧