こんにちは
1週間ほど前、ホームオートメーションコントローラーであるWiren Board Smart Homeを予約しました 。 前の記事で、ハードウェアについて説明しましたが、この記事では、さまざまな周辺機器での作業を示し、ソフトウェアに注意を払い始めます。 今回は、リレー、オープンコレクター出力、1線式温度センサー、およびNooliteワイヤレスコントローラーと照明制御ユニットとオレゴンセンサーを使用したラジオの動作を示します。
したがって、作業を実証するために、スタンドを作成しました。
まず、DINレールがスタンドに取り付けられ、その上にWiren Board Smart Homeコントローラー(1)と12V電源ユニット(2)が配置されています。 コントローラはイーサネット経由でインターネットに接続されます。
コントローラーに直接接続:
- 出力をリレーする:制御可能なバルブ(3)。 クレーンは、12Vの電圧が印加されると開きます。 リレー出力は、最大1kWの220Vの負荷にも接続できます。
- 「オープンコレクタ」タイプのトランジスタ出力:LEDストリップ。 白色LEDストリップ(4)のセグメント(キャップの下)はFET4出力に接続され、RGBストリップ(5)はFET1-FET3出力に接続されます。
- DS18B20(9.11)に基づく2つのデジタル温度センサーは、1線式入力の1つに並列に接続されます。
- ウィーガンドインターフェイス(6)を備えたピンパッド付きの標準的な非接触型カードリーダーは、入力R1、R2に接続されます。 これらの入力は、最大12Vのデジタル信号を接続できます(この場合、Wiegandプロトコルの動作電圧は5Vです)。 また、アナログ抵抗センサーを入力R1〜R4に接続できます。 彼らはスタンドにいない間。
- 2つのRS-485バスの1 つには 、異なるセンサーを接続するように設計されたSmart HouseシステムMSU21のモジュール(14)があります。 この例では、LM135タイプの温度センサー(13)がモジュールに接続されています。 これらのモジュールはModbusプロトコルで動作するため、バス上の他のデバイスと共存できます。
スタンドには、周波数433Mhzの内蔵無線モジュールを使用してコントローラーが動作する機器も含まれています。
- Noolite Executive Module(10)( ST111-500 )。 この電源ユニットは、白熱灯(12)の制御に使用されます
- Nooliteウォールマウントワイヤレスリモート(7)( PU-111-1 )。 リモコンはバッテリー駆動で、コントローラに無線で信号を送信します。
- オレゴンサイエンティフィックウェザーステーション( THGN132N )用のワイヤレス温湿度センサー(8)。 これらのセンサーについてはすでにHabrに書いています 。 センサーは、測候所とは別にどこでも手頃な価格で販売されています。 センサーは、約40秒ごとに読み取り値をコントローラーに送信します。
わかりやすくするために、それぞれ1線およびRS-485で接続された2つの温度計は、Noolliteユニットで制御される白熱電球の隣にあります。 電球をオンにすると、温度計の測定値が増加します。
運営管理
このデモでは、サポートする2つのシステムの1つであるNinja Blocksソフトウェアを使用しました。 これはクラウドシステムであり、デバイスからのデータはNinja Blocksサーバーに送信されます。 a.ninja.is Webインターフェイスを使用して、デバイスとセンサーを制御できます。
システムのメインダッシュボード:
各デバイスには独自のウィジェットがあります。 リレーおよびトランジスタ入力を制御するためのウィジェット、Nooliteデバイスを制御するためのウィジェット、さまざまなセンサーの読み取り値を持つ温度および湿度ウィジェットなどを見ることができます。
Ninja Blocks Webインターフェイスを使用すると、さまざまなルールを作成できます。 たとえば、電球の温度計の温度が32℃より低い場合に緑色のLEDストリップを点灯させるルールが作成されます。
各センサーについて、測定値の履歴を表示したり、機械可読形式でダウンロードしたりすることもできます。
Ninja Blocksには、システムを制御するiPhoneおよびAndroid用のアプリケーションがあります。
Ninja Blocksは、デバイスを管理および取得するための外部アプリケーションおよびWebサービス用のRESTインターフェイスも提供します。 Ninja Blocksには、イベントへの反応を備えたシンプルなホームセキュリティシステムを構築するためのアプリケーションなど、いくつかの公式外部Webアプリケーションがあります。
ソフトウェア
上記のすべてを実装するために、以下を実装しました。無線トランシーバを使用するためのライブラリ。 無線トランシーバーからのデータの送受信、およびNooliteおよびOregon Scientificプロトコルのエンコード/デコード、Ninjaブロックのデバイスドライバー(1線式温度計、出力、nooliteおよびオレゴン、スマートハウスモジュール)を処理するデーモン。
すべてのコードは、通常どおり、githubで利用できます。
github.com/contactless/rfm69-linux
github.com/contactless/ninja-razumdom
github.com/contactless/wb-smarthome-ninja
github.com/contactless/ninja-1wire-temp
github.com/contactless/wiegand-linux-sysfs
注意、作業はまだ進行中です!
映像
スタンドの説明:
Ninja BlocksシステムのWebインターフェイスを使用した実際のデモ:
スマートフォン上のアプリケーション(Ninja Blocks Remote)による管理:
おわりに
繰り返しになりますが、Wiren Board Smart Homeコントローラーで予約注文を受け付けています。 注文は3月15日まで受け付けられ、出荷は5月の休日の前に計画されています。
次の記事では、無線トランシーバの使用、Nooliteプロトコルのリバースエンジニアリング、そしてもちろん、他の周辺機器の接続について説明します。 ニュースをフォローしてください!