[EnOcean活用シリーズ1] 基礎知識編

はじめに

IoT System Building Blocksシリーズはいろいろな機能のための「すぐに使える」フローおよび必要な設定についての説明、使われているプロトコルや技術の紹介をユーザーに提供するものです。Building BlocksはユーザーがIoTアプリケーションの開発を速やかに始めるための手助けとなります。

本シリーズの初回となる今回はEnOceanセンサのためのすぐに使えるフローを提供します。

これから4回に渡ってご紹介していきたいと思いますのでお付き合いください。

EnOcean活用シリーズ目次

  1. 基礎知識編
  2. セットアップして、サンプルフローで確認しよう
  3. Teach inを理解しよう
  4. 複数センサを扱えるようにしよう

 

まず本記事では、EnOceanの基礎を押さえる内容「基礎知識編」をご紹介します。

それでは、あらためて。

EnOcean活用シリーズにようこそ!

EnOceanとは

EnOceanプロトコルは、光や温度、振動やユーザーアクションによるエネルギーを収集して信号を送るデバイス向けに設計された低消費電力な無線通信プロトコルです。無線信号はERP (EnOcean Radio Protocol)というプロトコルによって送信されます。EnOceanプロトコルには、世界の地域ごとに(日本、ヨーロッパ、アメリカ)異なる周波数が使われます。例えばヨーロッパ、アフリカ、南米、中東および中国では868MHz、北米では902MHz、日本では928MHz、アジアおよびその他の諸国では315MHzが使われています。このようにEnOceanの技術仕様は世界規模での利用に適しています。またERPには、日本を除く多くの地域で使われるERP1ならびにほぼ日本国内のみで使われるERP2の2種類があります。

(参考リンク:https://www.enocean-alliance.org/what-is-enocean/enocean-wireless-standard/

EnOceanセンサはBluetoothやWi-Fi同様、無線信号で通信を行い、ERP1またはERP2プロトコルを使用します。無線信号を受け取るゲートウェイ側の受信機(receiver)はERP信号をESP(ESP3)信号に変換します。受信された信号は、ゲートウェイ側で、センサがデバイス間通信に使用するEEP(EnOcean Equipment Profiles)によって理解されます。

参考リンク:https://www.enocean-alliance.org/wp-content/uploads/2019/11/EnOcean-Equipment-Profiles-3-0.pdf

 ERP、ESP、EEPのスタックの図

x ERP、ESP、EEPのスタックの図

参考リンク:https://www.enocean-alliance.org/what-is-enocean/enocean-wireless-standard/

システム構成図

本ドキュメントで説明するフローを動作確認するためのシステム構成図は、以下の通りです。

利用可能なEnOceanノードについて

本IoT System Building Blockでは、EnOceanセンサーのデータを扱うために、npmで公開されているnode-red-contrib-enoceanパッケージ(v 0.7.9)を使用します。node-red-contrib-enoceanパッケージは、InputノードとActorノードの二つから構成されます。

  • 「Input」ノード: InputノードはEnOceanハードウェアが接続されているシリアルポートに着信したメッセージを読み取り、ERP1(日本国外)、ERP2(日本国内)に基づいて、ESP3でエンコードされた着信メッセージを解析し、メッセージをデータとともに返送します。
  • 「Actor」ノード:Actorノードの役割はEEPスキーマを使ってデータを解析し、後続のノードで処理可能な形式のメッセージを送信することです。 センサごとのフォーマットの定義はEEPで定められており、EEP番号と呼ばれるデータモデル定義を示す番号を見ることで、センサの種類を判別することができます。
  • 以下がよく利用されているセンサの例です:
    • Doorセンサ:D5-00-01
    • PIRセンサ:F6-02-04

EEPスキーマの一覧は、下記を参照してください。

URL: https://enocean-js.github.io/enocean-js/

  • EnOceanセンサを取り扱う上で、送信機/センサと受信機/ゲートウェイを紐づけるために必要な、重要な手順がふたつあります。 EnOceanには、Bluetoothのような送信機と受信機をペアリングする仕組みはなく、送信機から送出されるデータは基本的にブロードキャストされます。受信機は、全ての送信機から送出されたデータを受信できますが、どのセンサのデータを受け取って処理すべきか判断するために、’Teach-In’と’Learn’という仕組みを使います。
    1. まず、受信機を「Learnモード」に設定します。
    2. 受信機が「Learnモード」になっている間に、送信機は’Teach-In’データとして「送信者ID(Sender ID)」と自身のプロファイル(EEP)を送出します。
    3. 受信機は、’Teach-In’データを受け取り、受け取るべき送信機の「送信者ID(Sender ID)」とプロファイル(EEP)を記憶します。これにより、確認できていない「送信者ID」からのメッセージを無視できるようになります。

ここではEnOceanプロトコルのコンセプトの基礎を取り上げました。早速、次の項から、これらの特徴の一部を実際に体験してみましょう!