Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

機械学習 (AI/ML) 勉強会 #2 IoT編

604 Aufrufe

Veröffentlicht am

2019/02/27 | 28
Raspberry Pi と Microsoft Azure を使用したハンズオンの資料です。

1. 本日の環境
2. 本日の構成
3. IoT デバイス - Raspberry Pi
4. Microsoft Azure
5. IoT ハブ | Azure
6. SQL データベース | Azure
7. マシンラーニング スタジオ | Azure
8. ストリーム アナリティクス | Azure
9. [オプション] Power BI
10. 後片付け

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

機械学習 (AI/ML) 勉強会 #2 IoT編

  1. 1. 機械学習勉強会 #2 IoT編 2019/02/27 | 28 小島 富治雄
  2. 2. 1. 本日の環境 2. 本日の構成 3. IoT デバイス - Raspberry Pi 4. Microsoft Azure 5. IoT ハブ | Azure 6. SQL データベース | Azure 7. マシンラーニング スタジオ | Azure 本日ご紹介する内容 1 8. ストリーム アナリティクス | Azure 9. [オプション] Power BI 10. 後片付け
  3. 3. 以下の Microsoft Docs のチュートリアルが元 Raspberry Pi から クラウドへ (Node.js) - Raspberry Pi の Azure IoT Hub への接続 シミュレートした Raspberry Pi から クラウドへ (Node.js) - Raspberry Pi Web シミュレーターの Azure IoT Hub への接続 Azure IoT Hub から取得したリアルタイム センサー データの視覚化 – Power BI 本日のハンズオン 2
  4. 4. 本日の環境 3 この写真 の作成者 不明な作成者 は CC BY-NC-ND のライセンスを許諾されています
  5. 5. Microsoft Azure SQL Server Management Studio [オプション] Power BI インターネットにつながる環境 推奨 Webブラウザー: Edge, Chrome ハンズオンの環境 4
  6. 6. 1. ご自身の Visual Studio サブスクリプションの Microsoft アカウントでサインイン 2. 「職場または学校アカウント」か「個人アカウント」かを訊かれた場合は、使用するアカウントを選択 Microsoft アカウントへのサインイン (Visual Studio サブスクリプション がある場合) 5
  7. 7. 1. My Visual Studio を開く (必要に応じてサインイン) 2. Azure 特典をアクティブ化 ※ Visual Studio Enterprise の場合は 150ドルのクレジット/月、 Visual Studio Professional の場合は 50 ドルのクレジット/月 Visual Studio サブスクリプションの Azure 特典 6 ※ Visual Studio サブスクリプションの Azure 特典をアクティブにしていない人はアクティブ化
  8. 8. Microsoft Azure のポータル を開く (必要に応じてサインイン) 次のどちらかの画面になればOK Microsoft Azure 7 ホーム | ポータル | Microsoft Azure ダッシュボード| ポータル | Microsoft Azure
  9. 9. リソース ① ② リソース グループの作成 8
  10. 10. ① ② これから作成する各種リソースは、 このリソース グループに属する 作成済みのリソースを探すときも、 ポータル → リソース グループ → 20190227 とすることで見つけやすくなる このリソース グループを削除することで、 今回の作成した各種リソースを一括削除できる 9
  11. 11. Visual Studio サブスクリプションの Power BI Pro Power BI 10
  12. 12.  My Benefits | My Visual Studio で Power BI Pro の特典の 「コードを取得」して「アクティブ化」 Power BI 11
  13. 13. Power BI のアカウントを既存のサブスクリプションに追加 12
  14. 14. Power BI を開く (必要に応じてサインイン) Power BI 13
  15. 15. SQL Server Management Studio (SSMS) のダウンロード SQL Server Management Studio 14 ダウンロードしてインストール
  16. 16. 本日のシナリオ 15 IoT デバイス 福井市の 天候データ マシン ラーニング 雨予想 API 取り込んで 処理 クラウド データ蓄積 データ 可視化 IoT 管理 表示
  17. 17. 本日の構成 16 IoT デバイス マシンラーニング スタジオ マシンラーニング API ストリーム アナリティクスIoT ハブ Microsoft Azure (& Power BI) SQL データベース SQL データベース Power BI CSV データ MQTT HTTP Web ブラウザー 気象庁の福井市 天候データ 学習 雨の予測 API 気温・湿度 ・気圧取得 新たな天候データ として蓄積 気温・湿度 ・気圧・雨予測の 可視化
  18. 18. IoTデバイス 17 IoT デバイス マシンラーニング スタジオ マシンラーニング API ストリーム アナリティクスIoT ハブ Microsoft Azure SQL データベース SQL データベース Power BI CSV データ MQTT HTTP Web ブラウザー
  19. 19. Microsoft Azure IoT デバイス カタログ 18 Azure に対応した IoT デバイスのカタログ
  20. 20. 今回使用する IoT デバイス 19 Raspberry Pi Arduino
  21. 21. ARMプロセッサを搭載した シングルボード コンピューター OS Raspbian (Linux) Windows 10 IoT Windows 10 など Raspberry Pi 20
  22. 22. 参考: Raspberry Pi への Windows 10 IoT のセットアップ 21
  23. 23. 参考: Raspberry Pi への Windows 10 IoT のセットアップ 22
  24. 24. 参考: Raspberry Pi への OS (Raspbian) のセットアップ 23
  25. 25. 参考: Raspberry Pi への OS (Raspbian) のセットアップ 24
  26. 26. 配線 Raspberry Pi に センサーなどを接続 25
  27. 27. BME280 1チップ 温度・湿度・ 気圧センサー 26
  28. 28. Raspberry Pi 2 & 3 Pin Mappings 27Raspberry Pi 2 & 3 Pin Mappings - Windows IoT | Microsoft Docs
  29. 29. 配線 28 220Ω抵抗器 LED BME280 Raspberry Pi VCC → +3V3(pin1) GND → GND(pin9) SCL → GPIO3/SCL1(pin5) SDA → GPIO2/SDA1(pin3) CSB → 不使用 SDO → GND LED + → GPIO4 (pin7) LED - → 220Ω抵抗器 220Ω抵抗器 → GND 1 3 5 7 9
  30. 30. 29
  31. 31. Raspberry Pi の I2C (シリアル通信の一種) の有効化 30 I2C で温度・湿度・気圧センサー BME280 と通信
  32. 32. Raspberry Pi の I2C (シリアル通信の一種) の有効化 31 ① ②
  33. 33. Raspberry Pi の I2C (シリアル通信の一種) の有効化 32
  34. 34. Raspberry Pi の I2C (シリアル通信の一種) の有効化 33
  35. 35. pi@raspberrypi:~ $ sudo apt update …… なんかかんや pi@raspberrypi:~ $ sudo apt upgrade …… なんかかんや pi@raspberrypi:~ $ sudo apt-get install i2c-tools …… なんかかんや pi@raspberrypi:~ $ sudo apt-get install python-smbus …… なんかかんや Raspberry Pi へのライブラリーのインストール 34 I2C 用のツール Python で I2C を使用するためのライブラリー
  36. 36. マイコン回路の “Hello World! Lチカ (LEDチカチカ) Lチカとは (エルチカとは) [単語記事] | ニコニコ大百科 いろいろなマイコンでのLチカ比較 | Qiita 「二人のはじめての共同作業」 35
  37. 37.  led.py サンプル プログラム 「Lチカ」 $ sudo python /home/pi/azure- iot-sdk- python/device/samples/led.py /home/pi/azure-iot-sdk- python/device/samples/ へコピー #coding: utf-8 import RPi.GPIO as GPIO import time gpio_number = 4 GPIO.setmode(GPIO.BCM) GPIO.setup(gpio_number, GPIO.OUT) for x in xrange(5): GPIO.output(gpio_number, True) time.sleep(2) GPIO.output(gpio_number, False) time.sleep(2) GPIO.cleanup() 36
  38. 38. pi@raspberrypi:~ $ sudo i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- 76 -- I2C のアドレスの確認 37
  39. 39. pi@raspberrypi:~ $ sudo i2cdump -y 1 0x76 No size specified (using byte-data access) 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 80: 91 71 89 45 0b 01 2c 06 92 6e b2 68 32 00 37 92 ?q?E??,??n?h2.7? 90: 6c d7 d0 0b 89 19 7a ff f9 ff 0c 30 20 d1 88 13 l?????z.?.?0 ??? a0: 00 4b 90 00 00 00 00 00 00 00 00 00 33 00 00 c0 .K?.........3..? b0: 00 54 00 00 00 00 60 02 00 01 ff ff 1f 60 03 00 .T....`?.?..?`?. c0: 00 00 00 ff 00 00 00 00 00 00 00 00 00 00 00 00 ................ d0: 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 `............... e0: 00 5a 01 00 16 24 03 1e 8d 41 ff ff ff ff ff ff .Z?.?$???A...... f0: ff 00 00 00 00 00 00 80 00 00 80 00 00 80 00 80 .......?..?..?.? I2C のアドレスからダンプ 38
  40. 40. azure-iot-sdk-python のダウンロードとビルド 39 $ free -m $ sudo nano /etc/dphys-swapfile CONF_SWAPSIZE=100 ↓ CONF_SWAPSIZE=1024 $ sudo systemctl restart dphys-swapfile $ swapon –s $ git clone --recursive https://github.com/Azure/azure-iot-sdk-python.git $ cd azure-iot-sdk-python/build_all/linux $ ./setup.sh $ ./build.sh Python で Azure IoT ハブを利用するためのライブラリー
  41. 41. Raspberry Pi Azure IoT Web Simulator Node.js 実機がない場合: Raspberry Pi Azure IoT Web Simulator 40
  42. 42. Microsoft Azure と Power BI 41 IoT デバイス マシンラーニング スタジオ マシンラーニング API ストリーム アナリティクスIoT ハブ Microsoft Azure SQL データベース SQL データベース Power BI CSV データ MQTT HTTP Web ブラウザー
  43. 43. Windows Azure 42
  44. 44. Core Cloud Services - Azure 入門 - 学習 - Learn | Microsoft Docs 43
  45. 45. IoT ハブ | Azure 44 IoT デバイス マシンラーニング スタジオ マシンラーニング API ストリーム アナリティクスIoT ハブ Microsoft Azure SQL データベース SQL データベース Power BI CSV データ MQTT HTTP Web ブラウザー
  46. 46. IoT デバイスを簡単に接続、監視、認証、自動化で きるオープン クラウド プラットフォーム 沢山の IoT デバイスを管理 IoT ハブ | Azure 45
  47. 47. ① ② ③ IoTハブの作成 46
  48. 48. ① ② 47 「IoT Hub 名」は 「iothub-xxxxx」などの ユニークな名前に変える
  49. 49. ① ② 1サブスクリプションあたり 1つの IoT ハブでのみ「F1: Free」が選べる 「F1: Free」は、性能が制限されている または、S1 (有料) 48
  50. 50. 確認 49
  51. 51. 50
  52. 52. 51
  53. 53. ① ② IoTデバイスの作成 52
  54. 54. ① ② 53
  55. 55. 「接続文字列 (主キー) 」を メモ帳などに貼り付けて保存 ① ② 54
  56. 56. IoT デバイス側からの データ送信開始 55
  57. 57. Raspberry Pi の azure-iot-sdk-python の サンプルの編集 56 $ cd ~/azure-iot-sdk-python/device/samples $ sudo vi iothub_client_sample.py
  58. 58.  iothub_bme280.py (azure-iot-sdk-python が元) と bme280_custom_2.py (SWITCHSCIENCE/BME280 | GitHub が元)  /home/pi/azure-iot-sdk-python/device/samples/ へコピーして編集  iothub_bme280.py の [Connection String] をメモ帳などに保存しておいた IoT ハブの IoT デバイスの「接続文字列 (主キー)」に書き換え サンプル プログラム 57 #!/usr/bin/env python import time import sys import RPi.GPIO as GPIO import iothub_client from iothub_client import IoTHubClient, IoTHubClientError, IoTHubTransportProvider, IoTHubClientResult from iothub_client import IoTHubMessage, IoTHubMessageDispositionResult, IoTHubError, DeviceMethodReturnValue from iothub_client import IoTHubClientRetryPolicy, GetRetryPolicyReturnValue from iothub_client_args import get_iothub_opt, OptionError import bme280_custom_2 …… CONNECTION_STRING = "[ConnectionString]" MSG_TXT = "{¥"deviceId¥": ¥"myIoTDeviceId¥",¥"pressure¥": %.2f,¥"temperature¥": %.2f,¥"h umidity¥": %.2f,¥"score¥": %.2f,¥"type¥": ¥"weather¥"}" gpio_number = 4 wait_time = 10 def initialize_gpio(): GPIO.setmode(GPIO.BCM) GPIO.setup(gpio_number, GPIO.OUT) ここを書き換え
  59. 59. 実行 サンプル プログラム 58 $ sudo python /home/pi/azure-iot-sdk-python/device/samples/iothub_bme280.py LED が点滅
  60. 60. 実機がない場合: Raspberry Pi Azure IoT Web Simulator の コード (JavaScript | Node.js) の編集 ここを書き換え 59
  61. 61.  IoT_Hub_Raspberry_Pi_NodeJS.js をコピー&ペースト  [Connection String] をメモ帳などに保存しておいた IoT ハブの IoT デバイスの「接続文字列 (主キー)」に書き換え サンプル プログラム 60 const wpi = require('wiring-pi'); const Client = require('azure-iot-device').Client; const Message = require('azure-iot-device').Message; const Protocol = require('azure-iot-device- mqtt').Mqtt; const BME280 = require('bme280-sensor'); const BME280_OPTION = { i2cBusNo: 1, // defaults to 1 i2cAddress: BME280.BME280_DEFAULT_I2C_ADDRESS() // defaults to 0x76 }; const connectionString = ‘[ConnectionString]‘; var sendingMessage = false; var messageId = 0; var client, sensor; var blinkLEDTimeout = null; const LEDPin = 4; ここを書き換え
  62. 62. 実機がない場合: Raspberry Pi Azure IoT Web Simulator の コード (JavaScript | Node.js) の実行 61 LED が点滅
  63. 63. ① IoT ハブにデータが 来ていることの確認 ② ③ ④ IoT ハブにデータが来ていることの確認 62
  64. 64. ① グラフが立ち上がる ことを確認 ② 63
  65. 65. SQL データベース | Azure 64 IoT デバイス マシンラーニング スタジオ マシンラーニング API ストリーム アナリティクスIoT ハブ Microsoft Azure SQL データベース SQL データベース Power BI CSV データ MQTT HTTP Web ブラウザー マシンラーニングの学習用データの準備 気象庁の福井市天候データ 60年分
  66. 66. ① ② ③ SQLデータベースと SQL サーバーの作成 65
  67. 67. ① ② ③ 66
  68. 68. ① ② 67 「サーバー名」は 「sqlserverxxxx」などの ユニークな名前に変える チェックが 付いている ことを確認
  69. 69. 68 ① ②
  70. 70. ① ② 69
  71. 71. ① ② 70 後でこのデータベースに接続するための 接続文字列をコピーしてメモ帳などに保存
  72. 72. SQL Server Management Studio を起動し、サーバー名 (接続 文字列の「Server」) と「サーバー管理者ログイン」、「パスワード」で接続 SQL Server Management Studio から接続 71 ① ②
  73. 73. SQL Server Management Studio から接続 72 Microsoft Azure にサインイン
  74. 74. サインインして OK SQL Server Management Studio から接続 73
  75. 75.  福井の気象データを データベースに取り込む  fukuiweather1959-2018.csv ① ② ③ データベース「DatabaseFukuiWeather」を右クリック 74
  76. 76. 75 ① ② 確認
  77. 77. 76 ① 確認
  78. 78. 77 ① ② ③
  79. 79. 78
  80. 80. 79
  81. 81. 80 取り込んだデータの確認 ・ テーブルを右クリックして「最新の情報に更新」 ・テーブル「dbo.fukuiweather1959-2018」 を右クリックして「上位1000行の選択」
  82. 82. マシンラーニング スタジオ | Azure 81 IoT デバイス マシンラーニング スタジオ マシンラーニング API ストリーム アナリティクスIoT ハブ Microsoft Azure SQL データベース SQL データベース Power BI CSV データ MQTT HTTP Web ブラウザー 福井市の天候を学習
  83. 83. マシンラーニング スタジオ | Azure  ブラウザーベースのマシンラーニン グ (機械学習) の API 作成環境  ドラッグ アンド ドロップで作成  多くのマシンラーニングの アルゴリズム  Python や R のプログラムの 組み入れも可能 82
  84. 84. ① ② ③ マシーン ラーニング スタジオのワークスペースの作成 83
  85. 85. 84
  86. 86. 85
  87. 87. 86 ① ② ③ ⑤ ④ 「fukuiweatherxxxx」などの ユニークな名前に変える
  88. 88. 「展開が成功」するまで待つ ① ② 87
  89. 89. マシーン ラーニング スタジオの起動 88
  90. 90. 89
  91. 91. ① ② 新規エクスペリメントの作成 90
  92. 92. ① ② ③ 91 エクスペリメントは 地域ごとに管理
  93. 93. クリックして名前変更 92
  94. 94. 「Import Data」を ドラッグして ① ② 「Import Data」をここへドロップ 学習用データのインポート 93
  95. 95. ¥¥129work3¥201902 AI ML 勉強会 #2 IoT編¥Source¥SQLQuery1.sql の 内容をコピー&ペースト 右クリックして「Run selected」 ① ② 94 「Import Data」の プロパティを設定
  96. 96. SELECT [AverageTemperature_celsius] AS temperature ,[AverageHumidity_percentage] AS humidity ,[AverageLocalPressure_hPa] AS pressure ,CAST((CASE WHEN [TotalPrecipitationAmount_mm] > 0.0 THEN 1 ELSE 0 END) AS int) AS score FROM [dbo].[fukuiweather1959-2018] WHERE AverageTemperature_celsius IS NOT NULL AND AverageHumidity_percentage IS NOT NULL AND AverageLocalPressure_hPa IS NOT NULL AND TotalPrecipitationAmount_mm IS NOT NULL ORDER BY Date 学習用データのインポート用クエリー 95  SQLQuery1.sql
  97. 97. 緑のチェックが入るまで待つ 96
  98. 98. ① ② 緑のチェックがついたら 右クリックして データの確認 97
  99. 99. 学習用データの確認 98
  100. 100. ① ② ③ 「Split Data」をここへドロップ ⑤ ○ の間をドラッグして繋ぐ ④ 99 データを学習用と評価用に分割
  101. 101. ① 学習アルゴリズムの選択 ② ③ 「Two-Class Support Vector Machine」 をここへドロップ 100
  102. 102. ① ② ③ 「Train Model」をここへドロップ ⑥ 出力カラムの選択 ○ の間を ドラッグして繋ぐ ○ の間を ドラッグして繋ぐ ④ ⑤ 101 学習
  103. 103. 102 ① ② 出力カラムの選択
  104. 104. ① ② ③ 「Score Model」をここへドロップ ○ の間を ドラッグして繋ぐ ○ の間を ドラッグして繋ぐ④ ⑤ 103 評価用データによる機械学習モデルのスコアリング
  105. 105. ① ② ③ 「Evaluate Model」をここへドロップ ○ の間を ドラッグして繋ぐ④ 104 機械学習モデルのパフォーマンスの評価
  106. 106. ① ② 「Run」して全部の 要素に緑のチェックが 付くのを待つ 105 エクスペリメントの実行
  107. 107. ① ② 右クリックして データの確認 106 学習結果の確認
  108. 108. 学習結果の確認 107
  109. 109. アルゴリズムを変更してみる 線を右クリック して削除 108
  110. 110. ① ② ③ 「Two-Class Neural Network」を ここへドロップ ○ の間を ドラッグして繋ぐ ④ ⑤ 「Run」して全部の要 素に緑のチェックが 付くのを待つ 109
  111. 111. ① ② 右クリックして データの確認 学習結果の確認 110
  112. 112. 学習結果の確認 111
  113. 113. 112 アルゴリズムの選定に困ったら
  114. 114. マシンラーニング API | Azure 113 IoT デバイス マシンラーニング スタジオ マシンラーニング API ストリーム アナリティクスIoT ハブ Microsoft Azure SQL データベース SQL データベース Power BI CSV データ MQTT HTTP Web ブラウザー 雨の予測 API
  115. 115. マシンラーニング API 学習済みモデルを使った 入出力処理を API として デプロイ  後で、ストリーム アナリティクスの 関数から呼ぶ 114
  116. 116. API の作成 115
  117. 117. 新しいタブが開く 116
  118. 118. 線を右クリック して削除 ② ④ 「Select Columns in Dataset」を ここへドロップ ③ ① 117
  119. 119. ① ○ の間を ドラッグして繋ぐ ② ○ の間を ドラッグして繋ぐ ④ 「Selected Columns in Dataset」をクリックして選択 ③ API が出力する 列を選択 118
  120. 120. ① ② 119
  121. 121. 120
  122. 122. 「Run」して全部の 要素に緑のチェックが 付くのを待つ 121
  123. 123. 全部の要素に緑のチェックが付いたら API を発行 (CLASSIC の方が選べる場合はそちら) 122 API のデプロイ
  124. 124. 123 API のテスト
  125. 125. 124 適当な値を入力 ① ②
  126. 126. テスト結果 (JSON) 125 テスト結果の JSON 形式のデータを確認
  127. 127. 「API Key」をコピーして メモ帳などに保存 ① ② 126
  128. 128. Request URI をコピー してメモ帳などに保存 127
  129. 129. SQL データベース | Azure 128 IoT デバイス マシンラーニング スタジオ マシンラーニング API ストリーム アナリティクスIoT ハブ Microsoft Azure SQL データベース SQL データベース Power BI CSV データ MQTT HTTP Web ブラウザー IoT ハブからのデータの格納先 後でストリーム アナリティクスから出力
  130. 130. SQL Server Management Studio IoT からのデータを 格納するテーブルを 作成 129 ① ② データベース 「DatabaseFukuiWeather」 を右クリック
  131. 131. 130 SQLQuery2.sql の中身をコピー&ペースト ① ②
  132. 132. CREATE TABLE [dbo].[Weather]( [Id] [int] IDENTITY(1,1) NOT NULL, [deviceId] [varchar](50) NULL, [pressure] [float] NULL, [temperature] [float] NULL, [humidity] [float] NULL, [EventProcessedUtcTime] [char](30) NULL, [EventEnqueuedUtcTime] [char](30) NULL, [score] [float] NULL, CONSTRAINT [PK_Weather] PRIMARY KEY CLUSTERED ( [Id] ) ) IoT データ格納用テーブルの作成 SQL 131  SQLQuery2.sql
  133. 133. 作成されたテーブルの確認 132 ① ②
  134. 134. 133 テーブルのデザインを確認
  135. 135. ストリーム アナリティクス | Azure 134 IoT デバイス マシンラーニング スタジオ マシンラーニング API ストリーム アナリティクスIoT ハブ Microsoft Azure SQL データベース SQL データベース Power BI CSV データ MQTT HTTP Web ブラウザー
  136. 136. デバイスからのデータをリアルタイムに処理 ストリーム アナリティクス | Azure 135
  137. 137. ① ② ③ ストリーム アナリティクスの作成 136
  138. 138. ① ② 137
  139. 139. ② 「展開が成功」するまで待つ ① 138
  140. 140. 入力の追加 ② ① ③ 139 入力として IoT ハブを選択
  141. 141. ② ① 140 プロパティの設定
  142. 142. 141 データの確認
  143. 143. 142 ② ① 3分以内にクリックし、3分待つ
  144. 144. 143 このメッセージに変わるまで待つ 青い文字の部分をクリック
  145. 145. ダウンロードした JSON 形式の データをメモ帳などで確認 144
  146. 146. 出力先に SQL データベースを指定 ② ① ③ 145
  147. 147. ② ① 146 プロパティの設定
  148. 148. [オプション] 出力先に Power BI を指定 ② ① ③ 147
  149. 149. ② ① ③ ③ ④ ご自身のアカウントでサインイン 148 プロパティの設定 [オプション] 出力先に Power BI を指定
  150. 150. 承認されていることを確認 149 [オプション] 出力先に Power BI を指定
  151. 151. マシーンラーニング API を呼ぶ関数を作成 ② ① ③ 150
  152. 152. 151 ① マシーンラーニング API 作成時に メモ帳などに保存しておいた 「API Key」をペースト マシーンラーニング API 作成時に メモ帳などに保存しておいた 「Request URI」 をペースト ②
  153. 153. ② ① ③ SQLQuery3.sql を コピー&ペースト (Power BI にも出力する場合は SQLQuery4.sql) 152 Power BI にも 出力する場合
  154. 154. SELECT deviceId,pressure,temperature,humidity,EventProcessedUtcTime,EventEnqueuedUtcTime ,getscore(temperature,humidity,pressure,0.0) as score INTO [db-output] FROM [iothub-input] WHERE type='weather' ストリーム アナリティクスのクエリー (Power BI には出力しない場合) 153  SQLQuery3.sql
  155. 155. -- -- SELECT deviceId,pressure,temperature,humidity,CAST(EventProcessedUtcTime as datetime) as EventProcessedUtcTime,CAST(EventEnqueuedUtcTime as datetime) as EventEnqueuedUtcTime -- ,getscore(temperature,humidity,pressure,0.0) as score -- INTO [powerbi-output] -- FROM [iothub-input] -- WHERE type='weather' SELECT deviceId,pressure,temperature,humidity,EventProcessedUtcTime,EventEnqueuedUtcTime ,getscore(temperature,humidity,pressure,0.0) as score INTO [db-output] FROM [iothub-input] WHERE type='weather' [オプション] ストリーム アナリティクスのクエリー (Power BI にも出力する場合) 154  SQLQuery4.sql
  156. 156. ジョブ ダイアグラムの確認 155
  157. 157. 確認 156
  158. 158. 157 ストリーム アナリティクス ジョブの開始 ① ② ③
  159. 159. ジョブの実行状況の確認 ① ② ③ ④ 158
  160. 160. しばらく待つとグラフが 立ち上がってくることを確認 159
  161. 161. SQL Server Management Studio でデータベースにデータが来ていることを確認 データが来ていることの確認 ・ テーブル「dbo.Weather」 を右クリックして「上位1000行の選択」 データの確認 160 雨予測
  162. 162. Power BI 161 IoT デバイス マシンラーニング スタジオ マシンラーニング API ストリーム アナリティクスIoT ハブ Microsoft Azure SQL データベース SQL データベース Power BI CSV データ MQTT HTTP Web ブラウザー 気温・湿度 ・気圧・雨予測の 可視化
  163. 163. [オプション] Power BI 様々なデータ ソースに 接続して視覚化・共有 162
  164. 164. Power BI にサインイン 163
  165. 165. ① マイ ワークスペースを開く ③ ② 164
  166. 166. ① ③ ② ダッシュボードの作成 165
  167. 167. ① ② 166
  168. 168. ② ③ ① タイルの追加 167
  169. 169. ② ① 168 ストリーム アナリティクスで 指定したデータセットを選択
  170. 170. ② ① ③ 169
  171. 171. タイルを確認 170
  172. 172. ② ③ ① タイルの追加 タイルを確認 171
  173. 173. その他のタイルも適当に追加 172 リアルタイム 雨予測
  174. 174. 「Web ビュー」から 「Phone ビュー」に 切り替え Phone ビュー Phone ビュー 173
  175. 175. 174 スマートフォンに Power BI アプリをインストール サインインしてダッシュボード 「Weather」を確認 ① ② リアルタイム 雨予測
  176. 176. 後片付け  Azure の各種リソースを そのままにすると課金され続ける  課金を抑えるにはリソースを停止  課金を完全に止めるにはリソース を削除 175
  177. 177. 個別に止めたい場合 デバイスを停止 Azure のリソースを それぞれ停止/削除 176 この写真 の作成者 不明な作成者 は CC BY-SA のライセンスを許諾されています
  178. 178. Raspberry Pi の Python 177 Ctrl+Cで停止
  179. 179. Raspberry Pi Azure IoT Web Simulator 178
  180. 180. ストリーム アナリティクス 179
  181. 181. マシーン ラーニング スタジオ ① ② 180
  182. 182. Power BI 181
  183. 183. 一括で削除する場合 リソース グループ を削除 182 この写真 の作成者 不明な作成者 は CC BY-SA のライセンスを許諾されています
  184. 184. ① ② 注意: このリソース グループに 含まれている全リソースの削除 Power BI の方は消えない 183
  185. 185. Azure の料金 の確認 184 この写真 の作成者 不明な作成者 は CC BY のライセンスを許諾されています
  186. 186. Pricing Calculator | Microsoft Azure 185 使用料の概算
  187. 187. Microsoft Azure のポータル を開く (必要に応じてサインイン) クレジットの残りを確認して、 青い文字のとことをクリック 186 現在の使用状況の確認
  188. 188. リソースごとのコストを確認 支出の割合と予測を確認 187
  189. 189. 1. 本日の環境 2. 本日の構成 3. IoT デバイス - Raspberry Pi 4. Microsoft Azure 5. IoT ハブ | Azure 6. SQL データベース | Azure 7. マシンラーニング スタジオ | Azure 本日ご紹介した内容 188 8. ストリーム アナリティクス | Azure 9. [オプション] Power BI 10. 後片付け
  190. 190. 本日の構成 189 IoT デバイス マシンラーニング スタジオ マシンラーニング API ストリーム アナリティクスIoT ハブ Microsoft Azure (& Power BI) SQL データベース SQL データベース Power BI CSV データ MQTT HTTP Web ブラウザー 気象庁の福井市 天候データ 学習 雨の予測 API 気温・湿度 ・気圧取得 新たな天候データ として蓄積 気温・湿度 ・気圧・雨予測の 可視化

×