sakura.ioとGoogle Cloud Platformで始めるIoT/starting IoT with sakuraio and GCP

sakura.ioとGoogle Cloud Platformで始めるIoT/starting IoT with sakuraio and GCP

2018/06/13に大阪で開催されたGCPUGでの内容となります。
組み込み向けのプラットフォームを提供するsakura.ioから、Pub/Subを使ったGCP連携のメリットをご紹介します。
https://gcpug-osaka.connpass.com/event/85691/

※スライド中のリンクはSpeakerDeckの仕様でクリックできないため、必要に応じてスライドをダウンロードしてクリックしてください。

Transcript

  1. 2018/06/13 (C) Copyright 1996-2018 SAKURA Internet Inc. さくらインターネット株式会社 IoT Platform

    Team 酒井 浩平 GCPUG in Osaka #7 sakura.io と Google Cloud Platform で始めるIoT
  2. 今日お話しすること • さくらインターネットのIoTサービス • sakura.io と Google Cloud Pub/Sub との連携

    • センサーデータを収集する場合の前処理について 2
  3. 3 さくらインターネットのサービス VPS・クラウド データセンター 新サービス レンタルサーバ さくらのレンタルサーバ さくらのマネージドサーバ 1台を共有 1台を占有

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

    • コストを抑えたい • PoCから大量生産へスムーズにしたい 4
  5. さくらインターネットのIoTサービス • LTE通信 • セキュア • 安価 • 1個からの購入。大量生産向けの提供も可能 5

  6. さくらが提供するIoTサービス 6 IoTに必要な基本機能 プラットフォームの提供 SIM付き通信モジュールをコアとした IoTプラットフォームの提供 通信モジュール 接続方法開示 + SIM供給

    新規 製造製品向け つなぐ 保存する 連携する 通常SIM 〜 MFF2まで セキュアモバイルコネクト IoT向けSIMの提供 クラウドにダイレクト接続、任意のネットワークへ 接続可能なSIM/セキュリティを担保 安価な通信を提供※ 通信が必要な製品向け IoTに求められる通信機能 柔軟性 安価 高速通信
  7. 7 セキュアモバイルコネクト

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

    通信制限なし
  9. ご利用料金について 9

  10. セキュアモバイルコネクトの活用シーン 10 デバイスからの定期的な計測、アラートなどを感知した際の一時的なデータ取得、 外出先や遠隔地から操作が必要な場合などのIoTサービスに最適です。 監視カメラ ドライブレコーダー 自動販売機 LTE閉域網でさくらのクラウドに直接接続す るため、常時オンラインでも、インターネット からアクセスされないため安全です。通常時

    はデータ量や機器状態のみ、緊急時は動 画を送信することによって、新しい価値を提 供可能です。 通常は、操作や状態のサマリデータのみを 送信し、非常時には高速でクラウドにデータ 送信可能です。位置情報などの情報も閉 域網から直接データセンターに接続するた め、安全に運用しつつ、非常時以外はコス トを抑えて運用可能です。 在庫情報の取得やクラウド側のデータと連 携するだけでなく、利用者の年齢や性別、 気温などの状況を加味した双方向コミュニ ケーションにお使いいただけます。利用者情 報もセキュアな環境で通信可能です。 住宅 建設 自動車 交通機関 商業施設 公告
  11. 製造から実際に使われるまでには時間がかかる 11 長いと1年も

  12. 特徴 12 ▌ 初期登録までの期限なし※ ▌ 事務手続き費用無料 ▌ 再登録が何回でも可能 ▌ API標準提供

    ▌ 極めて安価(12円/SIM) 在庫状態でキャッシュアウトが発生しない ※ 今後数年間程度を設定する可能性はあります。
  13. 13 sakura.io

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

  15. 15 sakura.ioの提供するもの

  16. サンプル(デバイス側) • 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();
  17. サンプル(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
  18. 特徴 18 ▌ 電気信号とJSONを相互変換するプラットフォーム ▌ 技適取得済み ▌ 事業/技術分野そのままにIoT事業が可能 ▌ API/SDKにより高速開発が可能

    ▌ 60円/月/デバイス(1万回分の通信含む) ▌ 通信モジュール自体をお客様で製造するためのプランも用意 簡単・便利・安価・高セキュリティ
  19. sakura.io products 19

  20. sakura.io products 20

  21. 21 s a kur a .i o pr o ducts

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

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

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

  25. まとめ 25 sakura.io は通信込みのプラットフォーム つなぐ 貯める 連携する デバイス 専用線 閉域網

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

    オンプレミス環境 (外部サービス) SSL/TLS 通信 モジュール 今日は sakura.io を中心にGCPと組み合 わせた使い方ご紹介します。
  27. GCP と sakura.io の連携 27 デバイスからのデータをCloud Pub/Subの指定したtopicへ自動的にpublish

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

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

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

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

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

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

  34. センサーデータを収集すると変な値が見えることがある • データが送られてきていない • どうしよう・・・ • 想定していないデータが送られてくる(なんのデータかわからん) • データ1つ1つをみて除外しないといけない •

    異常な値が送られてくる(値が跳ねる) • 直近データからの乖離を見て除外しないといけない • 通常状態でない値がずっと送られてくる(こわれた?おちた?) • 検討が必要 34
  35. GCP と sakura.io の連携例 35 センサーデータをBigQueryへ保存 前処理を しよう!!

  36. 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
  37. Apache Beam の実行パイプライン 37 • Pipeline: 必ず1つ必要。どういうデータ処理を実行するのかの全体。枝分かれしてもよい。 • PCollection: データセット

    • PTransform: データ処理内容 • Input • Bounded: バッチ • Unbounded: ストリーミング
  38. 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
  39. 異常値データを除外した後 39

  40. 比較 40

  41. まとめ • Dataflow や BigQueryで前処理や、データの正規化が簡単 • Data Studio を使うと BigQuery

    のデータの可視化も簡単 • GCPのデータ取得のIoTソリューションをさくらは提供 ✓IoT/M2M向けSIM 「セキュアモバイルコネクト」 ✓組み込み向けプラットフォーム「sakura.io」 41