使用 .NET IoT 库开发适用于 IoT 设备的应用

.NET 在各种平台和体系结构上运行。 支持常见的物联网(IoT)板,如 Raspberry Pi 和 Hummingboard。 IoT 应用通常与专用硬件(例如传感器、模拟到数字转换器和 LCD 设备)交互。 .NET IoT 库支持这些方案。

图书馆

.NET IoT 库由两个 NuGet 包组成:

System.Device.Gpio

System.Device.Gpio 支持各种协议,用于与低级别硬件引互以控制设备。 这些包括:

  • 常规用途 I/O (GPIO)
  • 集成电路接口 (I2C)
  • 串行外围接口 (SPI)
  • 脉冲宽度调节 (PWM)
  • 串行端口

物联网设备绑定

Iot.Device.Bindings

  • 包含通过包装 System.Device.Gpio 简化应用开发 的设备绑定
  • 由社区支持,且不断添加新的绑定。

GitHub 上维护 可用设备绑定的完整列表

一些常用的设备绑定包括:

关于线程的一句话

默认情况下,这些库中的对象 不是线程安全的。 这意味着一次只能从一个线程访问对象。 使用库时,必须注意,它们通常会在内部运行其他线程来监视硬件和触发事件。 如果订阅事件,则会从其他线程触发该事件。 你有责任控制对对象的线程访问。

受支持的操作系统

System.Device.Gpio 支持 .NET 的任何作系统都受支持,包括支持 ARM/ARM64 和 Windows 10 IoT Core 的大多数 Linux 版本。

小窍门

对于 Raspberry Pi,建议使用 Raspberry Pi OS (64 位)。 无需桌面,因此 Raspberry Pi OS Lite 可用于减小作系统的大小。

显示 Raspberry Pi 图像器工具的动画 GIF。用户从可用作系统列表中选择“RASPBERRY PI OS LITE(64 位)。

支持的硬件平台

System.Device.Gpio 与大多数单板平台兼容。 建议的平台是 Raspberry Pi (2 及更高) 和 Hummingboard。 已知兼容的其他平台是 BeagleBoard 和 ODROID。

通过使用 USB 转 SPI/I2C 桥接器支持 Windows、macOS 和 Linux 计算机和个人电脑。

重要

ARMv7 之前的设备上不支持 .NET,包括 Raspberry Pi Zero 和 Raspberry Pi 设备(Raspberry Pi 2 之前)。

资源