そのため、最初
当時、スマートフォン、タブレット、ブラウザには統一性がなかったため、制御プログラムの最初のバージョンは通常のPC用でした。 以下がその1つです。
オプション1:PC + Windows

すべてがDelphiで書かれていて、たくさんのボタン、たくさんの数字、すべてが機能しますが、一つだけあります-なぜ私が家にいるときに、コンピューターを通して家の明かりをつける必要があるのですか? 明確ではありません。 そのため、ネットワークバージョンの開発が始まりました。 そして、それは判明しました:
オプション2:PC + Windows +インターネット
インターネットと内部計装ネットワーク間のゲートウェイとして機能する小さなサービスが作成されました。 プログラムはネットワーク上で動作するように修正されました。 すべてが正常で、すべてが機能しますが、1つだけありますが、なぜ自宅でライトをオンにするプログラムを備えたラップトップまたはUSBフラッシュドライブを常に携帯するのですか? 明確ではありません。 したがって、さらなる開発が続けられました。 そして、それは判明しました:
オプション3:PC + Windows +インターネット+携帯電話

当時、スマートフォンは非常にまれであり、携帯電話のブラウザは何をするかを知らなかったため、期待できる最大値はJ2MEでした。 実験として、ICQクライアントがサーバー側に追加され、他の多くのクライアントの1つも携帯電話にインストールされました。 すべてうまくいきましたが、
オプション4:LAMP +インターネット+ Web
クライアント側では、さまざまなテクノロジーにスプレーするのではなく、HTML + JSの1つだけを残すことにしました。 幸いなことに、モバイルブラウザーとデスクトップブラウザーは同じように多くのことを学び、最も重要なことを学びました。
システム全体のイデオロギーが完全に改訂されました。以前のサーバー部分がハードウェアとアプリケーションの間の単なるゲートウェイであった場合、いくつかの追加タスクが登場しました。
- クライアント(ルーターのスクリプトまたはゲートウェイのいずれか)は、サーバーにアドレスを定期的に送信します。サーバーはさらにサーバーと連携します。 ある種のDynDNS
- 1時間に1回、サーバーはすべてのコントローラーの時間を同期します。これは、リアルタイムクロックがなく、ソフトウェアのみが存在するためです。
- 1分に1回、サーバーはすべてのコントローラーをポーリングし、応答をデータベースに入力します
また、設定では、パラメータを設定できます。変更された場合、サーバーは電子メールを送信し、イベントを記録しました。 累積値を持つベースを使用すると、さまざまなグラフを作成できます-たとえば、温度、電圧、または電力消費。
これらはすべて、最初はAsus WL-500gP V2ルーターで、Lighttpd + PHP5 + MySQLがインストールされた「オレグとマニアからの」ファームウェアを使用して自宅で機能しました。 USB-RS232アダプターがルーターに接続され、ser2netが構成されました。 データベースには設定とログが保存され、管理パネルとサービスはPHPで記述されています。 その後、Ethernet-RS485ゲートウェイが開発され、これらすべてがクラウドホスティングの1つに移行しました。
ボーナス
最後の部分には多くの写真があったので、この部分のプロジェクトの1つについて話すことにしました。 同時に、スケーラビリティの問題と、有線インターフェイスと無線インターフェイスの違いを検討します。これについては、最後の部分で多くの議論がありました。 プロジェクトは重要ですが、あいにく、あいまいな見通しがあります。 それでは始めましょう。
プロットがあるとします。 入口、通路、車の駐車場など、いくつかの照明ゾーンがあります。 別々に-電気錠のある門と、電気駆動のある門。 些細なことと交換しないガレージがあります-2階、それぞれに2つの照明ゾーンがあり、個別の暖房があります。 ビデオ監視とインターネットがあります。
1階には次のものが設置されています。

上は、1階の照明と暖房のコントローラー、RCD、および独立したトリップを備えた自動機です。 2列目は、下から100Aにリレーを備えた電源保護コントローラーです。12V電源とサイトの照明コントローラーです。 最下部には2チャネルのレシーバーがあり、照明コントローラーを使用して、路上で玄関ライトをオンにし、ゲートロックを開くことができます。
2階:

上記は窓用エアコンの電子機器で、それ自体です。 2行目はEthernet-RS485ゲートウェイで、下は2階の照明と暖房のコントローラー、およびコンベクター用の電源リレーです。
室内温度と冷却水温度のセンサー(この場合はコンベクターからの空気):

屋根裏部屋-エアコン、ビデオレコーダー、ルーター、アンテナ、ファッションなど:

これはすべて冬に安全に機能し、春が訪れ、その後は夏になりました。 そして夏の主なものは何ですか? バーベキュー、ガゼボ、水やり。 穴が掘られ、そこに水器が繁殖しました:

左-フィルター、入口圧力センサー、水流センサー。 中央には漏れセンサーがあり、右側には2つの灌漑バルブ、減圧ギアボックス、ギアボックスの後の圧力計があります。 ガゼボ照明と給水という2つのコントローラーがインストールされています。 ガゼボ自体には、装飾照明とメインライトの2つのゾーンがあります。

上部のボックスにはガゼボ照明コントローラーがあり、中央にはバルブ用の24V電源と給水コントローラーがあります。
ガレージとガゼボの2階-このようなものが判明しました。

ピットと残りのコントローラーとの間-約15メートル、30 cmの気泡コンクリートの壁と10 cmの強化スクリードのオーバーラップピット。 ワイヤレスセンサーとスイッチ? 結構です。 3x4電源ケーブルと4x4,22信号ケーブルが引き伸ばされ、電源シールドに接続されています-それがすべて、光があり、散水があり、すべてが制御され、センサーの状態を示しています。 私に関しては-スケーラビリティやワイヤレス技術の欠如に問題はありません。
これはすべてサーバーソフトウェアの部分に関するものです。次の部分では、最も興味深いこと、つまりユーザーインターフェイスについて説明します。