Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

AzureとTTN連携ハンズオン資料

311 views

Published on

AzureとTTNの連携ハンズオン資料です。※9月17日修正しました。

Published in: Technology
  • Be the first to comment

AzureとTTN連携ハンズオン資料

  1. 1. Ⓒ 2019 アールエスコンポーネンツ株式会社 AzureとTTN連携ハンズオン 2019年9月12日 アールエスコンポーネンツ株式会社インターン The Things Network Kumamoto 坂田 蒼 注があるものを除いて, この資料の内容物は クリエイティブ・コモンズ 表示 4.0 ライセン スの下に提供されています。
  2. 2. Ⓒ 2019 アールエスコンポーネンツ株式会社 概要 • ラズパイ OSのバージョン確認 IPアドレスの固定 • センサーノード サンプルプログラムのダウンロード http://www.openwave.co.jp/%e3%83%80%e3%82%a6%e3%83%b3%e3%8 3%ad%e3%83%bc%e3%83%89/ (一番上のABP版をダウンロード)
  3. 3. Ⓒ 2019 アールエスコンポーネンツ株式会社 ラズパイの設定手順 Ⓒ 2019 アールエスコンポーネンツ株式会社
  4. 4. Ⓒ 2019 アールエスコンポーネンツ株式会社 ハードウェア設定 • ラズベリーパイにGPS-HATを装着 • VNC Viewerのダウンロード 自分のラズパイのIPアドレス入力
  5. 5. Ⓒ 2019 アールエスコンポーネンツ株式会社 ハードウェア設定 • ラズベリーパイのアップデート sudo apt-get update sudo apt-get dist-upgrade • Raspberry Piの設定>インターフェイス>下記3つを有効に
  6. 6. Ⓒ 2019 アールエスコンポーネンツ株式会社 ゲートウェイ設定 1. Raspberry Pi上でパッケージインストール https://github.com/bokse001/dual_chan_pkt_fwdをクローンor download 2. 解凍してできたdual_chan_pkt_fwd-master フォルダを dual_chan_pkt_fwdに変更 注意:ファイルの場所がdownloadでなく、home/piの中に来るように!
  7. 7. Ⓒ 2019 アールエスコンポーネンツ株式会社 ゲートウェイ設定 dual_chan_pkt_fwdファイル内の書き換え • dual_chan_pkt_fwd.cpp 網掛けの部分2か所書き込み(232~234, 436~441行目)
  8. 8. Ⓒ 2019 アールエスコンポーネンツ株式会社 周波数 周波数 チャンネル 出力 920.6MHz 24 250mW 20mW 920.8MHz 25 250mW 20mW 921.0MHz 26 250mW 20mW 921.2MHz 27 250mW 20mW 921.4MHz 28 250mW 20mW 921.6MHz 29 250mW 20mW 921.8MHz 30 250mW 20mW 922.0MHz 31 250mW 20mW 922.2MHz 32 250mW 20mW 922.4MHz 33 250mW 20mW 922.6MHz 34 250mW 20mW 922.8MHz 35 250mW 20mW 923.0MHz 36 250mW 20mW 923.2MHz 37 250mW 20mW 923.4MHz 38 250mW 20mW 右の周波数一覧から、 今回のハンズオンで使用する 周波数を二つ選択 ※センサーノードの書き込みに も使用します。
  9. 9. Ⓒ 2019 アールエスコンポーネンツ株式会社 ゲートウェイ設定 dual_chan_pkt_fwdファイル内の書き換え • global_conf.json 自分で設定する部分 共通して変更する部分 先に決めた 周波数
  10. 10. Ⓒ 2019 アールエスコンポーネンツ株式会社 ゲートウェイ設定 • コマンド cd dual_chan_pkt_fwd make sudo make install sudo ./dual_chan_pkt_fwd サーバーに無事コンタクトされていればOK
  11. 11. Ⓒ 2019 アールエスコンポーネンツ株式会社 The Things Networkの 設定手順
  12. 12. Ⓒ 2019 アールエスコンポーネンツ株式会社 TTNアカウント登録 右上のSign upボタンを押す ユーザーネーム(変更不可)…任意の名前 EMAIL ADDRESS…自分のemail アドレス PASSWORD…パスワードを作成 >>Create account • The things network (https://www.thethingsnetwork.org/)に入る
  13. 13. Ⓒ 2019 アールエスコンポーネンツ株式会社 コンソール設定 ハンドラー… ttn-handler-asia-se Language…日本語 >>保存 一旦ログアウトして再度ログイン • コンソール画面>アカウント名>Setting
  14. 14. Ⓒ 2019 アールエスコンポーネンツ株式会社 ゲートウェイ設定 ゲートウェイID…Raspberry piのMACアド レス (MACアドレスの3byte目と4byte目にffff を挟む) I’m using the legacy packet forwarder… チェック 記述…“何のためのゲートウェイか判別 するための説明" 周波数計画…Asia 920-923MHz Router…ttn-router-jp 場所…地図上での選択 アンテナ代替え…設置状況による
  15. 15. Ⓒ 2019 アールエスコンポーネンツ株式会社 アプリケーション登録 アプリケーションID…任意 記述…任意 アプリケーションEUI…Asia 920- 923MHz ハンドラー登録…ttn-handler- asia-se
  16. 16. Ⓒ 2019 アールエスコンポーネンツ株式会社 センサデバイスの設定 デバイスID…任意 デバイスEUI…クロス矢印ボタン を押して自動生成 App Key…自動生成 (触らない)
  17. 17. Ⓒ 2019 アールエスコンポーネンツ株式会社 センサデバイスの設定 アクティベーション方式…デバイスの設定からABP選択
  18. 18. Ⓒ 2019 アールエスコンポーネンツ株式会社 センサデバイスの設定 • Arduino IDEのダウンロード/起動 (https://www.arduino.cc/en/Main/Software) • ライブラリのダウンロード 1. Adafruit Unified Sensor 2. DHT sensor 3. Low-Power
  19. 19. Ⓒ 2019 アールエスコンポーネンツ株式会社 センサデバイスの設定 msb値に変換 >デバイスアドレス、ネットワークセッションキー、Appセッションキーのコピー
  20. 20. Ⓒ 2019 アールエスコンポーネンツ株式会社 センサデバイスの設定 Arduinoでセンサノードに書き込む //デバイスアドレス TTN上のデバイスアドレスの前に0xを足したもの //ネットワークセッションキー TTN上のネットワークセッションキーのmsb値 //アプリケーションセッションキー TTN上のアプリケーションセッションキーのmsb 値 //Set data rate and transmit power LMIC_setDrTxpow(AS923_DR_SF10,13);
  21. 21. Ⓒ 2019 アールエスコンポーネンツ株式会社 センサデバイスの設定 • Arduino-limic-master-for-LG01-JP-master>src>limic>lorabase_as923 周波数設定の書き換え(60~64行目) 先に決めた周波数 (ゲートウェイ設定と合わせる)
  22. 22. Ⓒ 2019 アールエスコンポーネンツ株式会社 TTN上で動作確認
  23. 23. Ⓒ 2019 アールエスコンポーネンツ株式会社 TTN上で動作確認
  24. 24. Ⓒ 2019 アールエスコンポーネンツ株式会社 Payload Formatの作成 Payload Formatを作成する
  25. 25. Ⓒ 2019 アールエスコンポーネンツ株式会社 TTNとAzureの関係図 Ⓒ 2019 アールエスコンポーネンツ株式会社
  26. 26. Ⓒ 2019 アールエスコンポーネンツ株式会社 TTNとAzure連携の3つの方法
  27. 27. Ⓒ 2019 アールエスコンポーネンツ株式会社 Azureの設定 Ⓒ 2019 アールエスコンポーネンツ株式会社
  28. 28. Ⓒ 2019 アールエスコンポーネンツ株式会社 Azureアカウント作成 • Microsoft Azure(https://azure.microsoft.com/ja-jp/free/)に入る • Officeのアカウントで作成可能 • ¥22,500 のクレジットで有料サービスを30日間利用可能
  29. 29. Ⓒ 2019 アールエスコンポーネンツ株式会社 ダッシュボードの作成 +新しいダッシュボードの作成 > ダッシュボードの名前 > カスタマイズ完了 • 作業単位のダッシュボードの管理 • チームでダッシュボードの共有が可能に
  30. 30. Ⓒ 2019 アールエスコンポーネンツ株式会社 リソースグループの作成 リソースグループ… リソースグループ名 リージョン…東日本 >>作成
  31. 31. Ⓒ 2019 アールエスコンポーネンツ株式会社 Azure IoT Hubと の連携 Ⓒ 2019 アールエスコンポーネンツ株式会社
  32. 32. Ⓒ 2019 アールエスコンポーネンツ株式会社 TTNとAzure IoT Hubとの連携図 • HTTP Integrationを利用してAzure IoT Hubに接続 • Time Series Insightsで可視化
  33. 33. Ⓒ 2019 アールエスコンポーネンツ株式会社 TTNとAzure IoT Hubとの連携図
  34. 34. Ⓒ 2019 アールエスコンポーネンツ株式会社 Azure IoT Hubの作成 IoT Hubを選択→作成
  35. 35. Ⓒ 2019 アールエスコンポーネンツ株式会社 Azure IoT Hubの作成 サブスクリプション…無料試用版 リソースグループ…作成した リソースグループを選択 リージョン…東日本 IoT Hub名…任意のHub名 >>サイズとスケール
  36. 36. Ⓒ 2019 アールエスコンポーネンツ株式会社 Azure IoT Hubの作成 価格とスケールティア…S1 >>確認および作成 >>作成 デプロイ完了の表示
  37. 37. Ⓒ 2019 アールエスコンポーネンツ株式会社 Azure IoT Hub Deviceの登録
  38. 38. Ⓒ 2019 アールエスコンポーネンツ株式会社 Azure IoT Hub Deviceの登録
  39. 39. Ⓒ 2019 アールエスコンポーネンツ株式会社 連携と確認 Ⓒ 2019 アールエスコンポーネンツ株式会社
  40. 40. Ⓒ 2019 アールエスコンポーネンツ株式会社 Device Explorer Twin • 後で接続の確認をするため、Device Explorer をダウンロード (https://github.com/Azure/azure-iot-sdk-csharp/tree/master/tools/DeviceExplorer)
  41. 41. Ⓒ 2019 アールエスコンポーネンツ株式会社 方法① Visual Studio Code • Azure IoT Hub Toolkitを利用したSASトークンの生成 Visual Studio codeをダウンロードして開く Setting> Extensions > Azure IoT Hub Toolkit > Install
  42. 42. Ⓒ 2019 アールエスコンポーネンツ株式会社 方法① Visual Studio Code Explorer>IOT HUB DEVICEを選択して 右クリック>Generate SAS Token for Device Enter expiration time(hours)… トークンの保持時間を入力>Enter ex.5000 ログ上にSASトークンが生成される "SharedAccessSignature sr={iothubname}.azure-devices.net %2Fdevices%2F{devicename}&sig=xxxxxxxxx& se=xxxxxxxxxxx"
  43. 43. Ⓒ 2019 アールエスコンポーネンツ株式会社 方法② Device Explorer Twin IoT Hub>共有アクセスポリシー>iothubowner > 接続文字列プライマリキー
  44. 44. Ⓒ 2019 アールエスコンポーネンツ株式会社 方法② Device Explorer Twin 前にコピーした接続文字列を入力、Update > Generate SAS
  45. 45. Ⓒ 2019 アールエスコンポーネンツ株式会社 TTNとAzure IoT Hubとの連携図
  46. 46. Ⓒ 2019 アールエスコンポーネンツ株式会社 TTN HTTP Integrateの設定 アプリケーション一覧に入る • The Things Networkのコンソール画面に移動
  47. 47. Ⓒ 2019 アールエスコンポーネンツ株式会社 TTN HTTP Integrateの設定 作成したアプリケーションを一つ選択
  48. 48. Ⓒ 2019 アールエスコンポーネンツ株式会社 TTN HTTP Integrateの設定 上記タブからインテグレーションをクリック
  49. 49. Ⓒ 2019 アールエスコンポーネンツ株式会社 TTN HTTP Integrateの設定 HTTP Integrationを選択
  50. 50. Ⓒ 2019 アールエスコンポーネンツ株式会社 TTNのHTTP Integrate プロセスID…任意 Access Key…default key URL…"https://{iothubname}.azure- devices.net/devices/{devicename}/mess ages/events?api-version=2018-06-30“ ※APIのversionは更新する場合があります Method…POST Authorization…"SharedAccessSignature sr={iothubname}.azure- devices.net%2Fdevices%2F{devicename} &sig=xxxxxxxxx&se=xxxxxxxxxxx" Custom Header Name…Content-Type Custom Header Value…application/json
  51. 51. Ⓒ 2019 アールエスコンポーネンツ株式会社 Device Explorer Twinでログの確認 Data > Device IDの選択 > Monitor でTTNから送信されたデータログが見れる
  52. 52. Ⓒ 2019 アールエスコンポーネンツ株式会社 コンシューマグループの作成 IoT Hubの組み込みのエンドポイント > コンシューマグループの作成 今回はtime series insights用にtsを作成
  53. 53. Ⓒ 2019 アールエスコンポーネンツ株式会社 Time Series Insights で可視化 Ⓒ 2019 アールエスコンポーネンツ株式会社
  54. 54. Ⓒ 2019 アールエスコンポーネンツ株式会社 TTNとAzure IoT Hubとの連携図
  55. 55. Ⓒ 2019 アールエスコンポーネンツ株式会社 Time Series Insightsの設定
  56. 56. Ⓒ 2019 アールエスコンポーネンツ株式会社 Time Series Insightsの設定 環境名…任意の名前 サブスクリプション…使用したいサブスク リプション リソースグループ…所属させたいリソース グループを選択 場所…環境を展開するリージョンを選択 層…S1 キャパシティ…1 >>イベントソース
  57. 57. Ⓒ 2019 アールエスコンポーネンツ株式会社 Time Series Insightsの設定 イベントソースを作成しますか? はい 名前…任意 ソースの種類…IoT Hub ハブを選択…Select Existing サブスクリプション…利用するサブスクリプション IoT Hub name…利用するIoT Hub名を選択 IoT Hub access policy名…iothubowner IoTハブコンシューマグループ…リストから選択す るか新しいグループを作成 >>確認と作成
  58. 58. Ⓒ 2019 アールエスコンポーネンツ株式会社 Time Series Insightsの設定
  59. 59. Ⓒ 2019 アールエスコンポーネンツ株式会社 Time Series Insightsの設定 既にアクセスポリシーのユーザーになっているならOK
  60. 60. Ⓒ 2019 アールエスコンポーネンツ株式会社 Time Series Insightsの設定 アクセスポリシーのユーザーがない場合選択する
  61. 61. Ⓒ 2019 アールエスコンポーネンツ株式会社 Time Series Insightsの設定
  62. 62. Ⓒ 2019 アールエスコンポーネンツ株式会社 Time Series Insightsの設定
  63. 63. Ⓒ 2019 アールエスコンポーネンツ株式会社 Time Series Insightsで可視化
  64. 64. Ⓒ 2019 アールエスコンポーネンツ株式会社 Azure IoT Central との連携 Ⓒ 2019 アールエスコンポーネンツ株式会社
  65. 65. Ⓒ 2019 アールエスコンポーネンツ株式会社 TTNとAzure IoT Centralとの連携図 • Azure IoT Central Device Bridgeを利用してAzure IoT Centralに接続
  66. 66. Ⓒ 2019 アールエスコンポーネンツ株式会社 TTNとAzure IoT Centralとの連携図
  67. 67. Ⓒ 2019 アールエスコンポーネンツ株式会社 Azure IoT Central • アプリケーション作成 新しいアプリケーションをクリック https://apps.azureiotcentral.comに入る(サインイン済)
  68. 68. Ⓒ 2019 アールエスコンポーネンツ株式会社 Azure IoT Central 支払いプラン(評価版 or 従量課金制どちらでも可)、カスタムアプリケーションを選 択
  69. 69. Ⓒ 2019 アールエスコンポーネンツ株式会社 Azure IoT Central アプリケーション名…任意 URL…独自のURL (既にあるものは使用できません) 従量課金制 ディレクトリ…任意 Azureサブスクリプション…任意 リージョン…West US 評価版 連絡先情報…自分の情報 国/地域…Japan チェックボックス >> 作成
  70. 70. Ⓒ 2019 アールエスコンポーネンツ株式会社 Azure IoT Central この画面になってたら作成OK!
  71. 71. Ⓒ 2019 アールエスコンポーネンツ株式会社 • 作成したデバイステンプレートを開く ※「アプリケーションはまだプロビジョニング中」という表示が出た場合には 少し待ってから再度試してみてください。 デバイステンプレートの作成 新しいテンプレートの作成
  72. 72. Ⓒ 2019 アールエスコンポーネンツ株式会社 デバイステンプレートの作成 カスタムを選択
  73. 73. Ⓒ 2019 アールエスコンポーネンツ株式会社 デバイステンプレートの作成 任意の名前を作成
  74. 74. Ⓒ 2019 アールエスコンポーネンツ株式会社 • 左タブの管理 > デバイス接続 Scope IDとSASキーのコピー&保存 デバイステンプレートの作成
  75. 75. Ⓒ 2019 アールエスコンポーネンツ株式会社 デバイステンプレートの作成 測定 > 新規 > テレメトリー
  76. 76. Ⓒ 2019 アールエスコンポーネンツ株式会社 デバイステンプレートの作成 Display name…任意の表示名 フィールド名…デバイスから 送られるデータの識別子 ex…Temperature テレメトリ 単位…測定単位 最小値…予測最小観測値 最大値…予測最大観測値 小数点以下桁数…四捨五入表示 のための小数点桁数 カラー…表示のための色
  77. 77. Ⓒ 2019 アールエスコンポーネンツ株式会社 デバイステンプレートの作成 測定 > 新規 >イベント
  78. 78. Ⓒ 2019 アールエスコンポーネンツ株式会社 デバイステンプレートの作成 Display name…デバイスID フィールド名…dev_id 既定の重要度…情報
  79. 79. Ⓒ 2019 アールエスコンポーネンツ株式会社 Azure IoT Central Device Bridge のダウンロード Ⓒ 2019 アールエスコンポーネンツ株式会社
  80. 80. Ⓒ 2019 アールエスコンポーネンツ株式会社 TTNとAzure IoT Centralとの連携図
  81. 81. Ⓒ 2019 アールエスコンポーネンツ株式会社 Central Device Bridgeの設定 ページをスクロールしてDeploy to Azureをクリック • https://github.com/Azure/iotc-device-bridgeに移動
  82. 82. Ⓒ 2019 アールエスコンポーネンツ株式会社 GitHubからダウンロードしたカスタムデプロイ(Central Bridge)にIDとSAS Keyを入力 Central Device Bridgeの設定 • Azure Portalに移動
  83. 83. Ⓒ 2019 アールエスコンポーネンツ株式会社 Function App > IoTCIntegration > コンソールタブでnpm installの実行 ※Node.jsのダウンロードが必要になる場合があります。 Central Device Bridgeの設定 • デプロイされたFunction Appに移動
  84. 84. Ⓒ 2019 アールエスコンポーネンツ株式会社 Function Appの再開 Central Device Bridgeの設定
  85. 85. Ⓒ 2019 アールエスコンポーネンツ株式会社 Central Device Bridgeの設定 Function App内のindex.jsファイルに移動
  86. 86. Ⓒ 2019 アールエスコンポーネンツ株式会社 Central Device Bridgeの設定 index.jsファイルの20行目の下にコードを挿入
  87. 87. Ⓒ 2019 アールエスコンポーネンツ株式会社 Central Device Bridgeの設定
  88. 88. Ⓒ 2019 アールエスコンポーネンツ株式会社 Central Device Bridgeの設定 関数のURLを取得をクリック
  89. 89. Ⓒ 2019 アールエスコンポーネンツ株式会社 Central Device Bridgeの設定 URLをコピーして取得
  90. 90. Ⓒ 2019 アールエスコンポーネンツ株式会社 TTN側の設定 Ⓒ 2019 アールエスコンポーネンツ株式会社
  91. 91. Ⓒ 2019 アールエスコンポーネンツ株式会社 TTNとAzure IoT Centralとの連携図 • Azure IoT Central Device Bridgeを利用してAzure IoT Centralに接続
  92. 92. Ⓒ 2019 アールエスコンポーネンツ株式会社 TTN HTTP Integrateの設定 アプリケーション一覧に入る • The Things Networkのコンソール画面に移動
  93. 93. Ⓒ 2019 アールエスコンポーネンツ株式会社 TTN HTTP Integrateの設定 作成したアプリケーションを一つ選択
  94. 94. Ⓒ 2019 アールエスコンポーネンツ株式会社 TTN HTTP Integrateの設定 上記タブからインテグレーションをクリック
  95. 95. Ⓒ 2019 アールエスコンポーネンツ株式会社 TTN HTTP Integrateの設定 HTTP Integrationを選択
  96. 96. Ⓒ 2019 アールエスコンポーネンツ株式会社 プロセスID…任意 Access Key…default key URL…Azure functionの URLを貼る Method…POST TTN HTTP Integrateの設定
  97. 97. Ⓒ 2019 アールエスコンポーネンツ株式会社 TTNとAzure IoT Centralとの連携図
  98. 98. Ⓒ 2019 アールエスコンポーネンツ株式会社 Azure Portalで接続確認 • Azure PortalのFunction Appに移動 テレメトリーが無事送信されていればOK
  99. 99. Ⓒ 2019 アールエスコンポーネンツ株式会社 Azure IoT Central で可視化 Ⓒ 2019 アールエスコンポーネンツ株式会社
  100. 100. Ⓒ 2019 アールエスコンポーネンツ株式会社 TTNとAzure IoT Centralとの連携図
  101. 101. Ⓒ 2019 アールエスコンポーネンツ株式会社 デバイス登録 関連付けが解除されているデバイスとして作成 デバイス>関連付けが解除されているデバイスに表示される
  102. 102. Ⓒ 2019 アールエスコンポーネンツ株式会社 デバイス登録 表示された関連付けが解除されているデバイスを選択 →関連付けをクリックしてデバイスデータの受信開始
  103. 103. Ⓒ 2019 アールエスコンポーネンツ株式会社 デバイス登録 デバイスが関連付けされて、デバイステンプレート内に表示される
  104. 104. Ⓒ 2019 アールエスコンポーネンツ株式会社 可視化
  105. 105. Ⓒ 2019 アールエスコンポーネンツ株式会社 参考URL • The Things Networkに関する資料 https://www.thethingsnetwork.jp/forum/t/topic/287 Https://www.thethingsnetwork.org/community/yamanashi/post/raspberry-pi-3- model-b-loragps-hatthe-things-network • Time series insightsに関する資料 https://qiita.com/linyixian/items/7a1bea31d9d72ee2b829 • Azure IoT Centralに関する資料 https://github.com/Azure/iotc-device-bridge#example-3-connecting-devices-from- the-things-network-through-the-device-bridge https://github.com/firedog1024/TheThingsNetwork-with-Azure-IoT-Central

×