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種類が存在します。
2.1.1 F1:振動検知
振動が検知された場合に、データを送信します。
★2023年12月までの出荷分
上図において、●印は振動を検知しデータを送信することを意味します。開閉検知と異なり、振動検知は検知の度にデータ送信は行いません。
(都度の)定期データ送信後、1回目の振動検知時のみデータを送信します。
※○印は、検知はされますがデータは送信しないことを意味します。振動回数は、次の定期データ送信時に知ることができます。
★2024年1月からの出荷分

定期データ送信F3後に、振動検知回数と、それに伴うuplink回数を設定できるようになりました。
- 定期データ送信F3後、次をN回繰り返す。
- 振動検知閾値をM回超えた場合、即時データ送信。送信後、再度検知回数をカウントする。再度、閾値をM回超えた場合、即時データ送信する。
※以前のファームウェアでは、M=1, N=1の特殊ケースが実装されていると考えることができます。
本設定については、4.11 振動検知の反応回数 を参照してください。
アップリンクペイロード例:


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


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


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) |
注意点
- 全てのフォーマットで、最初の2バイトは開閉ステータスとバッテリー電圧を表します。
- F1フォーマットは、共通部分に加えてTNOMDのみを含みます。
- F2フォーマットは、TODE、LDOD、ALARMを追加で含みます。
- F3フォーマットは、F2の全データに加えて、TNOMD、3軸加速度(X、Y、Z)、温度センサーの値を含みます。
- 加速度と温度の値は、最上位ビットが1の場合、負の値として解釈されます。
3. 動作例
3.1 構成
完全無償版 LoRaWAN® ネットワークサーバ The Things Stack Community Edtion を利用して、EM-ELST01 のセンシングデータをモニタリングすることが可能です。
例えば、ドアに EM-ELST01 を設置します。ドアの開閉時に、開閉や振動を検知します。開閉の変化や振動を検知すると、LoRaWAN® サーバーにデータが送信されます。
ここでは、The Things Stack Community Edtion とデータ可視化サービス DataCake を利用して、データ可視化までの手順を説明します。

### 3.2 The Things Stack Community Edtion へのデバイス登録
EM-ELST01 のキーを使用して、The Things Stack Community Edtion にデバイスを作成します。
EM-ELST01筐体側面には、画像のようなデバイス EUI が記載されています。
その他のキーについては、同梱のステッカーに記載されています。
The Things Stack にてアプリケーションの追加を行います。


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

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

アップリンクのペイロードフォーマッターを設定します。

ペイロードフォーマッターを記述します。
ペイロードフォーマッターはよくある質問を参照してください。EM-ELST01 の電源を ON にします。

3.3 DataCake でデータを表示する
DataCake は、IoT 向けデータ可視化の Web アプリケーションです。ユーザーフレンドリーなインターフェースを提供しています。
The Things Stack Community Edtion と連携設定することで、DataCake 上でデータを可視化することができます。
- The Things Stack を DataCake にリンクします。
https://docs.datacake.de/lorawan/lns/thethingsindustries#create-integration-on-tti - DataCake で EM-ELST01 を構成します。

- LoRaWAN を選択。
- New Product を選択。
Product Name を入力。 - The Things Stack V3 を選択。
- DevEUI, Name を入力。
- Configration より Payload Decoder を記述します。

- Add Fields より、Field を追加します。
※ここでは Battery, TODE(開閉状況) を追加します。
- Add Widget より Widget を追加します。

- 一覧から Boolean を選択します。

- Title をわかりやすく変更します。

- Data タブを選択し、Field を指定します。

- Dashboard に Widget が追加され、値が可視化されます。

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シリアル変換ケーブルの接続の仕方
| EM-ELST01 接続先 | USB-TTL 接続先 |
|---|---|
| GND | GND |
| Tx | Rx |
| Rx | Tx |
5.2 ペイロードフォーマッターによるアップリンクデータのデコード
ペイロードフォーマッターを記述して、アップリンクデータのデコードを行うことができます。
ペイロードフォーマッターはこちらをお使いください。
6. パッキング内容
- EM-ELST01 開閉式ドアセンサー・振動センサー x1
本製品は、当社ECショップでご購入いただけます。
7. サポート
- お問い合わせの際は、製品モデル、症状、再現手順など、できるだけ具体的な情報を記述し、lpwa@elspina.tech までご連絡ください。
変更履歴
- 2026-04-28: 新マニュアルサイトへ移行