LoRaWAN GatewayとMQTT Brokerの接続方法

説明

組み込みネットワークサーバーとして動作する場合、Milesight LoRaWAN ゲートウェイは、サードパーティの MQTT/HTTP/HTTPS サーバーへのデータパケットの送信をサポートしています。ゲートウェイ上に新しいアプリケーションを作成し、LoRaWAN エンドデバイスから送信されたデータのデコード方法と、MQTT サーバーにデータを送信するための MQTT データ転送プロトコルを選択することができます。

要件

  • Milesight LoRaWAN ゲートウェイ: UG8x(ファームウェアバージョン80.0.0.64以降)、UG65、UG67、UG56、UG63 V1
  • MQTTサーバー/ブローカー
  • MQTTクライアントツール:MQTT Explorerを例として使用します

設定

ステップ1. ゲートウェイの組み込みネットワークサーバーを有効にします。

Packet Forwarder > General に移動し、localhostサーバーアドレスを有効にします。

Network Server > General ページで Network server を有効にします。

ステップ 2. アプリケーションを追加

Network Server > Applications に移動して新しいアプリケーションを追加し、保存をクリックします。
Name:ユーザー定義、任意の値
Description:ユーザー定義、任意の値

ステップ 3. ゲートウェイを MQTT ブローカーに接続

Network Server > Applications に移動して、アプリケーションに「data transmission」を追加します。1 つのアプリケーションには 1 つの MQTT 統合しか追加できません。

MQTT ブロッカー情報を入力し、異なるデータタイプを格納するためのトピックを作成し、保存をクリックします。
Broker Address: MQTT ブロッカーの IP アドレス/ドメイン
Broker Port: MQTT ブロッカーの通信ポート
Client ID: サーバーに対するクライアントのユニークな ID 識別子。
ユーザー認証と TLS は必要に応じて有効化し、設定してください。
注:MQTT ブローカーが HiveMQ の場合は、TLS を有効にし、オプションをCA signed server certificateに設定してください。

MQTT の設定が完了したら、ここで接続ステータスを確認できます。

ステップ 4. ゲートウェイに LoRaWAN ノードを追加します。

Network Server > Profilesに移動して新しいプロファイルを追加し、保存をクリックします。あらかじめ定義されたプロファイルを使用することもできます。
Name:ユーザー定義、任意の値
Max TXPower:デフォルト値
その他のパラメータは、LoRaWAN ノードのユーザーガイドで確認できます。または、すべての設定をデフォルトのままにしておくこともできます。

Network Server > Device に移動して新しいデバイスを追加し、Save&Apply をクリックします。
Device Name:ユーザー定義、任意の値
Description:ユーザー定義、任意の値
Device-Profile:前に追加した対応するプロファイルのいずれかを選択します。
Application:前に追加した対応するアプリケーションのいずれかを選択します。
その他のパラメーターは、LoRaWAN ノードの製造元にご確認ください。

ステータスが以下のように表示された場合、上記のステップが正しく実行されています。

ステップ5. アップリンクデータトピックを追加します。

MQTTブローカーに公開するアップリンクデータをカスタマイズし、設定を保存します。トピックに「$deveui」を追加すると、トピックをサブスクライブする際、実際のデバイスEUIに置き換えることができます。
:/milesight/uplink/$deveui

ステップ 6. MQTT クライアントからトピックを購読して、アップリンクを取得します。

MQTT Explorer は包括的な MQTT クライアントであり、他の種類の MQTT クライアントツール(MQTT.fx、MQTT Box など)に置き換えることができます。
MQTT Explorer を開き、ポップアップウィンドウに関連 MQTT サーバー情報を入力します。
Name: ユーザー定義
Protocol: mqtt://
Host: MQTT ブローカーのアドレス
Port: ブローカーのポート

User name/Password: ユーザー認証情報がある場合は入力してください。ない場合は空白のままにしておいてください。

ADVANCED をクリックし、ゲートウェイのアップリンクデータトピックをコピーして MQTT エクスプローラーに貼り付け、+ADD をクリックします。

MQTT クライアント ID はデフォルトのままにし、BACK をクリックし、CONNECT をクリックします。

しばらくすると、データが MQTT ブローカーに転送され、MQTT エクスプローラーが MQTT サーバーからデータを受信できます。

アップリンク形式は JSON に固定されており、内容は以下の通りです。

{
  "applicationID": 1,                   // application ID
  "applicationName": "cloud",           // application name
  "deviceName": "24e1641092176759",     // device name
  "devEUI": "24e1641092176759",         // device EUI
  "time": "2020-0327T12:39:05.547336Z", // uplink receive time
  "rxInfo": [                           // lorawan gateway information related to lora
    {
      "mac": "24e124fffef021be",        // ID of the receiving gateway
      "rssi": -57,                      // signal strength (dBm)
      "loRaSNR": 10,                    // signal to noise ratio
      "name": "local_gateway",          // name of the receiving gateway
      "latitude": 0,                    // latitude of the receiving gateway
      "longitude": 0,                   // longitude of the receiving gateway
      "altitude": 0                     // altitude of the receiving gateway
    }
  ],
  "txInfo": {                           // lorawan node tx info
    "frequency": 868300000,             // frequency used for transmission
    "dataRate": {
      "modulation": "LORA",             // LORA module
      "bandwidth": 125,                 // bandwidth used for transmission
      "spreadFactor": 7                 // spreadFactor used for transmission
    },
    "adr": false,                       // device ADR status
    "codeRate": "4/5"                   // code rate
  },
  "fCnt": 0,                            // frame counter
  "fPort": 85,                          // application port
  "data": "AWcAAAJoAA=="                // base64 encoded payload (decrypted)
}
JavaScript

 

MQTT クライアントからダウンリンクコマンドを送信する必要がある場合は、記事「Milesight ゲートウェイで MQTT 経由でデバイスをリモート制御する方法」をご覧ください。

FAQ

Q1.デコードしたアップリンクコンテンツを MQTT ブローカーに送信したり、アップリンクコンテンツをカスタマイズしたりするにはどうすればよいですか?
A1: はい、ゲートウェイのペイロードコーデック機能を使用する必要があります。参考記事:
UG56/UG65/UG67:Milesight ゲートウェイでペイロードコーデックを使用する方法
UG63 V1/UG8x:

 

Q2.MQTTサーバー接続の状態が「切断」となっている場合のトラブルシューティング方法を教えてください。

A2:
1) メンテナンス > ツール > Pingに移動し、ゲートウェイがブローカーアドレスに正常にpingを送信できるか確認してください。

2) MQTTクライアントツールがMQTTブローカーに正常に接続できるか確認し、MQTTクライアントツールの設定に従ってゲートウェイを設定してください。
3) ゲートウェイの MQTT クライアント ID が他の MQTT クライアントと競合していないか確認してください。
4) CPU 負荷が高すぎないか、RAM および eMMC の空き容量が少ないか確認してください。
5) ログの重大度を「デバッグ」に変更し、切断の問題を再現してから、すべてのログファイルをダウンロードし、iot.support@milesight.com までお送りください。

Q3.接続ステータスが「接続済み」と表示されているのに、MQTT クライアントがデータを受信しないのはなぜですか?
A3:
1)デバイスがゲートウェイに追加されていることを確認し、Network Server > Packets に移動して、デバイスからアップリンクパケットが定期的に送信されているかどうかを確認してください。
2) デバイスが正しいアプリケーションに追加されていることを確認してください。
3) ゲートウェイのファームウェアが最新バージョンにアップグレードされていることを確認してください。ファームウェアは、こちらからダウンロードしてください:https://www.milesight.com/iot/resources/download-center/
4) ログの重大度を「デバッグ」に変更し、切断の問題を再現してから、すべてのログファイルをダウンロードし、iot.support@milesight.com までお送りください。

—以上—

関連記事

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

ソリューション / 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 …
ページ上部へ戻る