.NETのスマートホーム

最近、ハブでスマートホームに関する記事がたくさんあります。 基本的に、それらはすべてホームデバイスとの相互作用に関連しています。 自動意思決定には、 MajorDoMoNinja Blocks、または自分の自転車を使用します。



約1年間、私はまだ別のホームオートメーションシステムのスクリプトを書いています。 つまり さまざまなホームイベントに任意のロジックを掛けることができます。 私はあなたの厳しい裁判所にそれを提供します。

説明と配布



私の意見では、システムはかなり成功したアーキテクチャを持ち、プラグインメカニズムの助けを借りて、任意のハードウェアと簡単に統合できます。 たとえば、nooLiteを介してライトを制御し、IPカメラを操作するためのプラグインを作成しようとしました-本当に簡単です( ドキュメントを参照)。 スクリプトは(Web UIを介して)Javaスクリプトで記述され、システム自体は.NETで記述されます(ソースコードはgithubに投稿しました)。



私はこの方法でお金を稼ぐことができるとは思いませんが、私はすでにこのプロジェクトに取り組んで多くの喜びを持っていました。 私はここに書いて、あなたがシステムを使用してフィードバックを与えてくれることを望んでいます(そして誰かがそれを好きで、その開発に参加したいなら、私はちょうど幸せになります:)



ご清聴ありがとうございました!



UPD。 システム構成

画像



UPD。 シナリオ例

スクリプトはJavaスクリプト言語で書かれています(まだJavaScriptが好きではありませんか? )。 スクリプトから、接続されたプラグインの機能が利用可能です。 プラグインを作成し、スクリプトからそのコマンドを呼び出すことができます。

たとえば、ここでは、家にいない間に来た訪問者のIPカメラで写真を撮ることができます(このスクリプトをドアベルボタンに触れるだけでハングアップできます)。



var camera = host.getPlugin("DCS933"); // DCS933 -      D-Link DCS-933 var bytes = camera.executeMethod("getCurrentImage"); host.getPlugin("email").executeMethod("send", "myemail@gmail.com", " !", "", bytes);
      
      







UPD。 装置

まず、(シナリオに従って)自動意思決定用のシステムを作成したかったので、特定のハードウェアに縛られていません。 システムにはプラグインメカニズムがあります(MEFを使用して動作します)。 これを使用すると、コンピューターが対話できるほぼすべてのデバイス(自家製を含む)を接続できます。

nooLiteおよびD-Link DCS-933 IPカメラを使用するためのプラグインを作成しました(これらのプラグインは基本的なプラグインです)。 しかし、それらはまず、システムのプラグインを書くことが難しいかどうかを自分で感じるために書かれました。 私は自分のプラグインの書き方に関する詳細なドキュメントを書こうとしました。 ハードウェアとの統合に関して質問や困難がある場合は、私に連絡してください(たとえば、Habrを通じて)。



UPD。 プロジェクト開発計画?

現在サイトにあるのは、使用できるシステムの最初のバージョンです。 現在、基本的なプラグインと非常に貧弱なUIのみがあります。 夏まで、UIを大幅に修正する予定です(Webアプリケーションとサービスを組み合わせ、ホームコントロールパネルを構成する小さなCMSのようなものを作成します)。 また、標準プラグインのリストを拡張する予定です。 アラーム、天気予報、音声コマンド処理を備えたプラグインは間違いなくあります(Microsoft Speech APIを介して-ローカルで動作し、認識品質はかなり良いです)。 また、プラグインギャラリーからインターネット経由でプラグインをインストールすることもできます(これは既に行われており、nugetを介して動作します。プラグインギャラリーでサイトを上げるために残ります)。

他の機能が必要な場合は、コメントに書いてください。



All Articles