DesignSpark Electrical Logolinkedin
Menu 検索
フォーラムで質問

LoRaWANとMS Azureの連携 – Part4:Azure IoT Centralとの連携

本シリーズでは、LoRaWANネットワークの技術と、有用な2つのサービスThe Things Network(以下TTN)とMicrosoft Azureを連携させる方法を、チュートリアルを通して紹介していく。

本シリーズは4つのパートで構成されている。パート1からパート3では、センサデバイスからの温湿度データを、LoRaゲートウェイからTTNへと送信し、TTNと連携させたMicrosoft Azure IoT Hubを利用してデータの可視化を行なった。

本シリーズ最終パートとなるパート4では、下の画像のようなシステムを構築し、The Things Network上のHTTP Integrationと、Azure IoT Central ブリッジを利用して、Azure IoT Centralでデータの可視化を行なう方法について説明する。
パート4で必要となる基礎知識や各サービスの基本設定などは、これまでの記事で解説を行なっている。未読の方は、まずパート1からパート3までの記事を読むことをおすすめする。

はじめにお詫び

本シリーズは、下のハンズオン資料を基に解説を行なっている。スライド作成者からの許可は取得済みだ。

AzureとTTN連携ハンズオン資料 https://www.slideshare.net/AoiSakata/azurettn

資料中のIoT Centralに関する内容(資料64~78ページ)は、2019年11月に実施されたIoT CentralのアップデートでUI等が変更された影響で、2019年12月4日現在のバージョンに即した内容ではなくなっている。そのため、筆者の能力では新しいバージョンのIoT CentralとTTNの連携は実現できなかった。

以上の理由で、パート4の内容は以下の点に留意して読んでいただきたい。

  • 第1節「Azure IoT Centralの設定」の④以降の内容は、不正確・不完全である場合がある。
  • 冒頭にて、Azure IoT Centralでデータの可視化を行なう方法を紹介すると述べたが、本記事ではその実現には至っていない

つまり、パート4は参考程度に読んでいただくのがいいだろう。今後方法がわかり次第、追記を行なう予定である。
なお、資料63ページまでのIoT Hubに関する資料の内容は、2019年12月4日現在のバージョンに即している。

 

1.Azure IoT Centralの設定

Azure IoT Centralは、IoT ソリューションの作成を容易にする IoTアプリケーションプラットフォームだ。IoT 機器の管理・運用・開発にかかるコストの削減に役立つ。
運用するデバイスの種類に合ったテンプレートを選び、IoT Central アプリケーションを作成してテストする、というのが利用の大まかな手順となる。また、IoT Central アプリケーションを使って、センサデバイスからのデータの収集、可視化、分析、アラート通知などのアクションの実行が可能だ。

それではAzure IoT Centralの基本設定からはじめていこう。

①Azure IoT Centralでアプリケーションを作成する。
Azure IoT Central  
https://apps.azureiotcentral.com

上のリンク先からAzure IoT Centralのページに飛び、「My apps」で「Build an app」をクリック、移動先のページで「Custom app」を選択する。


Azure IoT Centralのスタート画面


「Build an app」をクリックする


「Custom app」を選択してアプリケーションの作成を開始する

下の画像のようなアプリケーション作成画面に移動したら、以下の必要項目を入力する。

  • Application name
    • 任意の名前を入力
  • URL
    • 独自の名前を入力
  • Application template
    • Preview application
  • Directory
    • 任意のものを選択
  • Azure subscription
    • 任意のものを選択、今回は無料試用版
  • Region
    • United States


アプリケーション作成画面

項目入力後、下の画像のようなダッシュボードの画面に移動していればアプリケーションの作成は完了だ。


②デバイステンプレートを作成する。
左のタブからデバイステンプレートを開き、「+新規」をクリックする。「IoTデバイス」を選択し、「デバイスのカスタマイズ」ページでチェックボックスを空欄にして「次:レビュー」をクリック、「作成」でテンプレートを作成する。


「+新規」でデバイステンプレートを作成する

「IoTデバイス」を選択する

チェックボックスは空欄のままで、次へ

よければ「作成」

③デバイステンプレートの設定を行なう。
デバイステンプレートの名前を任意に決定し入力する。左のタブから「管理」>「デバイス接続」に移動し、スコープIDとSASキーをコピーする。


デバイステンプレートの名前を入力する

スコープIDとSASキーをコピーする

④デバイステンプレートのページから「機能の追加」を選択し、テレメトリの構成を定義する。
以下の必要項目を入力する。

  • 表示名
    • 任意の名前を入力
  • 名前
    • 任意の名前を入力、今回はTemperature
    • デバイスから送られるデータの識別子
  • 機能の種類
    • Telemetry
  • セマンティックの種類
    • Event
  • スキーマ
    • Integer
  • 重要度
    • Information
  • 単位
    • 任意、今回は℃
  • 表示単位
    • 任意、今回は℃
  •  



必要項目を入力

この後、本来は「イベント」を作成しデバイスとの紐づけを行なう工程がある。しかし冒頭の節で述べた通り、筆者はアップデート後のIoT Centralでイベントを作成できなかったため、以降は省略させていただく。

 

2.Azure IoT Central Device Bridgeの設定

2019年12月4日現在、IoT Central ブリッジの仕様は、冒頭のハンズオン資料内のものと大きく変わりがないため、本節の内容は参考に値する価値はあると思われる。

まずIoT Central デバイス ブリッジとは、Sigfox、Particle、The Things Network などの他のクラウドを IoT Central アプリに接続するオープンソースソリューションだ。IoT Centralブリッジを利用してTTNを IoT Central に接続することで、LoRaWANネットワークに接続されたセンサデバイスのデータをIoT Central上で処理することができるようになる。

ではIoT Centralブリッジの設定を始めよう。

①IoT Centralブリッジの設定を行なう。
まず下のインク先で「Deploy to Azure」をクリックする。

GitHub - Azure/iotc-device-bridge: Sample source code for enabling IoT Central integration with other IoT platforms https://github.com/Azure/iotc-device-bridge


「Deploy to Azure」をクリック

②Azure Portalにて、「ホーム」>「カスタムデプロイ」へ移動し、前節でコピーしたスコープIDとSASキーを貼り付ける。


スコープIDとSASキーを入力

③デプロイされた関数アプリに移動し、「関数」>「IoTCintegration」のコンソールタブで "npm install" を実行する。ここでNode.jsのダウンロードが必要になる場合がある。

関数アプリ

"npm install"を実行

④「関数」>「IoTCintegration」内の "index.js" を編集する。
コード20行目の下に以下のコードを挿入する。完了後、保存する。

context.log(JSON.stringify(req.body));
let gateway_id = req.body.metadata.gateways[0].gtw_id;
        req.body = {
    device:{
        deviceId: req.body.dev_id
    },
    measurements: req.body.payload_fields
};
req.body.measurements.gateway_id = gateway_id;



コードを追記する

⑤ページ上部の「関数のURLの取得」をクリックし、URLをコピーする。

以上でIoT Centralブリッジの設定は終了だ。

この後TTN側の設定を行ないIoT Centralでデータを視覚化する工程があるが、今回は実行には至らなかった。冒頭で紹介したハンズオン資料を再掲するので、参考にしてもらいたい。

AzureとTTN連携ハンズオン資料 https://www.slideshare.net/AoiSakata/azurettn

最後に

以上で、LoRaWAN, TTN, Azure IoTに関する本シリーズ記事は終了だ。
パート4は、未消化のまま外部の資料に多くを預けることになってしまった。
一方パート1からパート3の内容は、LoRaWANネットワークの構築やAzure IoTの利用の入り口としては役に立つだろう。参考にしていただければ幸いだ。

パート1はこちら

パート2はこちら

パート3はこちら

T.Ono さんはまだ自己紹介を入力されていません...

12 Dec 2019, 6:24