ブラウザ経由の調光

NooLiteシステムを使用して、Webベースの照明管理アプリケーションを作成しました。

アプリケーション設定では、そのページのリストを定義できます。 それらのそれぞれに、目的のアクションのセットを実行するコントロール(スライダーとボタン)を追加できます(ライトのオン/オフ、複数のチャンネルの明るさの調整)。

デモ (デモモードでライトをオン/オフする代わりに、アクションの実行時にテキストメッセージが表示されます)。

サーバー側でASP.NET MVCを使用し、クライアントでJQuery Mobileを使用しました(実際、電話からの照明を制御することは主に興味深いものでした)。 DBMSは必要ありません(設定は構成ファイルに保存されます)。 コンピューターからコントロールユニットにコマンドを送信するには、PC118 USBアダプターを使用します。

こちらからアプリケーションをダウンロードしてください 。 そこで、NooLiteシステムを管理するためのAPIを実装する.NETライブラリを個別にダウンロードできます。 これらすべてのソースコードはGoogle Codeにあります。

カッターの下には、「ゼロから」インストールおよびセットアップするための指示があります。

必要なコンポーネントをインストールします



Webサーバーの構成(IIS Express)


1. ここから Webアプリケーションを使用てアーカイブをダウンロードし、たとえば「C:\ noolite」フォルダーに解凍します。
2. IIS Express(ファイルC:\ Program Files \ IIS Express \ iisexpress.exe)を実行して、デフォルトの構成を作成します。
3. IIS設定で新しいサイトレコードを作成します。 これを行うには、コマンドラインに入力します
cd C:\Program Files\IIS Express appcmd add site /name:noolite.web /bindings:"http://%COMPUTERNAME%:19777,http://localhost:19777" /physicalPath:C:\noolite 

4.サイトのApplicationPoolをインストールします
 appcmd set app "noolite.web/" /applicationPool:Clr4IntegratedAppPool 

5. IIS Expressを起動します
 iisexpress /site:noolite.web 

ブラウザで「 localhost :19777」と入力すると、次のように開きます。



光制御をカスタマイズする


電化製品の管理に関連するアプリケーション設定は、サイトのルートフォルダーのNooLite.configファイルにあります。 デフォルトでは、このファイルにはテストデータが含まれています。

 <?xml version="1.0" encoding="utf-8"?> <nooLiteConfiguration debug="false"> <page id="bedroom" title="" description="      "> <control id="main" displayText=" " type="Switcher" level="155"> <channel id="0" /> </control> <control id="night-light" displayText="" type="Slider"> <channel id="0" level="0" /> <channel id="1" /> </control> <control id="all-off" displayText=" " level="0"> <channel id="0" /> <channel id="1" /> </control> </page> <page id="hallway" title=""> <control id="main" displayText=" " type="Switcher"> <channel id="2" /> </control> <control id="small" displayText=" " type="Switcher"> <channel id="3" /> </control> <control id="all-off" displayText=" " type="Switcher"> <channel id="2" /> <channel id="3" /> </control> </page> </nooLiteConfiguration> 


PC118 USBアダプターには8つのチャンネルがあり、各チャンネルはランプ(または他の電化製品)のグループに接続できます。

ルート要素内のnooLiteConfigurationは、 page要素のコレクションが含まれていpage 。 それぞれがアプリケーションの個別のページを説明しています。 page要素には、パラメーターid (アドレスの形成に使用されるページの識別子)、 title (ページタイトル)、およびdescription (説明、上のページに表示)があります。

page要素の中には、いくつかのcontrol要素があります。 ページ上のコントロールのセットを定義します。 コントロール要素には、パラメーターid (コントロール識別子)、 displayText (テキストラベル)、 type (コントロールのタイプ)、およびlevel (このコントロールを使用するとき、たとえばボタンが押されたときに器具に設定される輝度レベル)がありlevel

typeパラメーターには、次の値のいずれかを指定できます。


control要素内で、このコントロールを使用するときにコマンドを送信する一連のチャンネル( channel要素)を指定できます。 チャネルには、パラメータid (チャネル番号id数値)とlevel (チャネルの輝度レベル-コントロールのlevelパラメータの値よりも優先されます)があります。

以下は、テストデータセットから寝室ページのコントロールを表示する例です。



結論の代わりに


私は長い間、電化製品の管理を自動化することを夢見てきました。 リモートコントロールを使用してライトを制御しないでください。つまり、人間の介入なしに、必要なアルゴリズムに従ってライトを制御するプログラムを作成できるようにしてください。 長い間、必要な機能を備えた利用可能な「ハードウェア」はありませんでした。 私は自分のデバイス(Arduino + XBee)を組み立てさえしましたが、チップとワイヤの結果として生じる束は実際の使用に適応するのが困難でした。

「ラジコンスイッチを開発しているベラルーシの会社」について初めて知ったとき、私はINTEGRALモニターに関する話を思い出し、笑って忘れました。 しかし、ハブのNooLiteシステムをレビューした後、私はそのようなスイッチをいくつか注文しましたが、非常にクールであることがわかりました。 そのようなものとそれを作成する人々が私たちの世界をより良い場所にすると思います。 彼らは、私たちが子供の頃にしか夢見ることができなかった未来がすでに非常に近いことを示しています。

NooLiteシステムと他の同様のプロジェクトが私たちの生活を発展させ、参入することを本当に望んでいます。 そのため、週末にブラウザーを使用してライトを管理していました。 そして、私はそのようなタスクの実装に時間を費やす準備ができています。

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

Source: https://habr.com/ru/post/J174329/


All Articles