Slide 1

Slide 1 text

2018/06/13 (C) Copyright 1996-2018 SAKURA Internet Inc. さくらインターネット株式会社 IoT Platform Team 酒井 浩平 GCPUG in Osaka #7 sakura.io と Google Cloud Platform で始めるIoT

Slide 2

Slide 2 text

今日お話しすること • さくらインターネットのIoTサービス • sakura.io と Google Cloud Pub/Sub との連携 • センサーデータを収集する場合の前処理について 2

Slide 3

Slide 3 text

3 さくらインターネットのサービス VPS・クラウド データセンター 新サービス レンタルサーバ さくらのレンタルサーバ さくらのマネージドサーバ 1台を共有 1台を占有 1台のサーバを複数の契約 者でサーバを共有または占 有することができ、管理は さくらインターネットに任 せて使うサービス 仮想化技術を用い、 1台の物理サーバ 上に複数の仮想 サーバを構築し、 仮想専用サーバと して分けた領域の 占有サービス 高性能サーバと拡 張性の高いネット ワークを圧倒的な コストパフォーマ ンスで利用できる IaaS型パブリッ ク・クラウド・ サービス 高性能で拡張性と信頼性の 高いサーバをまるごと独占 して利用することができ、 自由にカスタマイズして利 用可能なサービス 1台~複数台 ハウジング リモートハウジング データセンター内にお客様 専用のハウジングスペース を確保し、ネットワーク機 器やサーバなどの機材を自 由に置けるサービス 通信モジュールから提供することで、セキュアで 通信環境とデータの保存や処理システムを一体型 で提供するIoTプラットフォームサービス Dockerコンテナをマネージドされた環境へ 手軽・シンプルにプロビジョニング可能なサービス さくらの VPS 機械学習、データ解析、高精度シミュレーション 用途に特化したGPU搭載の専用サーバサービス 専用サーバ さくらのセキュアモバイルコネクト クラウドにダイレクトに接続し、セキュアであり つつ任意のネットワークへ接続可能なSIMを 提供する、IoT向けモバイルサービス IoT AI DeepLearning マイクロ サービス IoT 【サービスの主な利用用途】 ウェブサイト運営、ブログ、インターネット・メール ネットビジネス、電子商取引、動画・音楽配信、開発環境 会員制サイト、キャンペーン・サイト SNS、ウェブ・アプリケーション、SaaS、ASP エンタープライズ

Slide 4

Slide 4 text

IoT共通の課題 • デバイスをネットワークに接続したい。クラウドにつな ぎたい • 有線LAN, 無線LAN, ... • セキュリティ • コストを抑えたい • PoCから大量生産へスムーズにしたい 4

Slide 5

Slide 5 text

さくらインターネットのIoTサービス • LTE通信 • セキュア • 安価 • 1個からの購入。大量生産向けの提供も可能 5

Slide 6

Slide 6 text

さくらが提供するIoTサービス 6 IoTに必要な基本機能 プラットフォームの提供 SIM付き通信モジュールをコアとした IoTプラットフォームの提供 通信モジュール 接続方法開示 + SIM供給 新規 製造製品向け つなぐ 保存する 連携する 通常SIM 〜 MFF2まで セキュアモバイルコネクト IoT向けSIMの提供 クラウドにダイレクト接続、任意のネットワークへ 接続可能なSIM/セキュリティを担保 安価な通信を提供※ 通信が必要な製品向け IoTに求められる通信機能 柔軟性 安価 高速通信

Slide 7

Slide 7 text

7 セキュアモバイルコネクト

Slide 8

Slide 8 text

セキュアモバイルコネクト 8 安価 : 12円/SIM セキュア : LTE閉域網&クラウド直結 高速通信 : 通信制限なし

Slide 9

Slide 9 text

ご利用料金について 9

Slide 10

Slide 10 text

セキュアモバイルコネクトの活用シーン 10 デバイスからの定期的な計測、アラートなどを感知した際の一時的なデータ取得、 外出先や遠隔地から操作が必要な場合などのIoTサービスに最適です。 監視カメラ ドライブレコーダー 自動販売機 LTE閉域網でさくらのクラウドに直接接続す るため、常時オンラインでも、インターネット からアクセスされないため安全です。通常時 はデータ量や機器状態のみ、緊急時は動 画を送信することによって、新しい価値を提 供可能です。 通常は、操作や状態のサマリデータのみを 送信し、非常時には高速でクラウドにデータ 送信可能です。位置情報などの情報も閉 域網から直接データセンターに接続するた め、安全に運用しつつ、非常時以外はコス トを抑えて運用可能です。 在庫情報の取得やクラウド側のデータと連 携するだけでなく、利用者の年齢や性別、 気温などの状況を加味した双方向コミュニ ケーションにお使いいただけます。利用者情 報もセキュアな環境で通信可能です。 住宅 建設 自動車 交通機関 商業施設 公告

Slide 11

Slide 11 text

製造から実際に使われるまでには時間がかかる 11 長いと1年も

Slide 12

Slide 12 text

特徴 12 ▌ 初期登録までの期限なし※ ▌ 事務手続き費用無料 ▌ 再登録が何回でも可能 ▌ API標準提供 ▌ 極めて安価(12円/SIM) 在庫状態でキャッシュアウトが発生しない ※ 今後数年間程度を設定する可能性はあります。

Slide 13

Slide 13 text

13 sakura.io

Slide 14

Slide 14 text

sakura.ioとは 14 モノ/マイコン 電気信号/JSON相互変換 プラットフォーム I2C/SPI JSON 組み込み系 Web系

Slide 15

Slide 15 text

15 sakura.ioの提供するもの

Slide 16

Slide 16 text

サンプル(デバイス側) • https://github.com/sakuraio/SakuraIOArduino/blob/master/examples /HDC1000/HDC1000.ino 16 // sakura.io 関連部分のコード if(sakuraio.enqueueTx(0,temp) != CMD_ERROR_NONE){ Serial.println("[ERR] enqueue error"); } if(sakuraio.enqueueTx(1,humi) != CMD_ERROR_NONE){ Serial.println("[ERR] enqueue error"); } if(sakuraio.enqueueTx(2,cnt) != CMD_ERROR_NONE){ Serial.println("[ERR] enqueue error"); } sakuraio.send();

Slide 17

Slide 17 text

サンプル(Web側) { "module":"uBz0YXLXeTAj", "type":"channels", "datetime":"2018-06-13T06:07:18.332196906Z", "payload":{ "channels":[ { "channel":0, "type":"f", "value":25.78247, "datetime":"2018-06-13T06:07:18.267197953Z" }, { "channel":1, … 17

Slide 18

Slide 18 text

特徴 18 ▌ 電気信号とJSONを相互変換するプラットフォーム ▌ 技適取得済み ▌ 事業/技術分野そのままにIoT事業が可能 ▌ API/SDKにより高速開発が可能 ▌ 60円/月/デバイス(1万回分の通信含む) ▌ 通信モジュール自体をお客様で製造するためのプランも用意 簡単・便利・安価・高セキュリティ

Slide 19

Slide 19 text

sakura.io products 19

Slide 20

Slide 20 text

sakura.io products 20

Slide 21

Slide 21 text

21 s a kur a .i o pr o ducts

Slide 22

Slide 22 text

22 最近の取り組みについて

Slide 23

Slide 23 text

最近の取り組み 23 行政(石狩市、鯖江市)と協力 sakura.io(LPWA)を活用 水位/温度を継続的に計測 増水を検出、避難所設置判断に活用

Slide 24

Slide 24 text

現在の仕組み 24 行政(石狩市、鯖江市)と協力し Sakura.io(LPWA)を活用 水位/温度を継続的に計測 増水を検出、避難所設置判断に活用

Slide 25

Slide 25 text

まとめ 25 sakura.io は通信込みのプラットフォーム つなぐ 貯める 連携する デバイス 専用線 閉域網 クラウド/インターネット オンプレミス環境 (外部サービス) SSL/TLS 通信 モジュール セキュアモバイルコネクトは通信機能 SIM モバイルゲートウェイ デバイス 専用線 閉域網 スイッチ サーバ SIMからモバイルゲートウェイを通し、さくらのクラウドのお客様スイッチへ直結 デバイスのセキュアな通信を実現 セキュアモバイルコネクト

Slide 26

Slide 26 text

26 sakura.io は通信込みのプラットフォーム つなぐ 貯める 連携する デバイス 専用線 閉域網 クラウド/インターネット オンプレミス環境 (外部サービス) SSL/TLS 通信 モジュール 今日は sakura.io を中心にGCPと組み合 わせた使い方ご紹介します。

Slide 27

Slide 27 text

GCP と sakura.io の連携 27 デバイスからのデータをCloud Pub/Subの指定したtopicへ自動的にpublish

Slide 28

Slide 28 text

sakura.io から Google Cloud Pub/Sub へデータを送る • デモ 28

Slide 29

Slide 29 text

GCP と sakura.io の連携例1 29 デバイスからのセンサーデータに応じて、Slackなどへ通知

Slide 30

Slide 30 text

GCP と sakura.io の連携例2 30 センサーデータをBigQueryへ保存

Slide 31

Slide 31 text

再掲: 水位計 31 行政(石狩市、鯖江市)と協力し Sakura.io(LPWA)を活用 水位/温度を継続的に計測 増水を検出、避難所設置判断に活用

Slide 32

Slide 32 text

実際にやってみると… 32 ※公開されているサイトのグラフ(期間は異なる) Datastudio

Slide 33

Slide 33 text

• センサー仕様外の、送られてくるはずのない異常な値が送られてきている • 300~10000(mm単位)の値のみのはず • 橋と川の水面の距離を計測しているにも関わらず、データが跳ねている • データがない時間帯がある ※実証実験段階のため改善中 33

Slide 34

Slide 34 text

センサーデータを収集すると変な値が見えることがある • データが送られてきていない • どうしよう・・・ • 想定していないデータが送られてくる(なんのデータかわからん) • データ1つ1つをみて除外しないといけない • 異常な値が送られてくる(値が跳ねる) • 直近データからの乖離を見て除外しないといけない • 通常状態でない値がずっと送られてくる(こわれた?おちた?) • 検討が必要 34

Slide 35

Slide 35 text

GCP と sakura.io の連携例 35 センサーデータをBigQueryへ保存 前処理を しよう!!

Slide 36

Slide 36 text

Google Cloud Dataflow • Apache Beam を利用する Apache Beam is an open source, unified model for defining both batch and streaming data-parallel processing pipelines. • 記述するための言語 Java, Python, Go (と Scala)がある。(Python/Goはまだ・・・) • 実行環境 Pipeline の実行環境の1つとして、Dataflow 36

Slide 37

Slide 37 text

Apache Beam の実行パイプライン 37 • Pipeline: 必ず1つ必要。どういうデータ処理を実行するのかの全体。枝分かれしてもよい。 • PCollection: データセット • PTransform: データ処理内容 • Input • Bounded: バッチ • Unbounded: ストリーミング

Slide 38

Slide 38 text

Dataflow で外れ値除外 38 Input (unbounded) データのパース PCollection センサー値の 範囲チェック PCollection Window設定 PCollection Windowでの 平均値を計算 PCollection 平均値とのずれが 大きいものを除く side input PCollection : PTransform https://github.com/hitsumabushi/sample-sakuraio-gcpug- 20180613/blob/master/dataflowbq/src/main/java/io/sakura/samp le/DataflowToBq.java

Slide 39

Slide 39 text

異常値データを除外した後 39

Slide 40

Slide 40 text

比較 40

Slide 41

Slide 41 text

まとめ • Dataflow や BigQueryで前処理や、データの正規化が簡単 • Data Studio を使うと BigQuery のデータの可視化も簡単 • GCPのデータ取得のIoTソリューションをさくらは提供 ✓IoT/M2M向けSIM 「セキュアモバイルコネクト」 ✓組み込み向けプラットフォーム「sakura.io」 41