はじめに

完了

アプリケーションをビルドしてマイクロコントローラーのモノのインターネット (IoT) デバイス上で実行するのは、困難な場合があります。 その課題は、開発の容易さから、安全にデータをキャプチャし、サーバーに転送することまで、多岐にわたります。

Azure Sphere では、デバイスが保護され、アプリケーションが保護され、転送中にデータが保護されることが保証された、既定でセキュリティ保護される IoT ソリューションを構築できます。

Visual Studio や Visual Studio Code を使用してアプリケーションをビルドしたり、Windows および Linux 上の既存のツールチェーンと統合したりできます。 Visual Studio と Visual Studio Code の開発環境で、統合されたマイクロコントローラー デバッガーと完全なソース コード管理が、コラボレーションと生産性向上のツールと共に提供されます。

Azure Sphere とは

Azure Sphere は、ハードウェア、OS、クラウド コンポーネントが含まれる包括的な IoT セキュリティ ソリューションであり、これによりデバイス、ビジネス、および顧客を積極的に保護することができます。

Azure Sphere は、次のコンポーネントで構成されています。

  • ハードウェア パートナー提供の、Microsoft セキュリティ テクノロジが組み込まれた Azure Sphere 認定チップには、接続性と、高い信頼性のハードウェア ルートが用意されています。
  • Azure Sphere OS によって、保護層と継続的なセキュリティ更新プログラムが追加され、新しい IoT エクスペリエンスのための信頼できるプラットフォームが作成されます。
  • Azure Sphere セキュリティ サービスによって、デバイスからクラウドへの通信のために信頼が仲介され、脅威が検出され、デバイスのセキュリティが更新されます。

これらのコンポーネントが合わさって、安全性の高いデバイスの 7 つのプロパティ が実装されます。

Azure Sphere end-to-end.

Azure Sphere のアーキテクチャ

Azure Sphere マイクロコントローラー ユニット (MCU) には、開発者がアクセスできる 3 つのコア (Linux カーネルを実行する 1 つの Cortex-A7 と、ベアメタル コードを実行できる 2 つの Cortex-M4 コア)、または Azure RTOS や FreeRTOS などのリアルタイム オペレーティング システムがあります。

Cortex-A7 Linux カーネルで実行されている高レベル アプリケーションは、ネットワーク接続の確立、セキュリティのネゴシエート、デバイスの状態の更新、リアルタイム コア アプリケーションとの通信、IoT Hub などのクラウド ゲートウェイへのテレメトリ メッセージの送信など、時間的制約がそれほどないタスクに使用されます。

Azure Sphere architecture.

開発者用ツール

Azure Sphere アプリケーションは Windows と Linux から開発できます。 Windows の場合、Visual Studio 2019 以降 (無料の Community エディション以上) または Visual Studio Code を使用できます。 Linux の場合、Visual Studio Code を使用します。 3 つのすべてのコアで実行されているアプリケーションを同時に開発およびデバッグすることができます。

このラーニング モジュールは、Linux と Windows で Visual Studio Code を使用する開発者に対応しています。 Visual Studio を使い慣れている Windows ユーザーは、このモジュールに含まれている IDE スクリーンショットとは異なることを理解した上で Visual Studio を使用してください。

高感度な微生物学実験を行う実験室環境の監視と制御

あなたは、微生物学の実験室の科学者で、テストから得られたサンプルを保管する作業を担当しているとします。 実験装置周辺の環境を、リアルタイムで監視するシステムを構築する必要があります。 このシステムは、次の室内条件を監視します。

  • 気圧
  • 気温
  • 湿度

これらは、以前は実験室のアシスタントが、センサーを使って定期的に手動で記録していました。 環境条件を手動で記録するのは面倒な仕事であり、人為的なミスも発生しがちです。 センサーに問題が発生すると、実験室環境内で実行されたテストが無効になります。

室内条件を正確に維持することは、実験室を管理する上で非常に重要です。 実験室では、より正確な結果を得るために、適切な条件を維持する必要があります。 条件の変化は、サンプル、標本、実験装置の保管中や操作中に、装置の温度に影響を与える可能性があります。 これにより、正確で安定した結果を生成する機能が影響を受けたり、組織が経済的な影響を受けたりする可能性があります。

新しいシステムの提案

提案される新しいシステムには次の要素があります。

  • センサーを実験室内の複数のポイントに設置する必要があります。
  • 一部の実験は商業的に慎重な扱いを要し、高価であるため、システムを攻撃から保護する必要があります。
  • これらのセンサーを使って、定義した間隔で気圧、温度、湿度の条件を自動的に読み取るようにします。
  • デバイスからのセンサー データは、データの傾向を分析するために安全に送信されます。
  • 暖房、換気、空調装置 (HVAC) を制御して、実験の要件に合わせて自動的に調整できます。
  • 実験室環境で感度がより高いセンサーを将来サポートするのに十分な柔軟性。

このソリューションは、攻撃やソフトウェアのバグから保護され、高度に安全な IoT プラットフォーム上に構築する必要があります。 また、定義されたパラメーターのいずれかが予想範囲外になったときに、関係する権限に対してアラームまたは警告メッセージをシステムでトリガーすることができます。

Diagram showing the Azure Sphere dashboard.

学習の目的

このモジュールでは、次のことを行います。

  • Azure IoT ハブとデバイス プロビジョニング サービス (DPS) を作成する
  • Azure Sphere アプリケーションをビルドしてデプロイする。
  • Azure IoT Explorer で環境データを表示する
  • Azure IoT Hub デジタル ツインとダイレクト メソッド コマンドを使用して Azure Sphere アプリケーションを制御する
  • Azure RTOS を実行する Azure Sphere リアルタイム コアに感度がより高い新しいルーム センサーをデプロイする
  • リアルタイム コアで実行されている新しいセンサーからデータを読み取り、データを IoT Hub に送信する

前提条件

  • Azure Sphere キット
  • コンピューターに Visual Studio Code がインストールされていること
  • Visual Studio Code を使用できること
  • コンピューターに Git がインストールされていること
  • Git と GitHub を使用できること
  • Azure Sphere の基本的な知識
  • Azure IoT の基本的な知識