IoT プラットフォーム?
各社のIoTソリューションはどこも基本的にこんな感じ
- 大量センサからデータをクラウドへ集約
- 集めたデータをデータベース化しリアルタイム(ストリーム技術)に可視化
- Machine LearningやAI技術を使ってデータを分析(エッジでもML)
- イベントベースでのアクション・制御(Lamdaなど)
これにより、センサからのデータ集約→可視化・分析→センサへの制御(フィードバック)つまりセンサ運用の完全自動化を狙うことができそうな感じです。クラウドにはそもそもここに書いたストリームやイベント制御やMLなどのサービスがそろってるのでそのツールチェーンをそのまま使えばいいという発想
アーキテクチャ
当然ながら、コア(クラウド内)とエッジ(オンサイト)が分かれており、コア側は既存のクラウドのサービスを活用する形。
AWS
その他、2016年のものだが、これがいいかも - AWS IoTアーキテクチャパターン
GCP
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 」を実現するためのクラウドネイティブな IoT システム構築
- IoTで生き残れ!成功なんて結果論、こうすれば失敗します。プロ達が語る『IoT失敗あるある談』!!! | IoT ありがちな失敗パターンと 回避する方法
- IoT向けプラットフォーム「SORACOM」とは? 他2本
知っ得ハンズオン はじめての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