53
63

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AWS・GCP・AzureのIoTプラットフォームを調べている

Last updated at Posted at 2020-01-20

IoT プラットフォーム?

各社のIoTソリューションはどこも基本的にこんな感じ

  • 大量センサからデータをクラウドへ集約
  • 集めたデータをデータベース化しリアルタイム(ストリーム技術)に可視化
  • Machine LearningやAI技術を使ってデータを分析(エッジでもML)
  • イベントベースでのアクション・制御(Lamdaなど)

これにより、センサからのデータ集約→可視化・分析→センサへの制御(フィードバック)つまりセンサ運用の完全自動化を狙うことができそうな感じです。クラウドにはそもそもここに書いたストリームやイベント制御やMLなどのサービスがそろってるのでそのツールチェーンをそのまま使えばいいという発想

アーキテクチャ

当然ながら、コア(クラウド内)とエッジ(オンサイト)が分かれており、コア側は既存のクラウドのサービスを活用する形。

AWS

AWS

その他、2016年のものだが、これがいいかも - AWS IoTアーキテクチャパターン

GCP

GCP

Azure

Azure

スペックをまとめてみる

プレイヤ AWS Azure GCP
コンポーネント AWS IoT Core IoT Hub Cloud IoT Core
エッジコンポーネント AWS IoT Greengrass1 IoT Edge Cloud IoT Edge
プロトコル MQTT
HTTP1.1
Websockets
HTTPS
AMQP
AMQP over WebSocket
MQTT
WebSocket 経由の MQTT
MQTT
HTTP
セキュリティ TSL1.2
x.509
SigV4
カスタムトークン
x.509
セキュリティトークン
公開鍵認証
RSAES256
JWT
ハードウェア パートナーデバイス + FreeRTOS2 パートナーデバイス3 Android Things4
その他 デバイスシャドウ ? Edge TPU

プロトコルはMQTTかHTTP、各社デバイスパートナを持っており、そのデバイス上で使えるSDKを提供している感じ。エッジでは機械学習

各サービスの資料

軽くググったら出てきた資料たち

SORACOM

SORACOMはこの分野でかなり頑張ってる感じ。GAFAのIoTプラットフォームの劣化版を作らず、彼らに乗っかって早くPoCを回してやりたいことをやってしまおうというアイデア。以下の資料は、技術だけじゃなくて、IoTプロジェクトの進め方、ベストプラクティスに言及していて面白い。GCP, Azure, AWSともにアーキテクチャの図が横通しで見られる。

知っ得ハンズオン はじめてのIoT AWS IoT Core

そろそろ触ってみるために、知っ得ハンズオン はじめてのIoT AWS IoT Core にいってみた。目黒。軽いプレゼンの後にハンズオン。テキストみて各自が勝手に読んで進めるスタイル(後ろにサポートの人が数名)5。内容全部書いてもいいが、ここは控えめにポイントだけ。

  • AWSではデータ収集して分析だけじゃなくて、デバイスからデータをうけとって、その値の書き換えに基づいてデバイスを制御する「リモート制御」も可能。Lamdaかな?
  • IoT Core は Kinesis より10倍くらいお高い値段設定。Kinesis に比べて認証とか管理とかいろいろまとまってるので。
  • 単にセンサからデータをぶん投げて、信頼性も気にしないなら Kinesis でいい
  • 公式WebのAWS IoT Coreチュートリアルは、Raspberry Pi 持ってる前提で進めてくるから、RPの代わりにLinuxつかった抜け道教えてやるぜ。デバイスを擬似したPythonのコードがMQTTでデータを送ってくる。Cloud96使えば全部AWSワールドで完結5
  • MQTTのQOSは0, 1, 2のうち、0: at most once. 1: at least onceをサポート。2は費用対効果悪し
  • デバイスシャドウ7でデバイスを抽象化
  • ルールエンジンでデバイスからのデータを処理。今回はデバイスから上がってくるパケットのペイロードをSQLでひっかける。{'name': 'x'} というJSONなペイロードを select x where name = 'x'な感じでひっかけて、S3へ保存するなど8
  • 実際触ってみると、デバイスへ証明書を送り込むのがめんどくさい。今回のセミーナーではデバイス一台だけなので手でコピー。これは、デバイスの数が多いと死ぬな...9
  • あ、あとこのセミナーでアンケート答えたら$25のAWSクーポンくれたし、Macの電源ケーブル忘れたら、持ってきてくれたし、AWSの人みんないい人たちでした。

MQTT

MQTT(Message Queue Telemetry Transport)はAGM各社ともに採用しているプロトコルであり、理解しておくほうがよい

MQTT公式
MQTTの基本知識
Mosquitto MQTT broker

  1. AWS IoT Greengrassはエッジ側でAWS Lamdaを使えるような感じの物っぽい。コア側と連携して動く。

  2. パートナデバイス + FreeRTOS

  3. パートナーデバイス

  4. Android Things

  5. 最近のハンスオンセミナーはこういうスタイルなのか。まあ、自分のペースで進められて自由に質問もできるのでよき。 2

  6. Cloud9って昔お世話になったが、Amazonに買われた?元々Amazonのだったっけ?

  7. クラウド向いにデバイスを擬似するもの。JSONで振る舞いを定義する

  8. ルールをうまく書くと、クラウドのサービスがフル活用できてほとんどありものでやりたいことができてしまうのではないか

  9. なんかうまい仕組みがあるんだろうが、私は知らない。

53
63
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
53
63

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?