次の方法で共有


.NET IoT ライブラリを使用して IoT デバイス用アプリを開発する

.NET は、さまざまなプラットフォームとアーキテクチャで実行されます。 Raspberry Pi や Hummingboard などの一般的なモノのインターネット (IoT) ボードがサポートされています。 IoT アプリは、通常、センサー、アナログデジタル コンバーター、LCD デバイスなどの特殊なハードウェアと対話します。 .NET IoT ライブラリを使用すると、これらのシナリオが可能になります。

Libraries

.NET IoT ライブラリは、次の 2 つの NuGet パッケージで構成されます。

System.Device.Gpio

System.Device.Gpio では、低レベルのハードウェア ピンを操作してデバイスを制御するためのさまざまなプロトコルがサポートされています。 これらには次のものが含まれます。

  • 汎用入出力 (GPIO)
  • インター集積回路 (I2C)
  • シリアル周辺機器インターフェイス (SPI)
  • パルス幅変調 (PWM)
  • シリアル ポート

Iot.Device.Bindings

Iot.Device.Bindings パッケージ:

  • System.Device.Gpio をラップしてアプリ開発を効率化するための デバイス バインド が含まれています。
  • コミュニティでサポートされ、追加のバインディングが継続的に追加されます。

使用可能なデバイス バインドの完全な一覧は、GitHub で管理されています。

一般的に使用されるデバイス バインドには、次のようなものがあります。

スレッド上の単語

既定では、これらのライブラリ内のオブジェクト はスレッド セーフではありません。 つまり、オブジェクトへのアクセスは、一度に 1 つのスレッドからのみである必要があります。 ライブラリを使用する場合、ハードウェアの監視やイベントの発生などのために、他のスレッドを内部的に実行することが多いことに注意する必要があります。 イベントに登録すると、別のスレッドからトリガーされます。 オブジェクトへのスレッド アクセスを制御するのはユーザーの責任です。

サポートされるオペレーティング システム

System.Device.Gpio は、ARM/ARM64 と Windows 10 IoT Core をサポートする Linux のほとんどのバージョンを含め、.NET をサポートするすべてのオペレーティング システムでサポートされています。

ヒント

Raspberry Pi の場合は、 Raspberry Pi OS (64 ビット) をお勧めします。 デスクトップは必要ないため、Raspberry Pi OS Lite を使用してオペレーティング システムのサイズを縮小できます。

Raspberry Pi Imager ツールを示すアニメーション GIF。ユーザーは、使用可能なオペレーティング システムの一覧から 'RASPBERRY PI OS LITE (64 ビット) を選択します。

サポートされているハードウェア プラットフォーム

System.Device.Gpio は、ほとんどのシングルボード プラットフォームと互換性があります。 推奨されるプラットフォームは、Raspberry Pi (2 以上) と Hummingboard です。 互換性があることがわかっている他のプラットフォームは、BeagleBoard と ODROID です。

WINDOWS、macOS、Linux のコンピューターと PC は、 USB から SPI/I2C ブリッジを使用してサポートされます。

Important

.NET は、Raspberry Pi 2 より前の Raspberry Pi Zero デバイスや Raspberry Pi デバイスなど、ARMv7 より前のデバイスではサポートされていません。

リソース