了解 .NET IoT 库

已完成

在本单元中,你将了解 .NET IoT 库,它们可帮助你与设备交互。

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

System.Device.Gpio

System.Device.Gpio 包实现了各种协议,用于与低级别硬件引脚进行交互以控制设备。 这些协议包括:

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

System.Device.Gpio 不提供任何特定于设备的功能;它只是为使用支持的协议进行通信提供了基础。 例如,本模块中使用的 BME280 传感器使用 I2C 总线进行通信。 System.Device.Gpio 提供了通过 I2C 进行交互的抽象,但它不提供任何特定于 BME280 功能的功能。 如果仅使用 System.Device.Gpio 编写与 BME280 交互的代码,则代码需要了解 BME280 的功能。 这包括如何通过 I2C 总线序列化/反序列化来自传感器的消息。

Iot.Device.Bindings

Iot.Device.Bindings 包包含设备绑定,可通过包装 System.Device.Gpio 来简化应用开发。 它包含代表各种常见 IoT 传感器和其他设备的类。 这是一个社区驱动的开源项目,任何人都可以添加新的设备支持。

使用 Iot.Device.Bindings 允许开发人员直接使用设备抽象,而无需担心低级别通信。 以 BME280 传感器为例。 要与传感器通信,应用必须在 I2C 总线上以二进制形式发送和接收消息。 Iot.Device.Bindings 中的类使用 System.Device.Gpio 中的类提供抽象来处理二进制通信。 利用此库,你可以专注于要对传感器执行的操作,而不是低级别通信。

支持的操作系统

.NET IoT 库可以在任何支持 .NET 的地方运行,包括大多数支持 ARM/ARM64 和 Windows 10 IoT Core 的 Linux 版本。 对于大多数 Raspberry Pi 项目,建议使用 Raspberry Pi OS。

支持的硬件平台

.NET IoT 库与大多数单板平台兼容。 建议使用 Raspberry Pi(2 和更高版本)以及 Hummingboard 平台。 已知的其他兼容平台有 BeagleBoard 和 ODROID。

支持通过 USB 转 SPI/I2C 桥接器使用 PC 平台。

备注

.NET 在 ARMv6 架构设备上不受支持,包括 Raspberry Pi Zero 和 Raspberry Pi 2 之前的 Raspberry Pi 设备。

在下一单元中,将使用 .NET IoT 库读取 BME280 传感器并触发代表风扇中继的 LED。

知识检测

1.

.NET IoT 库支持哪些操作系统?

2.

哪个不是正确的陈述?