IoTプラットフォームopenHABの紹介
1.概要
openHABは、open Home Automation Busの略です。これは、家のすべてを管理および自動化できるオープンソースプラットフォームです。
openHABの幾つかの強みは以下のようです。
- 多数のデバイスおよびシステムを単一のソリューションに統合できます。
- 統一されたユーザーインターフェイスと、システム全体の自動化ルールへの共通のアプローチを提供します。
- ほぼすべてのホームオートメーションを実現するために利用できる柔軟なツールを提供します。
2.主な概念
openHABは、スマートデバイスと非スマートデバイスと電子的に通信し、ユーザー定義のアクションを実行し、すべてのデバイスとやり取りするための情報とツールをWebサイトに提供します。以下は、openHABの重要な概念を説明する表です。
定義 | 意味 |
Bindings | デバイスと電子的にやり取りするためのインターフェースを提供するopenHABのコンポーネントです。 |
Things | あなたのデバイスを表します。 |
Channels | 「Things」と「Items」の接続です。 |
Items | デバイスに関する情報を表します。 |
Rules | 特定の条件が満たされた場合に自動アクションを実行します。 |
Sitemap | 情報を表示し、直接操作を可能にするユーザーインターフェイス(Webサイト)です。 |
以下では、上記のコンポーネントについてさらに詳しく説明します。
2.1. Bindings
Bindingsは、ユーザーがopenHABにインストールするソフトウェアパッケージです。Bindingsの主な目的は、デバイスとThingの間の接続を確立するすることです。Bindingsはデバイスと通信し、デバイスとThingの間でopenHABに関連するすべてのコマンドを変換します。
Bindingごとに、構成方法の説明と例、サポートされるThingsとこれらのThingsが提供するChannelsを紹介します。
2.2. Things
Thingsは、システムに追加できるエンティティであり、多くの機能を1つで提供できます。ThingsはopenHABシステムの物理層を表します。 Thingsは設定を通じて、システムが管理する物理エンティティ(デバイス、Webサービス、情報ソースなど)をopenHABに通知します。
ThingsはBindingsを通じてopenHABに接続されます。Thingをシステムに追加するには、最初に、追加するThingをサポートする適切なBindingを特定する必要があります。
Thingsは、その機能にアクセスするための1つ以上のChannelsを提供します。 これらのChannelsはItemsに連携できます。Itemsは、Thingsの制御とその情報の管理に使用されます。ItemsがThingsのChannelsに連携している場合、ユーザーインターフェイスとルールエンジンが利用可能になります。
2.3. Channels
Channelsは、ItemへのThingの論理リンクです。Channelsは、ThingがItemと通信する方法(およびその逆)を定義します。Thingを定義するときにChannelsを作成します。
Thingの定義では、ItemにリンクするChannelを確定します。 これにより、openHABがThingからItemに(またはその逆に)情報を渡すことができるようになります。 たとえば、Thingにはtemperature Channel、humidity Channel、pressure Channelの3つのChannelがあり、温度、湿度、圧力に関する情報を受け取ります。
2.4. Items
Itemsはアプリケーション(主にUIまたは自動化ロジック)によって使用される機能とプロパティを表します。Itemsには状態があり、イベントを通じて使用されます。
Itemsは、読み取りまたは書き込みが可能な基本的でステートフルなデータ型です。ItemsをBindingとリンクして、外部にやり取りすることができます。たとえば、光センサーに取り付けられているitemはセンサーの測定値を取得し、light Channelにリンクされているitemは電球の明るさを設定することができます。
openHABの利用可能なItemタイプはこちらをご覧ください。
2.5. Rules
Rulesはプロセスの自動化に使用されます。Rulesを有効にすると、定義された一連のコマンドが実行されます。たとえば、温度が20°C未満のときにヒーターをオンにして、計算を実行し、時間を測ります。
openHABには、ルールが高度に統合された軽量で強力なツールがあります。 詳しくはこちらをご覧ください。
2.6. Sitemap
openHABでは、一連のThingsとItemsは、ユーザーのホームオートメーション設定の物理オブジェクトと論理オブジェクトを表します。SitemapがこれらのThingsとItemsをインターフェースに表示するために使用されます。これにより、ユーザーはそれらを視覚的に確認し、簡単に操作できます。
以下はsitemapの簡単な例です:
3.まとめ
上記でIoTプラットフォームopenHABとopenHABの基本概念を紹介しました。 次の記事では、openHABをインストールし、小さなデモを実行します。 ご関心をお寄せいただきありがとうございます。
4.参考資料
openHAB