マイクロコントローラを始めとする組み込みプロセッサは、モノのインターネット、 IoT にとって欠かせない構成要素であり、スマート冷蔵庫、産業用モーター、電力モニターなどのエッジデバイスを支える技術でもあります。 IoT に
Google Cloud IoT プラットフォームを利用すれば、あらゆるデバイスの管理、BigQuery や Bigtable といった分析ツールとのデータ ストリームの確立、パフォーマンスの監視、データの視覚化を実現できます。しかし、マイクロコントローラクラスのデバイスを Google Cloud IoT に直接接続するにはどうすればよいのでしょうか。半導体パートナーの皆さんと協力し、本日は新しい Cloud IoT Device SDK についてご紹介します。
Cloud IoT Device SDK は、
Embedded C で書かれたクライアント ライブラリで構成されます。これを使うと、デベロッパーはデバイスと Cloud IoT Core を安全に接続して、プロビジョニングや管理を行えます。このキットは、アセット トラッカーとして電池で動作する通信デバイスや、フラッシュ ROM(読み取り専用メモリ)が限られている Wi-Fi スマートホーム端末など、電力やサイズに制約のある用途向けです。
皆さんまたは組み込みシステム エンジニアリング チームが Cloud IoT Device SDK を利用できるのは、最初からサポートされているパートナー製のプラットフォームだけではありません。さまざまな 32 ビット マイクロコントローラ(MCU)に加えて、Zephyr、ARM Mbed OS、FreeRTOS カーネルなど、各種リアルタイム オペレーティング システムにも簡単に移植できます。サポート対象は今後もさらに広がる予定です。この SDK は、Linux などの POSIX に準拠したオペレーティング システムでも動作するうえ、非同期 API やイベント スケジューラを含めてベアメタル デバイスにスケールダウンすることもできます。
SDK の主な機能は、次のとおりです。
- 非常に移植性の高い機能セットと軽量 BSP(ボードサポート パッケージ)の組み合わせで、新機能のデプロイは最低限のエンジニアリングだけで可能
- コルーチン対応のシングルスレッド動作により、デバイスのアプリを中断することなく双方向メッセージングをサポート
- JSON Web Token(JWT)認証を使って IoT Core に接続するために必要なすべてのセキュリティ要件に対応しており、TLS 1.2 およびさまざまなセキュア エレメントがサポートされたサードパーティ製 TLS スタック(wolfSSL、mbedTLS)をすぐに組み込み可能
- サービスが利用できなくなった際に DDoS(分散型サービス拒否攻撃)イベントを引き起こすことがないよう、インテリジェントなネットワーク動作を実装したバックオフ ロジックを組み込み済み
- Cloud IoT プロビジョニングをサポート予定
- 計算、メモリ、容量に制約のあるデバイスをサポート
- 少ないメモリ消費量(ツールチェーンの最適化に応じて推定 25KB のフラッシュ メモリ、TLS ソフトウェア ソリューションを含めて 80KB)、サイズを最適化するモジュール機能(オプション)
- OS なしの運用を実現する非同期 API
- ノンブロッキング ソケットによる低消費電力
- イベント スケジューラと、ユーザー コールバック用のスレッドプール(オプション)
この SDK の価値について考えてみましょう。組み込みエンジニアは、組み込みターゲットに移植する前に、標準 PC 環境を使ってプロトタイピング、プロファイリング、テストをすばやく行えるようになるので、市場に出るまでの時間を短縮できます。一方で、半導体会社は、この SDK によって簡単に製品ラインをアップデートし、Cloud IoT Core の最新機能をサポートできるようになります。SDK はさまざまな MCU クラスのデバイスをサポートしているので、IoT ソリューションを設計、構築、展開するユーザーは、アセット トラッキング、スマート農業、電力測定向けのシステムを構築するチャンスを広げることができます。パートナーやデベロッパーは、
GitHub リポジトリを参考にして、今日から SDK を使った開発を始められます。
私たちは Cloud IoT Embedded SDK に関して、以下のパートナーと幅広く協力しています。
- Arm
- Cypress Semiconductor
- Nordic Semiconductor
- Espressif Systems
- Microchip
- NXP
「私たちは、Google と協力して Mbed OS を新しい Cloud IoT Device SDK に対応させています。これにより、IoT ソリューションの拡大に役立つオープンソース プラットフォーム OS をパートナーに提供するという私たちの取り組みがさらに進展しています」 — Arm 社、IoT サービス グループ、デバイス サービス担当副社長およびジェネラル マネージャー、Chris Porthouse 氏
「この協力関係によって、私たちのプロダクトの中でも特に広く使われている ESP32 と ESP8266 の 2 つを簡単に組み込めるようになります。Google Cloud と協力して SDK のアップデートをサポートし、お客様が Cloud IoT Core で現在、未来のデザインを簡単に利用できるよう取り組んでいます」 — Espressif Systems 社、CEO、Teo Swee Ann 氏
Cloud IoT Device SDK は、広範な Cloud IoT Edge プラットフォームの一部です。その目的は、カメラ、産業コントローラ、風力発電装置など、数十億台のエッジデバイスにデータ処理や機械学習の機能を展開し、センサーからのデータにリアルタイムに反応してローカルで結果を予測可能にすることです。今週、ドイツのニュルンベルクで開催される Embedded World で、パートナーが出展する組み込みプラットフォームをご覧ください。
Cloud IoT Edge についてさらに詳しく知りたい方は、ぜひ 4 月にサンフランシスコで開催される
Google Next ‘19 にお越しください。