- Home
- 組み込みネットワーク・サーバー
- Milesight LoRaWANゲートウェイをMicrosoft Azureに統合する方法
Milesight LoRaWANゲートウェイをMicrosoft Azureに統合する方法
説明
Microsoft Azure は、Microsoft が提供するクラウドサービスおよびリソースにアクセスし、管理するためのクラウドコンピューティングプラットフォームおよびオンラインポータルです。これらのサービスおよびリソースには、お客様の要件に応じて、データの保存や変換などが含まれます。これらのリソースおよびサービスにアクセスするには、アクティブなインターネット接続と Azure ポータルへの接続機能があれば十分です。
Azureプラットフォームは、HTTPsとMQTTによるデータの転送をサポートしています。本記事では、MQTTを使用してMilesight LoRaWANゲートウェイをMicrosoft Azureに接続する方法について説明します。
注:Milesightゲートウェイは、MQTT経由でのAzureへのアップリンクの送信のみをサポートしており、ダウンリンクはサポートされていません。
必要条件
1. Milesight LoRaWAN ゲートウェイ(UG56/UG6x/UG8x)
2. Microsoft アカウント
3. WindowsにインストールされたVisual Studio Codeアプリ(オプション)
構成
ステップ1. Azureアカウントの申請とポータルへのログイン
Microsoftアカウントを作成し、以下のURLからAzureにログインします:https://portal.Azure.com。
ステップ2. ログイン後のIoT Hubの作成
Azureのホームページから、+ リソースの作成ボタンを選択し、マーケットプレースの検索フィールドにIoT Hubと入力します。検索結果からIoT Hubを選択し、Createを選択します。
サブスクリプション、リージョンを入力し、IoT Hub名を設定します。
ステップ3. デバイスの作成
デバイスIDを入力します。このIDは、MQTT通信でゲートウェイの「Client ID」フィールドで使用されます。この例では、名前はUG65です
saveをクリックすると、Microsoft Azure側の設定は完了です。
ポータル設定の詳細については、このページも参照してください
ステップ4. ゲートウェイ用のSASトークンを作成
Azureでは、CLI拡張コマンドまたはVisual Studioコードを使用してSASトークンを生成できます。詳細はこちらをクリックしてください。
CLIコマンドで生成
1.こちらをクリックしてAzureコンソールに移動し、ストレージを作成してBash環境を選択します。
2. SASトークンを生成するには、以下のコマンドを入力します。
az iot hub generate-sas-token --connection-string 'HostName=myhub.azure-devices.net;DeviceId=mydevice;SharedAccessKeyName=iothubowner;SharedAccessKey=12345' --du 31536000
- 「–du 31536000」は有効なトークンの有効期間(秒)を意味します。必要に応じて期間を調整してください。より高度なコマンドパラメータについては、こちらをクリックしてください。
結果の生成:
Visual Studio Code を使用して生成
Visual Studio Code をダウンロードし、Windows PC にインストールします。Visual Studio Code で Azure IoT Hub を検索してインストールします。
Microsoft アカウントを使用してログインすると、ここに IoT Hub が表示されます。
Ctrl+Shift+P キーを押して、「generate SAS Token for device」を選択します。
この例ではデバイス UG65 を選択します。同じポータルで別のデバイスを作成すると、ここにも表示されます。
有効期限を設定します。この例では 300 です
SAS トークンが取得できます
注:SASトークンの有効期限を延長するには、1年またはそれ以上の期間として31,536,000秒を設定できます。そうすれば、更新について心配する必要がなくなります。
ステップ5. Milesight GatewayでMQTTの詳細を設定
Milesight Gatewayのウェブインターフェースにログインし Network Server > Applications ページでアプリケーションを作成します。
アプリケーション名と説明を入力し、Saveをクリックします
先ほど作成したアプリケーションを編集し、TypeリストからMQTTを選択します。
詳細は、デバイス接続文字列に記載されています。
Broker Address: HostName
Broker Port: 8883
ClientID: Device ID
Username: HostName/{Device ID}
Password: SAS Token (Step4で生成)
TLS: 有効にして、CA署名付きサーバー証明書として選択
Publish topic: devices/{Device ID}/messages/events/
MQTTの詳細定義についての詳細は、このURLをクリックしてください。
注意: Client IDは、Azureで構成する各ゲートウェイに対して一意である必要があります。
ステップ6. デバイスのステータスを確認
MQTT構成でトークンをコピーし、保存をクリックすると、MQTT接続ステータスをここで確認できます。
また、Visual Studio CodeでもGet Device Infoでデバイスステータス情報を取得できます。
ステップ7. センサーデータの確認
DeviceページでLoRaWANセンサーを追加し、DevEUI、AppKeyを入力し、先ほど作成したアプリケーションを選択します。
Save&Applyをクリックし、センサーの電源を入れます。センサーがオンラインになると、Packetsページにデータアップリンクが表示されます。
こちらをクリックしてAzureコンソールに移動し、ストレージを作成してBash環境を選択します。
以下はログ出力の例です。
naytelwmykt@Azure:~$ az extension add –name azure-iot
naytelwmykt@Azure:~$ az iot hub monitor-events –hub-name ug65 –output table
イベントモニターを開始します。停止するにはCtrl-Cを使用してください…
このようなイベントが取得できます。これは、ゲートウェイからのアップリンクデータです。
event: origin: ug65
payload: “{“applicationID”:”1″,”applicationName”:”app”,”data”:”AwAABAEA”,”devEUI”:”24E124C0002A1234″,”deviceName”:”n1″,”fCnt”:5,”fPort”:85,”rxInfo”:[{“altitude”:0,”latitude”:0,”loRaSNR”:8.5,”longitude”:0,”mac”:”24e124fffef0395d”,”name”:”local_gateway”,”rssi”:-28,”time”:”2020-06-03T08:14:23.868355Z”}],”time”:”2020-06-03T08:14:23.868355Z”,”txInfo”:{“adr”:true,”codeRate”:”4/5″,”dataRate”:{“bandwidth”:125,”modulation”:”LORA”,”spreadFactor”:7},”frequency”:868300000}}”
ここでのデータはまだオリジナルのままなので、理解できるようにデコーダーを追加するには、「Milesight Gatewayでペイロードコーデックを使用する方法」を参照してください。
追加後、次のアップリンクでVisual Studio Codeにデータが印刷されるのが確認できます。
event: origin: ug65 payload:{"battery": 92,"temperature": 30.8,"humidity": 50.5,"activity": 73,"illumination": 28,"infrared": 20,"infrared_and_visible": 121,"co2": 1255,"tvoc": 7,"pressure": 1004.7}
注意:他社製のセンサーを設定する場合は、デコーダスクリプト(JavaScript)を入手するためにサポートに連絡する必要があります。その後、そこで設定してください。
Azure CLIに関するその他のコマンドについては、このページを参照してください。
トラブルシューティング
MQTT接続ステータスがConnect Failedの場合、ゲートウェイのネットワーク設定を確認し、MQTT Brokerのアドレスに正しくpingできることを確認する必要があります。その後、MQTT構成の詳細を確認し、入力した値がルールに従っていることを確認してください。
MQTTが接続されているときにデータ出力が見つからない場合は、ゲートウェイのシステムログ内の「lora-app-server.log」を確認し、このようなログが表示されているかどうかを確認してみてください。Maintenance >Logページからダウンロードできます。
これは、ゲートウェイがMQTT経由でAzureにデータを転送したことを示すログです。
time=”2020-06-03T16:15:26+08:00″ level=info msg=”urhandler/mqtt: publishing message” deveui=24E124C0002A1234 qos=0 topic=devices/ug85/messages/events/
また、Deliver Ticket を使用して、より詳細な確認のための完全な説明とログパッケージを添付することもできます。
関連記事
組み込みネットワーク・サーバー
Milesight Gateway- MQTTによるNiagara BMSプラットフォーム統合この記事では、Milesight LoRaWANゲートウェイをMQTTプロトコル経由でNiagaraプラットフォームに統合する方法を説明します。
Milesightゲートウェイ- Modbus経由でのNiagara BMSプラットフォーム統合この記事では、Milesight LoRaWANゲートウェイをModbusプロトコル経由でNiagaraプラットフォームに統合する方法を説明します。
Milesight Gateway- BACnet経由でのNiagara BMSプラットフォーム統合この記事では、Milesight LoRaWANゲートウェイをBACnet/IPプロトコル経由でNiagaraプラットフォームに統合し、アップリンクとダウンリンクを実現する方法について説明します。
Exosite-Milesightゲートウェイ統合このガイドでは、Milesight ゲートウェイを接続し、MQTT 接続を介して LoRaWAN エンドデバイスのデータを Exosite IoT プラットフォームに統合する方法を紹介します。
Milesight Gateway MQTT APIガイドMilesightゲートウェイは、ゲートウェイに組み込まれたネットワークサーバーの設定を行うためのMQTT APIを提供しています。
MilesightのLoRaWANゲートウェイをMQTTでAWSに接続する方法このドキュメントでは、Milesight LoRaWANゲートウェイをMQTTプロトコル経由でAWSに接続する方法を説明します。
Milesightゲートウェイのチャンネルマスクの設定方法本記事では、Milesightゲートウェイでチャネルマスクを設定する方法を説明します。
MilesightのLoRaWANゲートウェイをMQTTでAkenzaに接続します。Milesight UG85/UG87 LoRaWANゲートウェイはネットワークサーバーとして動作し、ゲートウェイからAkenza Coreへエンドノードのデータを転送するMQTT機能を統合しています。
Milesight LoRaWANゲートウェイ用AWS IoT GreengrassクイックガイドAWS IoT Greengrassは、クラウド機能をローカルデバイスに拡張し、より情報ソースに近いデータの収集と分析、ローカルイベントへの自律的な反応、ローカルネットワーク上でのセキュアな相互通信を可能にします。
Milesightゲートウェイでマルチキャスト機能を使用する方法Milesight LoRaWANゲートウェイは、クラスBまたはクラスCのマルチキャストグループを作成し、エンドデバイスのグループにダウンリンクメッセージを送信することができます。この記事では、マルチキャスト機能を使用するための設定方法について説明します。
ソリューション / IoT サポート
- Milesight LoRaWANゲートウェイにおけるセルラーデータ使用量の削減方法残高が限られているセルラーネットワークを使用する一部のシナリオでは、データ使用量を削減するためにゲートウェイを設定することができます。
- MQTTダウンリンクコマンドによるデバイス制御の失敗Milesightノードは、MQTTブローカーからのダウンリンクコマンドを受信します。
- Milesight LoRaWANゲートウェイとChirpStackサーバーの接続に失敗しました。このガイドは、ChirpStackプラットフォームとのMilesightゲートウェイ接続に失敗する問題のトラブルシューティングを目的としています。
- Milesight LoRaWAN ゲートウェイは Devicehub に接続できません。LoRaWANゲートウェイをDevicehubに接続しようとして問題が発生した場合は、簡単なトラブルシューティングについては、こちらの記事を参照してください。
- MilesightゲートウェイとMilesight IoTクラウド間の接続問題を分析する方法MilesightゲートウェイをMilesight IoTクラウドに接続するには、Milesight IoTクラウドにSNでゲートウェイを作成し、ゲートウェイのウェブGUIで「Milesight IoTクラウド」オプションを有効にします。
- MilesightゲートウェイへのLoRaWANノードのアクティベートに失敗しました。LoRaWANデバイスのネットワーク参加方法は2種類あります
- ゲートウェイのWeb GUIにアクセスできないコンピュータがゲートウェイのイーサネットポートを認識できない
- Milesight GatewayのネットワークにアクセスできないWi-Fi、イーサネット、セルラー経由でネットワークにアクセスできない場合の症状です。
- Milesightゲートウェイのログファイルを取得する方法この記事では、Milesightゲートウェイのトラブルシューティングログを取得するための操作について説明します。
- ChirpStackとMilesightゲートウェイの統合本記事では、Milesight LoRaWANゲートウェイをChirpStackサーバーに統合する方法についてご説明します。