United Statesからアクセスのようです。言語設定をEnglishに切り替えますか?
Switch to English site
Skip to main content

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までの記事を読むことをおすすめする。

21_3c17731e9c500133dd1164e53d41c56719fc963c.png

はじめにお詫び

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

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_1_002_379bcf57b2b58022e8fbf504a9d36c2863bd76b6.png
Azure IoT Centralのスタート画面

azure_1_003_7062ea69f00aedd2e9a8e445c75b59e738176959.png
「Build an app」をクリックする

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

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

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

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

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

azure_1_007_ver4_d30e51a6bac15331e70cfa04699df3b3e0cc9eda.png

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

azure_1_008_ver4_969ca7253a51678cd9cd1fc6b7f38ab378277ba9.png
「+新規」でデバイステンプレートを作成する
azure_1_009_ver4_c7cd3ffe6679993afbb57984294113247018af5f.png
「IoTデバイス」を選択する
azure_1_010_ver4_07a7b6e0ec002d7c84a1804616e27b5efc16be38.png
チェックボックスは空欄のままで、次へ
azure_1_011_ver4_4d9e0da05e0ec48ad20619dd398ebdfa2b4c4432.png
よければ「作成」

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

azure_1_012_ver2_8b3fa2f2249a4c9cc0c3aa85133e2c57260817ad.png
デバイステンプレートの名前を入力する
azure_1_014_ver4_5f64f059fd731751a30144314b7ca3b6897bfbdd.png
スコープIDとSASキーをコピーする

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

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


azure_1_015_ver4_43031c2f81644ed1f77199cfd84eed0142a5c27f.png
必要項目を入力

この後、本来は「イベント」を作成しデバイスとの紐づけを行なう工程がある。しかし冒頭の節で述べた通り、筆者はアップデート後の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

azure_1_017_6649a5138bcf0c20da21cc47f7c8454c91c31116.png
「Deploy to Azure」をクリック

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

azure_1_018_ver2_fd190595af6c72c82a10f001996fe7057497363e.png
スコープIDとSASキーを入力

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


azure_1_021_ver2_da111f3334559bed42f19aa34ab6daca784d84c3.png
コードを追記する

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

以上で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 さんはまだ自己紹介を入力されていません...
DesignSpark Electrical Logolinkedin