ELmote® EM-ELST01

LoRaWAN® 対応 開閉スイッチ・振動センサー ELmote® EM-ELST01の製品マニュアル(公式)です。
製品カタログは、こちらからダウンロードできます。
The Brochure in English is here.

当社ECショップで販売もしております。

お知らせ
2024.10.3: これまで提供していたThe Things Stack向けのPayload formatterが正しく動作しないことがわかり、修正をしました。
2023.12.27: 2024年1月出荷分より、ファームウェアが変更され、振動検知に関する機能が追加されます。

1. はじめに

1.1 EM-ELST01 開閉スイッチ 振動センサーとは

EM-ELST01 は、LoRaWAN® 対応のセンサーノードで、開閉検知と振動検知の2つの機能を搭載しています。

2種類のセンサーでスイッチのオン/オフと振動を検知、確実に状態の変化を捉え、LoRaWAN®ネットワークを介してセンサーの状態をアップリンクします。
LoRaWAN® AS923 (日本での周波数帯)に対応し、新世代のオープンソース LoRaWAN® ネットワークサーバ「The Things Stack」でも利用可能です。
大容量バッテリー(4000mAh)を搭載し、IP66 相当の防塵防水ケースにより、屋外で長期に渡り継続的に使用可能です。
開閉スイッチセンサーは、外付けタイプの EM-ELST01-E と 内包タイプの EM-ELST01-I があります。用途次第で使い分けが可能です。



1.2 基本的な仕様

  • STM32L072x MCU
  • SX1276 Wireless Chip
  • LoRa™モデム
  • LoRaWAN® 1.0.3 Class A
  • 周波数プラン AS923-JP
  • スイッチセンサー(開閉検知)
  • スイッチは外付けと内包の2種類
  • 加速度センサー(振動検知)
  • 屋外利用を想定した防塵防水IP66ケース
  • 超低消費電力
  • ATコマンドによる各種設定値変更
  • 長期間運用可能(電池容量4000mAh)
  • サイズ 1400 x 70 x 500 (mm)



1.3 消費電力

EM-ELST01 には塩化チオニルリチウム電池(年間自己放電が1%未満(25℃下)の放電率の低い非充電式の電池)が利用されています。

  • 最大連続電流 130mA
  • 最大昇圧電流 2A, 1秒
  • 停止時 2.7μA @3.3v
  • LoRa™ 送信時 125mA@20bBm 44mA@14dBm



1.4 保管と使用温度

-40 ~ 85℃



1.5 使用例

屋内外の"構造物"の変状検知

  • 堤防越水
  • 斜面・土砂
  • 堤防
  • 太陽光パネル
  • 支柱
  • ビニールハウス
  • ビル窓

など

2. 特徴

EM-ELST01 は、2種類のセンサー(スイッチのオン/オフと振動)を兼ね備えていることだけでなく、検知した内容に従って上位へ送信するデータ形式(アップリンクベイロードのフォーマット)がそれぞれ異なることが大きな特徴の一つです。

検知した事象によりデータ形式が異なることで、上位アプリケーション側で、データ表示や判断ロジックをよりシンプルに実現することが可能です。

2.1 アップリンクペイロードの仕様

アップリンクペイロードのフォーマットには、次の3種類が存在します。

  • F1:振動検知
  • F2:開閉検知
  • F3:定期データ送信(一定間隔)

2.1.1 F1:振動検知

振動が検知された場合に、データを送信します。

★2023年12月までの出荷分

f1
上図において、●印は振動を検知しデータを送信することを意味します。開閉検知と異なり、振動検知は検知の度にデータ送信は行いません。
(都度の)定期データ送信後、1回目の振動検知時のみデータを送信します。
※○印は、検知はされますがデータは送信しないことを意味します。振動回数は、次の定期データ送信時に知ることができます。

★2024年1月からの出荷分

f1_fw164

定期データ送信F3後に、振動検知回数と、それに伴うuplink回数を設定できるようになりました。

  • 定期データ送信F3後、次をN回繰り返す。
  • 振動検知閾値をM回超えた場合、即時データ送信。送信後、再度検知回数をカウントする。再度、閾値をM回超えた場合、即時データ送信する。

※以前のファームウェアでは、M=1, N=1の特殊ケースが実装されていると考えることができます。

本設定については、4.11 振動検知の反応回数 を参照してください。

アップリンクペイロード例:
payload
payload

2.1.2 F2:開閉検知

開閉の変化を検知した場合に、データを送信します。
f2
上図において、◆印は開閉の変化を検知していることを意味しています。 (都度の)定期データ送信後、開閉変化が複数回検知された場合、全てデータを送信します。
アップリンクペイロード例:
payload
payload


2.1.3 F3:定期データ送信(一定間隔)

一定の間隔で、定期的に現状況のデータを送信します。
f3
電源を入れた時刻を基準に、一定の間隔で定期的にデータの送信を行います。(上図は、1時間間隔に設定された例です。)
アップリンクペイロードには全ての状態が含まれます。
アップリンクペイロード例:
payload
payload

2.2 ペイロードフォーマット説明

すでに説明した通り、3種類のデータフォーマット(F1、F2、F3)で情報を送信します。
各フォーマットの構造は以下の通りです。

共通フォーマット

全てのデータ形式(F1、F2、F3)に含まれる共通部分:

バイト位置 データ項目 説明
0 (上位4ビット) Status 開閉ステータス情報
0 (下位4ビット) - 1 Battery バッテリー電圧 (V) = 値 / 1000

F1フォーマット(4バイト)

バイト位置 データ項目 説明
2-3 TNOMD(振動検知回数) 16ビットの整数値

F2フォーマット(9バイト)

バイト位置 データ項目 説明
2-4 TODE(開放検知回数) 24ビットの整数値
5-7 LDOD(開放時間(秒)) 24ビットの整数値
8 ALARM(アラームか否か) 8ビットの整数値

F3フォーマット(19バイト)

バイト位置 データ項目 説明
2-4 TODE 24ビットの整数値
5-7 LDOD 24ビットの整数値
8 ALARM 8ビットの整数値
9-10 TNOMD 16ビットの整数値
11-12 X X軸加速度 = 値 / 100 (g)
13-14 Y Y軸加速度 = 値 / 100 (g)
15-16 Z Z軸加速度 = 値 / 100 (g)
17-18 temp_ds DS18B20温度 = 値 / 10 (°C)

注意点

  1. 全てのフォーマットで、最初の2バイトは開閉ステータスとバッテリー電圧を表します。
  2. F1フォーマットは、共通部分に加えてTNOMDのみを含みます。
  3. F2フォーマットは、TODE、LDOD、ALARMを追加で含みます。
  4. F3フォーマットは、F2の全データに加えて、TNOMD、3軸加速度(X、Y、Z)、温度センサーの値を含みます。
  5. 加速度と温度の値は、最上位ビットが1の場合、負の値として解釈されます。

3. 動作例

3.1 構成

完全無償版 LoRaWAN® ネットワークサーバ The Things Stack Community Edtion を利用して、EM-ELST01 のセンシングデータをモニタリングすることが可能です。

例えば、ドアに EM-ELST01 を設置します。ドアの開閉時に、開閉や振動を検知します。開閉の変化や振動を検知すると、LoRaWAN® サーバーにデータが送信されます。

ここでは、The Things Stack Community Edtion とデータ可視化サービス DataCake を利用して、データ可視化までの手順を説明します。

DataCake



3.2 The Things Stack Community Edtion へのデバイス登録


  1. EM-ELST01 のキーを使用して、The Things Stack Community Edtion にデバイスを作成します。


    EM-ELST01筐体側面には、画像のようなデバイス EUI が記載されています。
    その他のキーについては、同梱のステッカーに記載されています。
    key

  2. The Things Stack にてアプリケーションの追加を行います。


    AddApp
    CreateApp

  3. アプリケーションの追加後、エンドデバイスの追加を行います。


    AddEndDevice

  4. 各種項目を選択・入力します。


    RegistEndDevice

  5. アップリンクのペイロードフォーマッターを設定します。
    Decoder
    ペイロードフォーマッターを記述します。
    ペイロードフォーマッターはよくある質問を参照してください。

  6. EM-ELST01 の電源を ON にします。


    EM-ELST01_ON

3.3 DataCake でデータを表示する


DataCake は、IoT 向けデータ可視化の Web アプリケーションです。ユーザーフレンドリーなインターフェースを提供しています。

The Things Stack Community Edtion と連携設定することで、DataCake 上でデータを可視化することができます。

  1. The Things Stack を DataCake にリンクします。
    https://docs.datacake.de/lorawan/lns/thethingsindustries#create-integration-on-tti
  2. DataCake で EM-ELST01 を構成します。
    AddDevice_DataCake
    1. LoRaWAN を選択。
    2. New Product を選択。
      Product Name を入力。
    3. The Things Stack V3 を選択。
    4. DevEUI, Name を入力。
  3. Configration より Payload Decoder を記述します。
    PayloadDecoder
  4. Add Fields より、Field を追加します。
    ※ここでは Battery, TODE(開閉状況) を追加します。
    AddField
  5. Add Widget より Widget を追加します。
    AddWidget
  6. 一覧から Boolean を選択します。
    Value
  7. Title をわかりやすく変更します。
    ChangeTitle
  8. Data タブを選択し、Field を指定します。
    SelectField
  9. Dashboard に Widget が追加され、値が可視化されます。
    CreateWidget

4. ATコマンドまたはLoRaWANダウンリンクによる設定

ATコマンドや、LoRaWAN® ダウンリンク経由で EM-ELST01 の設定値を変更することができます。
ATコマンドは、USB-TTLシリアル変換ケーブルを使ってMacやPCと接続し実行します。その接続方法は、よくある質問を参照してください。


4.1 送信間隔の設定

定期データ送信の送信間隔を変更します。
※初期値:600000ミリ秒
ATコマンド:AT+TDC=num

コマンド例 機能 応答結果
AT+TDC=? 現在の設定値の確認 600000
AT+TDC=300000 送信間隔の変更
※ATコマンドではミリ秒で指定します。
OK

ダウンリンクコマンド:0x01 XX XX XX
形式:コードの後に3バイトの値を設定します。
ダウンリンクでは 秒 で指定します。

コマンド例 機能
0100001E 送信間隔を 30秒 に設定
013C 送信間隔を 60秒 に設定
※2, 3バイト目は省略可能です。

4.2 再起動

EM-ELST01 を再起動します。
ATコマンド:ATZ
ダウンリンクコマンド:0x04 FF

4.3 設定の初期化

EM-ELST01 の各種設定を初期値に戻します。
ATコマンド:AT+FDR
ダウンリンクコマンド:0x04 FE

4.4 確認モード

確認モードを取得または設定します。
※初期値:0
ATコマンド:AT+CFM=num

コマンド例 機能 応答結果
AT+CFM=? 現在の設定値の確認 0
AT+CFM=1 確認モードの設定 OK

ダウンリンクコマンド:0x05 XX

コマンド例 機能
0501 AT+CFM=1 を設定
0500 AT+CFM=0 を設定

4.5 開閉検知

開閉状況を検知するスイッチの状態を設定します。
※初期値:2(下降時)
ATコマンド:AT+INTMOD=num
ダウンリンクコマンド:0x06 00 00 XX

状態
0 無効
1 下降または上昇時
2 下降時
3 上昇時

4.6 LoRaWAN ネットワーク JOINモード

LoRaWANネットワークへのJOINモードを取得または設定します。
※初期値:1 (OTAA)
ATコマンド:AT+NJM=num

コマンド例 機能 応答結果
AT+NJM=? 現在の設定値の確認 1
AT+NJM=0 ネットワークJOINモードを設定 OK

ダウンリンクコマンド:0x20 XX

コマンド例 機能
2000 AT+NJM=0 を設定
2001 AT+NJM=1 を設定

4.7 送信するデータサイズに合わせてデータレートを調整する

※初期値:1(調整する)
ATコマンド:AT+NJM=num
ダウンリンクコマンド:0x20 XX

機能
0 調整しない
1 調整する

4.8 アップリンク時の滞留時間

※初期値:0
ATコマンド:AT+DWELLT=num
ダウンリンクコマンド:0x25 XX

4.9 振動検知のしきい値

※初期値:10
ATコマンド:AT+SEN=num
1 〜 255
ダウンリンクコマンド:0xA5 XX
1 〜 FF

4.10 開閉検知の反応回数

インターバル間でのドアセンサーの反応回数を設定します。
インターバル後、設定した値に送信回数が達した場合、それより後の計測データは送信されなくなります。
インターバルデータ送信時にカウントはリセットされます。
ATコマンド:AT+EXT=num
ダウンリンクコマンド:0xA6 XX XX XX
※2, 3バイト目は省略可能です。

4.11 振動検知の反応回数

インターバル間での振動検知の反応回数(MとN)を設定します。
インターバル後、振動検知閾値をM回超えた直後にUplinkします。これをインターバル間でN回まで繰り返します。
初期値 は、M=1, N=1です。
ATコマンド:AT+THC=N, M
ダウンリンクコマンド:0xA7 XX XX xx xx (XX XX: N回、xx xx: M回)

※Mは省略可能で、省略した場合は、0(0x00 00)となります。。
※説明の都合上、コマンドに設定するMとNの順番が逆になっております。ご注意ください。

4.12 開閉検知の有効/無効

ドアセンサー検知の有効化、無効化を設定します。
※初期値:1 (有効)
ATコマンド:AT+DDS=num
ダウンリンクコマンド:0x A8 XX

状態
0 無効
1 有効

4.13 締め忘れアラームの設定

ドアセンサーが指定された状態で一定時間が継続した場合、
ALARM=1, payload format=2 のデータを送信します。
ATコマンド:AT+TTRIG=num1,num2
ダウンリンクコマンド:0xA9 XX XX XX
※初期値:0 (無効)

num1値 状態
0 ドアセンサーが離れていて num2 秒経過した時に送信
1 ドアセンサーが接続されて num2 秒経過した時に送信

※num2 を 0 に設定するとアラームは無効となります。

5. よくある質問

5.1 ATコマンドを実行する際のUSB-TTLシリアル変換ケーブルの接続の仕方

USB-TTL 接続図
AT

EM-ELST01 接続先 USB-TTL 接続先
GND GND
Tx Rx
Rx Tx

5.2 ペイロードフォーマッターによるアップリンクデータのデコード

ペイロードフォーマッターを記述して、アップリンクデータのデコードを行うことができます。
ペイロードフォーマッターはこちらをお使いください。

6. パッキング内容

  • EM-ELST01 開閉式ドアセンサー・振動センサー x1

本製品は、当社ECショップでご購入いただけます。

7. サポート

  • お問い合わせの際は、製品モデル、症状、再現手順など、できるだけ具体的な情報を記述し、lpwa@elspina.tech までご連絡ください。