ゲートウェイ・フリート(マルチゲートウェイ)機能を使うには?

説明

Milesight LoRaWANゲートウェイはゲートウェイフリート機能によりマルチゲートウェイアーキテクチャを構築することができます。一つのゲートウェイ(コントローラゲートウェイと呼ばれる)はネットワークサーバとして使用され、他のゲートウェイ(エージェントゲートウェイと呼ばれる)はパケットフォワーダとして使用され、全てのデータパケットをコントローラゲートウェイに送信します。

このビデオチュートリアルを参照して手順を知ることもできます:

要件

  • MilesightコントローラLoRaWANゲートウェイ:UG56/UG65/UG67×1台
  • MilesightエージェントLoRaWANゲートウェイ: 任意のMilesightゲートウェイ

注意: コントローラゲートウェイがパブリックIPを持っているか、他のゲートウェイに到達可能であることを確認してください。

設定

エージェントゲートウェイの設定

ステップ1. ネットワークがマスターゲートウェイに到達できることを確認します。

ステップ 2. ウェブGUIにアクセスし、ゲートウェイIDをコピーし、Embedded NSを無効にします。

ステップ 3. コントローラーゲートウェイのネットワークサーバーにデータパケットを転送する新しい宛先を追加します

Type: Remote Embedded NS

Server Address:Controller GatewayのIPアドレス

Port: 18883

コントローラーゲートウェイの設定

ステップ 1. Web GUI にアクセスし、[Packet Forwarder] > [General]で Embedded NS を有効にし、[Network Server] > [General]ページで Network サーバーを有効にし、[Save & Apply] をクリックします。

注:プラットフォームモードも有効になっている場合は、次の章に従ってください。

ステップ 2. Network Server > Gateway Fleetでゲートウェイ ID を入力し、名前をカスタマイズしてエージェントゲートウェイを追加します。

エージェントゲートウェイはコントローラゲートウェイに接続します。

ステップ3. 同じ手順で他のエージェントゲートウェイをコントローラゲートウェイに追加します。1つのコントローラゲートウェイで最大100のエージェントゲートウェイを追加できます。

コントローラゲートウェイで1つのセンサーをアクティブにすると、このセンサーがコントローラゲートウェイの信号範囲外であるがエージェントゲートウェイの信号範囲内にあるゾーンに移動した場合、コントローラゲートウェイもこのセンサーデータパケットを受信することができます。

Milesight IoTクラウド有効時のコントローラゲートウェイの設定

プラットフォームモードが有効な場合、Gateway Fleetページは編集できません。以下の手順に従ってください。

ステップ1: Milesight Gateway HTTP APIのテスト方法を参照してHTTP APIトークンを取得します。

ステップ 2: HTTP API を使用してエージェントゲートウェイを追加します。詳細はHTTP APIドキュメントを参照してください。

方法1: APIツール(例: Postman)を利用する方法

方法2: curlツール経由

Linux 環境を開き、以下のコマンドを実行します:

curl -H "Authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJsb3JhLWFwcC1zZXJ2ZXIiLCJleHAiOjE3MTQxOTcxNTksImlzcyI6ImxvcmEtYXBwLXNlcnZlciIsIm5iZiI6MTcxNDExMDc1OSwic3ViIjoidXNlciIsInVzZXJuYW1lIjoiYWRtaW4ifQ.29eih5rgVXH0Te6W_4jRyD_lfZyFwyUAS0fL0J3hmyw"  -X POST --data '{"mac":"24E124FFFEF8E234","name":"test_ug63","latitude":0,"longitude":0,"altitude":0,"description":"test","organizationID":1,"ping":false,"networkServerID":1,"gatewayProfileID":""}' http://192.168.22.111/api/gateways
HTML

Windowsのコマンドプロンプトを開いて、以下のコマンドを実行することもできます:

curl -H "Authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJsb3JhLWFwcC1zZXJ2ZXIiLCJleHAiOjE3MTY0NTA4MjMsImlzcyI6ImxvcmEtYXBwLXNlcnZlciIsIm5iZiI6MTcxNjM2NDQyMywic3ViIjoidXNlciIsInVzZXJuYW1lIjoiYWRtaW4ifQ.cNyqnkX22m6kBcsU9bJe8OC8zELLcRwF08dmV1F6vBg" -X POST --data "{\"mac\":\"24E124FFFEF8E234\",\"name\":\"test_ug63\",\"latitude\":0,\"longitude\":0,\"altitude\":0,\"description\":\"test\",\"organizationID\":1,\"ping\":false,\"networkServerID\":1,\"gatewayProfileID\":\"\"}" http://192.168.22.111/api/gateways
HTML

このコントローラゲートウェイにエージェントゲートウェイを追加すると、すべてのデータはMilesight IoT Cloudプラットフォームにも転送されます。

🧭 チェックポイント:コントローラ側でパケット確認

✅ 1. [Packet Forwarder] → [General] → Embedded NS が有効か

  • コントローラ側で Embedded Network Server が有効になっている必要があります。
  • さらに、Network Server → Gateway Fleet にエージェントの Gateway ID が登録されているか確認してください。

✅ 2. [Packets] タブの表示条件

  • Packets タブには、Embedded NS が受信した LoRa パケットのみが表示されます。
  • エージェントからのパケットが届いていても、デバイスが登録されていない場合は表示されないことがあります。

✅ 3. [Network Server] → [Device] に対象デバイスが登録されているか

  • コントローラ側の Embedded NS に、EM300-THなどのデバイスが登録されていないと、パケットは無視される可能性があります。
  • Device EUI を正しく登録し、ApplicationProfile が設定されているか確認してください。

🧪 裏技的な確認方法

🔧 1. [Log] → [System Log] でパケット転送ログを確認

  • rxInfoforwarded packet のようなログが出ていれば、エージェントからの受信が成功している可能性があります。

🔧 2. エージェント側の [Packet Forwarder] → [Status]

  • 送信先(コントローラのIPとポート18883)に対して、送信成功しているかを確認できます。
  • Last Forwarded のタイムスタンプが更新されていれば、パケットは送られています。

 

🧠 追加ヒント

  • Milesight UG65のゲートウェイフリートでは、エージェントは単なるフォワーダーなので、デバイスの登録はコントローラ側のみで行います。
  • コントローラが Milesight IoT Cloud に接続されている場合、Platform Mode が有効だと Gateway Fleet ページが編集できないため、HTTP API経由でエージェントを追加する必要があります。

🧭 構成のポイント

役割 デバイス登録 Embedded NS 主な機能
コントローラー 必要 有効 デバイス管理・Join処理・解析
エージェント 不要 無効 パケット転送のみ

 

✅ 正しい設定手順の流れ

  1. エージェント側
    • Embedded NS を無効化
    • コントローラーの IP(Port: 18883)を指定してパケット転送設定
    • Gateway Fleet に登録されていることを確認
  2. コントローラー側
  • Embedded NS を有効化
  • Network Server → Device にセンサーの EUI を登録
  • Gateway Fleet にエージェントの Gateway ID を追加

 

🔍 よくある誤解

  • エージェント側にもデバイスを登録しないといけないと思われがちですが、Join処理やデコードはすべてコントローラー側で行われるため、登録は不要です。
  • Packets タブにエージェントの Gateway ID は表示されても、デバイスがJoinしていないとDeviceIDは表示されません

Milesight UG65のGateway Fleet構成では、コントローラーゲートウェイに登録するデバイスは、LoRaWANネットワーク全体で一元管理されるため、エージェント経由か直接受信かを区別する必要はありません。ただし、受信元ゲートウェイの識別は可能で、以下のように整理できます:

 

🧭 デバイス登録の考え方

  • すべてのLoRaWANデバイスはコントローラー側に登録
  • エージェントゲートウェイはパケットを転送するだけで、デバイス情報は保持しません
  • コントローラーのEmbedded Network ServerがJoin処理・デコード・ルーティングを担当

 

📦 パケットの受信元を識別する方法

コントローラーの**[Packets]タブNode-REDのLoRa Inputノード**で、以下の情報が確認できます:

項目 説明
rxInfo[].gatewayID パケットを受信したゲートウェイのID(エージェント含む)
devEUI デバイスの一意識別子(EUI)
rssi / snr 電波強度・品質(ゲートウェイごとに異なる)

これにより、どのゲートウェイがどのデバイスのパケットを受信したかを判別できます。

🔧 補足:複数ゲートウェイで同時受信した場合

  • rxInfo[] は配列で、複数のゲートウェイが同じパケットを受信した場合はすべて記録されます
  • コントローラーは通常、最も強いRSSIのゲートウェイを選択して処理します

 

つまり、デバイス登録はコントローラーに一元化し、受信元のゲートウェイはrxInfoで動的に識別するのがGateway Fleetの設計思想です。

📡 rxInfo の仕組みとは?

rxInfo は、LoRaWANネットワークにおいて、1つのパケットが複数のゲートウェイで受信された場合の受信情報を格納する配列です。Milesight UG65などのゲートウェイで、センサーからのデータを受信すると、rxInfo にその受信状況が記録されます。

 

🧬 rxInfo の構造と役割

rxInfo は通常、以下のような情報を含む 配列オブジェクトです:

“rxInfo”: [ { “gatewayID”: “24e161abcdef1234”, “rssi”: -52, “loRaSNR”: 10.5, “time”: “2024-07-07T13:00:00Z”, “channel”: 2, “frequency”: 923.2 }, … ]

各フィールドの意味:

フィールド 説明
gatewayID パケットを受信したゲートウェイのID
rssi 受信信号強度(dBm)
loRaSNR 信号対雑音比(SNR)
time 受信時刻(UTC)
channel 使用されたLoRaチャネル
frequency 受信周波数(MHz)

 

 

関連記事

組み込みネットワーク・サーバー

ソリューション / IoT サポート


Milesight製品

ウェーブクレスト株式会社が運営するMilesight製品特設サイトです

居住者の健康を確保

お知らせ

  1. 2025-4-3

    ピープル・センシング 駆動型スマートビルディング

    People Sensing Insights を通じてビルインテリジェンスに革命をもたらします。…
  2. 2023-7-21

    LoRaWANの説明: 理論から実践へのガイド

    この包括的なビデオでは、LoRaWANを深く掘り下げ、その仕組み、利点、アプリケーションについて説明…
  3. 2023-4-6

    センシング・インサイト Milesight リブランディングのお知らせ

    https://youtu.be/r40DK40DjIY …
ページ上部へ戻る