Advantechの産業用LoRaWAN I/OモジュールWISE-4610入門

概要

この記事では、産業用LoRaWAN I/OモジュールWISE-4610P-NAをS617TプラグインI/Oベースでセットアップし、その属性/機能を確認し、構成してThe Things StackプライベートLoRaWANネットワークに追加します。セットアップの一環として、AdvantechのWISE Studioソフトウェアユーティリティを使用して、USB経由でWISE-4610の設定と通信を行います。

image

ハードウェア

ソフトウェア

  • Advantech WISE Studio
    WISE-Studioは、WISEモジュールを設定するためのツールです。このソフトウェアは、異なるモデルでも同様のウェブベースのインターフェースを提供します。Ethernet、LAN、あるいはWLAN経由で構成されたWISEモジュールの場合、WISE-StudioはWISEモジュールの内部Webサーバとの通信を可能にします。USBで構成されたモジュールの場合、WISE-Studioはソフトウェアがインストールされたコンピュータ上でWebサーバを実行します。そして、WebサーバはUSBインターフェースを使用して、WISEモジュールと通信します。
  • The Things Stack
    The Things Stackは、オープンソースのコアをベースに構築された企業用グレードのLoRaWANネットワークサーバです。The Things Stackを利用することで、自社ハードウェアやクラウド上でLoRaWANネットワークを構築・管理することができます。

背景と開梱

AdvantechのWISE-4610は、4610のベースに取り付けるプラグインモジュールという形で、複数のI/Oオプションを備えています。I/Oオプションには、アナログ入力(電流または電圧)、デジタル入出力、RS-485、およびスイッチング出力電圧があります。このプロジェクトでは、ハードウェアとして、WISE-4610P-NA、WISE-S617Tの各モジュールを使用しました。
WISE-4610P-NAを開梱すると、下図のようにWISE-4610、868/915MHzアンテナ、DINマウントベース、およびプラグインI/Oモジュール固定用ネジを確認できます。

WISE-S617Tモジュールを開梱すると、プラグインモジュールとWISE-4610に貼るためのS617シール(S617TのI/Oタイプについて記載)を確認できます。

S617T には、2 つのアナログ入力、2 つのデジタル入力、1 つのデジタル出力、 2 つの電源出力とI/O 用の 1 つの RS-485 を備えています。ピンアウトとI/Oの詳細は、以下のI/Oネジ端子コネクタの写真と図に示されています。
image

アナログ入力は、ジャンパCN6、CN7の設定により、電圧または電流のいずれかに設定することができます(初期設定ではAI1、AI2は電圧入力です)。ジャンパは、S617Tモジュールに以下のように配置されています。

S617TモジュールをWISE-4610のベースに挿入し、付属のネジで固定します。

WISE-Studio ソフトウェアユーティリティのセットアップ

WISE-Studioは、WISEモジュールを設定するためのツールです(ユーティリティは、WISE Studioからダウンロードできます)。このツールは、複数のWISEモデルで共通のウェブベースのインターフェースを提供します。Ethernet、LAN、あるいはWLANで構成されたモジュールの場合、WISE-StudioはWISEモジュールの内部Webサーバとの通信を可能にします。USBで構成されたモジュール(WISE-4610など)の場合、WISE-Studioはソフトウェアをインストールしたコンピュータ上でWebサーバを実行します。そして、WebサーバはUSBインターフェースを使用してWISEモジュールと通信します。モジュールの情報は、内蔵のWebページまたはWebブラウザからアクセスすることができます。

1 - https://jp.silabs.com/developers/usb-to-uart-bridge-vcp-driversからUSBドライバをダウンロードし、インストールします。

2 - https://www.advantech.com/ja-jp/supportからWISE Studioをダウンロードし、インストールします。

3 - モジュールに電源を供給するには、DC電源を+Vsおよび-Vsピンに接続します。

4 - モジュールをmicroUSBポートを介してコンピュータに接続します。

5 - WISE Studio Utilityを開き、Serial PortでGo To Configurationを選択します。そして、適切なCOMポートを選択し、接続(connect)をクリックします。

image

PCとWISE-4610が接続されると、Information(情報)ページでモジュール、LoRa、デバイス、および電源の状態の詳細を見ることができます。その他のページには、4610を設定する際に使用するConfigurationI/O StatusおよびAdvancedがあります。WISE-4610の詳細な設定方法は、 WISE-4610 User Manualに記載されています。

ハードウェアのセットアップ

このプロジェクトでは、WISE-4610の電源として24V DINレール電源を使用し、PCにUSBケーブルで接続してWISE Studioが動作します。以下の構成図は、セットアップの実装方法を示しており、Digi-Key品番によるBOMも含まれています(Scheme-it AdvantechWISE4610 Project)を参照)。
注:PCへのUSB接続は、WISE-4610の設定時のみ使用します。

WISE-4610 LoRaデバイスのEUI、App EUI、およびApp KEYの値の決定

WISE-4610のDevice EUI、App EUI、およびApp Keyは、WISE StudioでConfigurationページのRF Moduleタブに移動して確認することができます。
注:これらのLoRaパラメータは、4610をThe Things Stack LoRaWANネットワークに追加する際に必要となります。

The Things Stack LoRaWANネットワークサーバにI/OコントローラWISE-4610を追加

The Things Stackは、オープンソースのコアをベースに構築された企業向けのLoRaWANネットワークサーバです。The Things Stackを利用することで、自社のハードウェアやクラウド上でLoRaWANネットワークを構築・管理することが可能です。WISE-4610はThe Things Stackサーバに追加され、4610のI/OデータペイロードをLoRaWANサーバで受信することができるようになります。4610のデータペイロードは複数文字の文字列で構成されているため、カスタムJavascriptペイロードパーサを使用して、さまざまなアナログあるいはデジタルI/OおよびRS-485のデータパラメータ値をデコードする必要があります。Advantechは、The Things Stackで動作するように変更する必要がある汎用WISE Javascriptペイロードパーサを開発し提供しています。
このプロジェクトと以下の手順は、Things Stack LoRaWANサーバが稼働しており、ネットワークにデバイスを追加することが可能であることを前提としています。

1 - 最初のステップは、管理者としてThe Things Stackサーバにログインすることです。

2 - 「Applications」を選択し、WISE-4610をエンドデバイスとして追加するアプリケーションを開きます(このプロジェクトの例では、farm1が使用されます)。

3 - application ID「farm1」で + Add end deviceを選択します。

4 - Register end device画面で、「Register manually」を選択します。
Frequency planは「United States 902-928MHz FSB 2(used by TTN)」を選択します。
LoRaWAN versionは「LoRaWAN Specification 1.0.2」を選択します。
Regional Parameters versionは「RP001 Regional Parameters 1.0.2」を選択します。
上記WISE StudioのRF Module画面で決定したDevEUI、AppEUI、およびAppkeyのパラメータを入力します。
すべてのデータパラメータを入力したら、Register end deviceを選択して、WISE-4610の登録を完了します。

5 - 次に、4610から送信されるパラメータ値をデコードするために、ペイロードデコーダをThe Things Stackにセットアップする必要があります。Advantechは、サードパーティのLoRaWANゲートウェイで使用するためのリファレンスJavascriptペイロードパーサを提供しており、それはThe Things Stack で動作するように修正されています。デコーダと修正された情報は、githubのLoRaWAN/WISE4610 at main · eewiki/LoRaWAN · GitHubで見ることができます。

6 - The Things Stackでペイロードデコーダをセットアップするには、WISE-4610のEnd device画面に移動します(エンドデバイスはeui IDで表示されます)。Payload Formattersタブを選択します。Formatter typeで「Custom Javascript formatter」を選択します。Githubリンクでhttps://github.com/eewiki/LoRaWAN/blob/main/WISE4610/WiseParserV1_6_8_TTNmod.jsのJavascriptコードをコピーし、Formatter codeウィンドウにペーストし、Save changesを選択します。

7 - WISE-4610 のアクティビティを知るために LoRaWANメッセージを確認します。ペイロードデコーダが保存されると、デコードされたペイロードメッセージがLive Dataタブで確認できるようになります。

復号化されたペイロードの例を以下に示します。

    "received_at": "2023-04-04T18:45:13.139889859Z",
    "uplink_message": {
      "session_key_id": "AYcT4+JJKoHLe7tygE7ZnA==",
      "f_port": 1,
      "f_cnt": 3843,
      "frm_payload": "gQM3AAcHAgAAAAAAAAcnAgAAAAAANAofIACAAAD//+5+NAo/IP9/AADXj/1/EAIBAGAHFgNUMHAsZJw=",
      "decoded_payload": {
        "AI0": {
          "Event": 0,
          "MaxVal": 65535,
          "MinVal": 32494,
          "Range": 4,
          "Raw Data": 32768,
          "status": {
            "High Alarm": 0,
            "Low Alarm": 0
          }
        },
        "AI1": {
          "Event": 0,
          "MaxVal": 36823,
          "MinVal": 32765,
          "Range": 4,
          "Raw Data": 32767,
          "status": {
            "High Alarm": 0,
            "Low Alarm": 0
          }
        },
        "DI0": {
          "mode": 0,
          "status": {
            "DI Change": 0,
            "Get/Clean Counter Overflow": 0,
            "Get/Clean H2L Latch": 0,
            "Get/Clean L2H Latch": 0,
            "Signal Logic": 0,
            "Start Counter": 1
          },
          "value": 0
        },
        "DI1": {
          "mode": 0,
          "status": {
            "DI Change": 0,
            "Get/Clean Counter Overflow": 0,
            "Get/Clean H2L Latch": 0,
            "Get/Clean L2H Latch": 0,
            "Signal Logic": 0,
            "Start Counter": 1
          },
          "value": 0
        },
        "DO0": {
          "Mode": "DO",
          "status": {
            "DO Change": 0,
            "Pulse Output Continue": 0,
            "Signal Logic": 0
          }
        },
        "Device": {
          "BatteryLevel": 84,
          "PowerSrc": 3,
          "Time": 1680633904
        },
        "SequenceNumber": 3,
        "SourceAddress": null,
        "TotalLength": 55
      },

アプリケーションとインテグレーションの追加

WISE-4610を設定し、The Things Stack LoRaWANネットワークサーバに追加すると、WISE-4610からアップリンク/ダウンリンクされるデータは、アプリケーションやインテグレーションを追加することで操作したり可視化することができます。MQTT、Node-RED、IFTTT、クラウドなど多くのオプションを実装することができます。詳細については、https://www.thethingsindustries.com/docs/integrations/でご覧いただけます。

まとめ

AdvantechのWISE-4610P-NAとS617T I/Oモジュールは、LoRaWANを介してデジタル/アナログ信号のセンシングと制御およびRS-485デバイスの複数のI/Oデータ機能を提供します。The Things Stackや他のLoRaWANネットワークサーバでデータを利用できるようにすることで、ネットワークサーバにアプリケーションやインテグレーションを実装/追加して、データを可視化し、対処する機会を提供します。

参考資料




オリジナル・ソース(English)