クラウドに迅速に接続し、IoTデータを直接送信して、クラウドにリモートアクセスする方法

著者 Bill Giovino

Digi-Keyの北米担当編集者 の提供

多くの開発者がモノのインターネット(IoT)プロジェクトの構築に携わっており、それらのプロジェクトではデータストレージ、リモートアクセス、そして最近ではデータ分析サービスへの接続が必要です。ただし、そのような接続を行うための最も効率的で安全性の高い手段を見つけることは、開発者にとってそれほど簡単ではありません。

この記事では、Microchip TechnologyのGoogle Cloud評価ボードをIoTセンサエンドポイントとして使用しGoogleのCloud IoTプラットフォームに接続する方法について説明します。この方法により、シンプルなブラウザベースのインターフェースを使用してどこからでも読み込めるように、評価ボードでデータを格納できます。

クラウドストレージを使い始める

組み込みIoTエンドポイントの場合、クラウドホスティングを使い始めるには、必須の安全な接続とソフトウェアを使用できるクラウドサーバが必要になります。Google Cloud Platform(GCP)によってその要件が満たされます。また、組み込みIoTエンドポイントには、エンドポイントをリモートで制御できるようにするファームウェアも必要です。Microchip Technologyは、AC164160 AVR-IoTクラウド評価ボードで必要なソフトウェアをすべて提供することによって開発プロセスを簡素化しました。

Microchip AVR-IoTクラウド評価ボードの図

図1: Microchip TechnologyのAVR-IoTクラウド評価ボードは完全なIoTエンドポイントです。開発者はこの評価ボードを使用してプロジェクトをGoogle Cloud IoTサーバに迅速に接続できます。(画像提供:Microchip Technology)

AVR-IoTボードはIoTエンドポイントに適したボードですが、その動作を詳しく調べてみると、IoTエンドポイントとクラウドコンピューティングの動作の仕組みもよくわかります。

AVR-IoTボードの動作

この評価ボードはWi-Fi経由でGoogle Cloudサーバに接続するように構成されています。サーバ接続が確立されると、データをリアルタイムに格納して表示できます。

評価ボードのコンポーネントは低電力用に最適化されるように選択されていて、バッテリ駆動のIoTエンドポイントに最適です。マイクロコントローラはMicrochip TechnologyのATMEGA4808-MFR 8ビットAVR®プロセッサであり、8.5ミリアンペア(mA)を消費する20メガヘルツ(MHz)で稼働します。スタンバイモードでは、リアルタイムクロック(RTC)のみが稼働し、690ナノアンペア(nA)を消費します。

このマイクロコントローラはボードを制御し、すべてのセンサとLEDへのインターフェースを備えています。コアは、48Kバイトのフラッシュ、6KバイトのSRAM、および256バイトのEEPROMによってサポートされます。Wi-Fi接続データの格納にはEEPROMを使用します。2サイクルのハードウェア乗算器は、CPUサイクルを減らすことで電力を節約します。

ATMEGA4808は、4つの16ビットタイマ、3つのUSART、1つのSPIインターフェース、および1つのアナログコンパレータなどの周辺機器が完全に備わっていて、低電力IoTセンサエンドポイントのアプリケーションに最適です。

Wi-Fi接続では、ATMEGA4808はSPIシリアルポートを経由してMicrochip TechnologyのATWINC1510-MR210UB1961 2.4ギガヘルツ(GHz)802.11 b/g/n IoT Wi-Fiモジュールに接続します(図2)。このモジュールは完全に自己完結型で、WEP、WPA、およびWPA2セキュリティをサポートしています。また一体型のアンテナを備えており、RFアンテナレイアウトに詳しくない開発者でも着手できます。より広い範囲に対応する必要性に備えて、外部アンテナもサポートします。暗号化による接続はTLSでサポートされます。

Microchip Technologyが提供するWINC1510 Wi-Fiモジュールの図

図2: Microchip TechnologyのWINC1510 Wi-Fiモジュールはフットプリントが21.7mm x 14.7mmで、2.4GHz 802.11 b/g/nワイヤレスアクセスポイントをサポートします。SPIシリアルポートでホストマイクロコントローラへ接続します。(画像提供:Microchip Technology)

WINC1510は2.7V~3.6V電源で動作し、動作時は290mAを消費します。仮眠(Doze)モードではデバイスがパワーダウンし、すべての設定が保存されます。このモードでは、モジュールは380マイクロアンペア(μA)を消費しますが、これはビーコンモニタリングなどの無線のオン/オフを切り替える超低電力アプリケーションに適しています。WINC1510は150ミリ秒(ms)でWi-Fiアクセスに接続する機能を備えています。ホストマイクロコントローラへの完全なインターフェース用に使用される8つのピンには、4線SPIスレーブインターフェースと制御信号用の4つのGPIOがあります。モジュールには、南北アメリカ、ヨーロッパ、アジアで使用するためのすべての証明書が含まれています。これにより最終設計でFCC認証を得るプロセスが簡単になります。

AVR-IoTボードのフットプリントは63.5mm x 25.4mmで、PCとは電源とデータの両方に対応するUSBケーブル経由で接続します。サポートされるOSは、Windows、Linux、MacOSです。電力が投入されるとボードの4つのLED(青、緑、黄色、赤)が左から右に順番に2回点滅し、ボードが適切に動作していることを示します。

ボードはPC上ではフラッシュメモリスティックのようになり、5つのファイルが表示されます。インターネットに接続するには、CLICK-ME.HTMという名前のファイルをクリックします。クリックするとデフォルトのブラウザに、ローカルWi-Fiに接続するためのページが表示されます(図3)。

Microchip TechnologyのAVR-IoTボードの画像

図3: Microchip TechnologyのAVR-IoTボードをローカルのWi-Fiネットワークに接続するには、このCLICK-ME.HTMファイルの左下にWi-Fiアクセスポイント情報を入力します。(画像提供:Microchip Technology)

ネットワーク名を入力し、ネットワークタイプを選択してパスワードを入力すると、青色LEDが点灯しボードがローカルのWi-Fiネットワークに接続されたことを示します。その直後に、緑色LEDが点灯し、ボードがGoogle Cloudサーバに接続したことを示します。ボードがGoogle Cloudサーバにデータを送信するたびに、黄色のLEDが点滅します。AVR-IoTとGoogle Cloudサーバ間で送信されるすべての情報は暗号化されます。

IoT、暗号化された接続、データ暗号化

ポイント間のインターネットトラフィックは、一般にTLS(Transport Layer Security)を使用して暗号化された安全な接続を経由して伝送されます。ただし、それでもハッカーが暗号化された接続の脆弱性を見つけて、「MITM攻撃(中間者攻撃)」を仕掛けることでデータを捕捉する可能性があります。プロジェクトの設計がこのような攻撃にさらされないようにするには、通常はAESまたはSHAの暗号化標準を使用してデータを暗号化する必要もあります。

Google Cloudに送信されるデータを暗号化するために、AVR-IoTにはMicrochip TechnologyのATECC608A-MAHCZ-T Security CryptoAuthentication™チップが付属しており、このチップはI2Cインターフェース経由でAVRマイクロコントローラに接続します。ATECC608Aは、AES-128やSHA-256など多くの暗号化標準をサポートしている暗号メモリチップです。このチップを使用して、Google Cloudサーバとの通信に使用する公開キーおよび秘密キーを保存します。

どのAVR-IoTでもそれぞれのATECC608Aは、あらかじめプログラムされた状態で、その独自の一意公開キーおよび秘密キーとともにMicrochip Technologyから提供されます。ATECC608Aの秘密キーはセキュアストレージ内にあり、I2Cインターフェースがロジックアナライザでモニタされログ記録される場合でも表示されません。公開キーはGoogle Cloudに送信されるURLに表示され、AVR-IoTに接続されたホストPCのUSBインターフェースで読み取り可能なPUBKEY.TXTファイルにも記述されています。ATECC608Aの詳しい動作についての情報は、機密保持契約に基づいてのみMicrochip Technologyから取得できます。

ただし、AVR-IoT内のATMEGA4808マイクロコントローラのファームウェアは、セキュアなGoogle CloudプロジェクトでATECC608Aを効率的に使用できるように設定されています。これにより、ATECC608Aの暗号化機能の詳細は開発者にとってほとんど透過的となり、開発が著しく簡素化、迅速化されます。

高いセキュリティが求められるIoTエンドポイント向けに、ATECC608Aはアプリケーションとチップ自体の両方を保護します。物理的なハッキングへの耐性が強く、維持するメモリ内容に超低温を適用したり定格外の高速または低速なI2Cクロックを使用したりする多くのサイドチャンネル攻撃を検出し防御できます。また、デバイスをデキャップ(開封)して内部アーキテクチャを探ろうとする攻撃も検出できます。デバイスの内部メモリの内容も暗号化されます。ATECC608Aには、Microchip Technologyのエンジニアのみが知る秘密のセキュリティメカニズムが含まれる場合もあります。

Google Cloud IoTサーバとの連携

AVR-IoTをGoogle Cloud IoTサーバに接続すると、データ交換が開始されます。AVR-IoTには光センサと温度センサの両方が含まれています。これらのセンサからのデータはGoogle Cloudサーバに送信され、リアルタイムに表示できます(図4)。ブラウザでデータを表示するには、以下のURLを入力する必要があります。

avr-iot.com/device/{publickey}

ここで{publickey}はAVR-IoTボードに割り当てられている公開キーです。

使用されるGoogle Cloudサーバはデモのサンドボックスアカウントなので、AVR-IoTからGoogle Cloudに送信されるデータは永続的には保存されず、サーバとの接続の切断にともない消去されます。

Google Cloud IoTサーバの図

図4: Google Cloud IoTサーバによるウェブページでは、AVR-IoTから得られる温度センサと光センサのデータを表示できます。(画像提供:Microchip Technology)

より完全な機能を備えたクラウドサーバ向けとして、AVR-IoTキットにはプライベートGoogle Cloudアカウントにアップグレードするための手順が含まれています。プライベートGoogle Cloudアカウントでは、開発者は情報を後から利用するためにGoogle Cloudに永続的に保存できます。また、プライベートGoogle Cloud上にAVR-IoTと通信可能なウェブインターフェースを構築して、評価ボード上のカスタムファームウェアにコマンドを送信できるアプリケーションを、そのウェブインターフェースによりオンラインでホスティングすることもできます。たとえば開発者は、電子機器に接続できるATmega4808上のどのGPIOピンも、世界中のあらゆる場所から制御できます。

結論

クラウドのストレージ、アクセスおよび利用方法について説明している多くの書籍やウェブサイトがありますが、多くの場合は実例ごとに学習するのが最も簡単です。Microchip TechnologyのAVR-IoTボードによって、クラウドへの接続が簡単になると同時に、クラウドのストレージ、暗号化、IoTエンドポイントの制御の基本が明確に示されます。

免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、Digi-Key Electronicsの意見、信念および視点またはDigi-Key Electronicsの公式な方針を必ずしも反映するものではありません。

著者について

Bill Giovino

Bill Giovino氏は、シラキュース大学のBSEEを持つエレクトロニクスエンジニアであり、設計エンジニアからフィールドアプリケーションエンジニア、そしてテクノロジマーケティングへの飛躍に成功した数少ない人の1人です。

Billは25年以上にわたり、STMicroelectronics、Intel、Maxim Integratedなどの多くの企業のために技術的および非技術的な聴衆の前で新技術の普及を楽しんできました。STMicroelectronicsでは、マイクロコントローラ業界での初期の成功を支えました。InfineonでBillは、同社初のマイクロコントローラ設計が米国の自動車業界で勝利するように周到に準備しました。Billは、CPU Technologiesのマーケティングコンサルタントとして、多くの企業が成果の低い製品を成功事例に変えるのを手助けしてきました。

Billは、最初のフルTCP/IPスタックをマイクロコントローラに搭載するなど、モノのインターネットの早期採用者でした。Billは「教育を通じての販売」というメッセージと、オンラインで製品を宣伝するための明確でよく書かれたコミュニケーションの重要性の高まりに専心しています。彼は人気のあるLinkedIn Semiconductorのセールスアンドマーケティンググループのモデレータであり、B2Eに対する知識が豊富です。

出版者について

Digi-Keyの北米担当編集者