こんにちは、habrausername%様!
以前の投稿から判断すると、あなたの多くはあなたの家の手作りの自動化に興味があります。 長い間、最初の「スマートホーム」の構築に基づいて考えやアイデアを集めてきましたが、今ではベストプラクティスを皆さんと共有したいと考えています。
私たちの目的とその理由
だから、あなたは私たちが何を去り、どこから来ているのかを決める必要があります。 「スマートホーム」v1に関心があるのは、私のプロフィールの投稿にあります。 一般的に、そして最も重要なこととして、X10プロトコルから離れて、PerlからJava、ウェブカメラから多かれ少なかれ通常のIPカメラまで、Z-Waveに移行します。
サインインします。
Z-Wave対 X10
これらすべての恐ろしい言葉はどういう意味ですか? トピックに最も精通しておらず、ウィキペディアからの抜粋を少し。
行こう-X10:
X10は、ホームオートメーションシステムで電子デバイスを通信するために使用される国際的なオープンな業界標準です。 X10標準は、従来の配線または無線チャネルを使用して家電製品が接続される電子モジュールの制御信号を送信するための方法とプロトコルを定義しています。
それは知性と理解力で区別されます...一般に、モジュールの価格と配線がある場所に設置する能力を除いて、今は何も必要ありません。 そして、ここに落とし穴がありますが、このプロトコルをインストールして操作するときに私が遭遇したものがあります:
- 非常に低いビットレートから始めましょう。 エンコードされたデジタルデータは、120 kHzのフラッシュ周波数、1 msの持続時間、ゼロ値を通る交流電流の遷移の瞬間と同期した無線周波数パルスを使用して送信されます。 ゼロを1回遷移する場合、1ビットの情報が送信されます。 レシーバーは、0を通る電圧遷移の近くに待機ウィンドウも形成します。ウィンドウサイズは200μsです。 ウィンドウ内のフラッシュパルスの存在は論理「1」であり、不在は論理「0」です。 一般的に、これはモジュールにコマンドを与えるのに約1〜2秒かかることを意味します。
- 免疫 彼女は非常に小さいです。 たとえば、隣人のヴァシーリーがいつものように自分の電気溶接機を入れている場合-問題を待つ
- フィードバックの欠如。 彼女はそこにいません。 まったくありません。 神話上の鉄片についての噂があるが、状態を見つけることは不可能であるが、私は彼らがさらに希少な動物-A10プロトコルについて話すという深刻な疑いがある
- フェーズ間で信号を渡すことができない。 電球が1つのフェーズにぶら下がっていて、コントローラーが別のフェーズに接続されている場合-戦利品を準備します。
利点のうち、おそらく、比較的安価であり、ワイヤからの特定の自由です。
そして、ここで彼はシーンに登場します、
Z-Wave ! X10または1-wireよりも照明が少ないプロトコルですが、急速に人気が高まり、毎日デバイスの価格が下がります。
Z-Waveは、ホームオートメーション用に設計された特許取得済みの無線通信プロトコルであり、特に住宅および商業ビルの監視および制御用です。 この技術は、家庭用電化製品や照明、暖房、アクセス制御、エンターテイメントシステム、家電製品などのさまざまなデバイスに組み込まれている低電力で小型の無線周波数モジュールを使用しています。
ここで最初の、そしておそらく最も重要な違いは、Z-Waveがワイヤレスプロトコルであることです。 つまり、現在は絶対に何にも接続されていません(おそらく、一部のデバイスのソケットを除く)。 ほぼすべてのデバイスはバッテリーで駆動され、声明によると、何年も使用されます。 一部のマイクロモジュールは、220Vネットワークから直接給電されます。
また、紛れもない利点は、各ノードまたはデバイスが中間の隣接ノードを使用して他のネットワークデバイスと制御信号を送受信できるメッシュネットワークであることです。 メッシュは、外部要因に依存するルーティングを備えた自己組織化ネットワークです。たとえば、2つの最も近いネットワークノード間に障害物がある場合、信号は範囲内の他のネットワークノードを通過します。
鉄の価格は今ではあまり痛くない。
今、短所(それらなし)。 私のシステムの開発者として私にとって最も重要で最悪なマイナス点は、
閉じたプロトコルです 。 仕様を受け取りたい人は
10キロベークを繰り延ばさなければならないでしょう。 しかし、結局のところ、すべてがそれほど悪くはありません。 職人は非常に不可能なためプロトコルを逆転させ、
open-zwaveと呼ばれる
オープンソースの実装を書きました。 C ++で。 Pythonバインダーがあります。
全体として、悪くはありません。 さらに進んでいます。
Perl vs. Java
ここではすべてが簡単です-私はJavaを学び始めました。そして、退屈なHello Worldとマネージャーとその給与に関するクラスを書いたので、そこからコードの10行目で眠りました。 Google、本、そしてあなた自身の頭脳が助けます。 もちろん、私はたくさんの自転車を発明していますが、自転車なしでどこに行けばいいのでしょうか。グルを蹴らないように頼みます。すべてを知っているので、直します... :)ソフトウェアについて-投稿の最後。
ウェブカメラと IPカメラ
ここでも、全体がすべて明確である必要があります。 USBカメラは信頼性が低く、過熱し、画像は消えました。 それは長いケーブル、USBハブの花輪です。すべて、過去に神に感謝します。 ワイヤレスIPカメラのみになりました。 ちなみに、中国人は60ドル強のPTZカメラを持っています。 まだ持っていませんが、注文する予定です。
テクノロジー
そのため、プロトコルにより、言語が決定されました。 さあ、さらに進んでください。 パフォーマンスが悪いため、ネットトップを放棄しなければなりませんでした。 今、私にとっては、すべてが同じUbuntuで通常のデスクトップを少しシャギーな年にしています。
私の目標は、ワイヤーを敷設することから可能な限り離れることでした。 アパートは取り外し可能で、いつでも移動できます。 つまり、システムはできるだけモバイルである必要があります。
利用可能なハードウェアとそれがすべて接続されている方法について説明します。
- 1つのデスクトップ
- 2つのIPワイヤレスカメラ
- 2つのアクティブマイクSHOROKH-7
- 3つのスピーカー(2 + 1最も単純)
- 2枚のサウンドカード(ビルトイン+ PCI)(主な要因はライン入力の存在です)
写真の品質について事前に謝罪します。すべてが携帯電話で行われます。
スピーカーはサウンドカードに接続され、2つのシステムはスプリッターを介して1つに接続され、残りは直接接続されます。 PulseAudioを使用して1つのシンクに結合-私たちはそれを整理し、アパート全体で音を得ます。

SHOROKH-7マイクでは、それほど簡単ではありません。

まず第一に、それらはアクティブです。つまり、12Vの電源が必要です。 あなたは私たちの電源からそれを取ることができます。

オーディオコードとして、FTPツイストペアを使用します。このペアでは、1つのペアが信号に加えてプラスになり、他のすべては画面にねじれます。

各マイクは、カードのリニア(!)入力に接続されています。
カメラを使用すると、すべてがシンプルになります-彼らは自分で生きて、サーバー側はそれぞれからMJPEGとWAVストリームを取得します。
Z-Waveデバイス
テストのために、コントローラー、マイクロモジュール調光器、漏れセンサーを購入しました。
たとえば、コントローラーは通常のフラッシュドライブのように見えます。

そして、漏れセンサーは最も大規模です:

フィバロマイクロモジュール:

簡単に、指示に従って接続されます:

インストールに関するネットワーク上のビデオがあります。
この鉄片の非常に大きな利点は、動作用のバッテリー、中性線、必須の単安定スイッチが必要ないことです。 双安定で素晴らしい作品。
最初の電源投入後、各デバイスをネットワークに含める必要があります。これは、特別なモードに移行し、デバイス自体を電源オンモードにするコントローラーを使用して行われます。 原則として、すべてがドキュメントに記載されており、問題は発生しません。
IRIS-X
管理システムはGPLv3ライセンスの下で公開されています。 ソフトウェアは現時点では次のことが可能です。
- カメラからのビデオをリアルタイムで見る
- Googleを使用した音声認識と合成
- Z-Waveネットワーク、すべてのデバイスの検出と管理
- twitter bootstrap'aの例で調整されたインターフェース:)
- 初期実装段階の多くの機能
この機会に、開発に参加することをお勧めします:)
GitHub'eへのリンク:
github.com/Neuronix2/IRIS-Xインターフェイスのスクリーンショットのカップル(写真はクリック可能):




すべての質問にお答えいたします。
ご清聴ありがとうございました。