説明
Milesight LoRaWANゲートウェイは、サードパーティーのMQTT/HTTP/HTTPSサーバーへのデータパケット送信をサポートしています。ゲートウェイ上に新しいアプリケーションを作成し、LoRaWANエンドデバイスから送信されたデータをデコードする方法を定義し、MQTTデータ転送プロトコルを選択してMQTTサーバにデータを送信することが可能です。
必要条件
- Milesight LoRaWAN Gateway:UG6x、UG8x(ファームウェアバージョン80.0.0.64以降)
- MQTTサーバー/ブローカー
- MQTT Explorer(またはその他のMQTTクライアントツール)
設定方法
Step1.ゲートウェイ内蔵ネットワークサーバーを有効にする。
Packet Forwarder > Generalで、localhostサーバーのアドレスを有効にします。
Network Server > Generalページで、Networkサーバーを有効にする。
ステップ2.アプリケーションとプロファイルを追加する。
Network Server>Applications で、新しいアプリケーションを追加し、保存をクリックします。
Name:ユーザー定義、任意の値
Description:ユーザー定義、任意の値
Payload Codec:なし、またはカスタムデコーダ
Network Server>Profilesで新しいプロファイルを追加し、保存をクリックします。
Name:ユーザー定義、任意の値
Max TXPower:デフォルト値
その他のパラメータは、LoRaWANノードのユーザーガイドで確認するか、すべての設定をデフォルトのままにしておくことが可能です。
ステップ3.ゲートウェイにLoRaWANノードを追加します。
Network Server>Deviceで、新しいデバイスを追加し、save&applyをクリックします。
Device Name:ユーザー定義、任意の値
Description:ユーザー定義、任意の値。
Device-Profile: 前に追加された対応するプロファイルの中から1つを選択します。
Application:先に追加した対応アプリケーションの中から1つを選択します。
その他のパラメータは、LoRaWANノードメーカーに確認することができます。
以下のように表示されたら、上記の手順が正しく行われたことを意味します。
ステップ4.MQTTブローカーにデータを転送する。
Network Server>Applicationsで、アプリケーションの「data transmission」を追加します。
MQTTブローカー情報を入力し、異なるデータタイプを保存するためのトピックを作成し、saveをクリックします。
Broker Address :MQTTサーバーのIPアドレス/ドメイン
Broker Port: MQTTサーバーのブローカーポート、デフォルトは1883ポート。
Client ID:ユーザー定義で、サーバーに対するクライアントのユニークなIDアイデンティティ。
注:MQTTブローカーが認証情報を必要とする場合、ユーザー認証情報を有効にし、正しいユーザー名とパスワードを記入してください。
MQTTの設定が完了すると、ここで接続状態を確認することができます:
ステップ5.MQTTクライアントから対応するトピックをサブスクライブする。
MQTT explorerは総合的なMQTTクライアントで、他の種類のMQTTクライアントツール(MQTT.fx、MQTT Boxなど)に置き換えることができます。
MQTT Explorerを開き、ポップアップウィンドウに関連するMQTTサーバー情報を記入します。
Name:ユーザー定義
Protocol:mqtt://
Host:MQTTブローカーアドレス
Port:ブローカーポート
User name/Password:ユーザー認証情報がある場合は、それを記入してください。ない場合は、空欄のままにしておいてください。
ADVANCEDをクリックし、ゲートウェイのUplinkデータトピックをコピーし、MQTTエクスプローラーに貼り付け、+ADDをクリックします。
MQTTクライアントIDはデフォルトのままにしておき、BACKをクリックし、CONNECTをクリックします。
しばらくすると、MQTTサーバーからデータを受信できるようになります。
ステップ6.MQTT ExplorerでTopicを発行し、センサーにダウンリンクのデータを送信します。ダウンリンクの形式は2種類あります:
- ゲートウェイではDownlink Dataは空白です。
トピックの公開形式:application/[applicationID]/device/[devEUI]/tx
例.
ゲートウェイから、制御したい機器に関するアプリケーションIDとデバイスEUIを取得することができます:
そこで、MQTT Explorerで以下のようにトピックを公開します:
Topic:application/1/device/ 24e124126a148401/tx
Format:json
Content:センサーのペイロードドキュメントで確認(センサーメーカーから入手可能)
- ゲートウェイ側で”/$deveui “で埋められるダウンリンク・データ
例:/milesight/downlink/$deveui
トピックを公開する形式 :
/milesight/downlink/[devEUI]
例.
ゲートウェイから、制御したい機器に関するデバイスEUIを取得することができます:
そこで、以下のようにMQTT Explorerでトピックを公開することができます:
Topic: /milesight/downlink/24e124126a148401
Format:json
Content:センサーのペイロードドキュメントで確認(センサーメーカーより入手)
Publishをクリックした後、Network Server>Packetsで確認することができます。ゲートウェイが対応するダウンリンクのトピックデータを正常にサブスクライブした場合、少なくとも1つの灰色のメッセージパケットのレコードが存在します。
よくあるご質問
Q1.MQTTサーバーの接続ステータスが「Disconnected」になっているのですが、なぜですか?
A1:Maintenance > Tools >Pingで、ゲートウェイが以下のようにブローカーアドレスにPing送信できることを確認してから、上記の入力値がすべて正しいことを確認してください。
Q2.デコードしたデータパケットをMQTTサーバーに送信する方法は?
A2:How to Use Payload Codec on Milesight Gateway.を参照してください。