2020/09/22

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