こちらの記事について、内容・翻訳・視点・長さなど、皆様のご意見をお送りください。今後の記事製作の参考にしたいと思います。
Thank you! Your feedback has been received.
There was a problem submitting your feedback, please try again later.
こちらの記事の感想をお聞かせください。
本シリーズでは、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はこちら
- 参考(スライド作成者から許可を得ています)
AzureとTTN連携ハンズオン資料 https://www.slideshare.net/AoiSakata/azurettn