2.1K Star微软开源的高质量 iot库

发布于:2024-04-22 ⋅ 阅读:(45) ⋅ 点赞:(0)

功能描述

该项目是一个开源的 .NET Core 实现,旨在帮助开发者构建适用于物联网(IoT)设备和场景的应用程序。它提供了与传感器、显示器和输入设备等相互作用所需的 GPIO 引脚、串口等硬件的接口。该仓库包含 System.Device.Gpio 库以及针对各种板卡(如 Raspberry Pi 和 Hummingboard)的实现。

功能特点

  • 支持控制通用用途 I/O(GPIO)引脚,可用于控制 LED、继电器等带状态的设备。
  • 包含 Iot.Device.Bindings,这是一个由社区维护的不断增长的设备绑定集,适用于各种 IoT 组件。
  • 提供了针对 Raspberry Pi 等设备的 GPIO 引脚控制示例,例如通过 .NET 控制 LED 灯并进行周期性闪烁。

案例介绍

可以单独控制常规用途 I/O (GPIO) 引脚。 这对控制 LED、中继和其他有状态设备很有用。 在本主题中,你将使用 .NET 和 Raspberry Pi 的 GPIO 引脚使 LED 通电,并重复闪烁。

前提条件
  • 基于 ARM(ARMv7 或更高版本)的单板计算机 (SBC)
  • 5 毫米 LED
  • 330 Ω 电阻器
  • 试验板
  • 跳线
  • Raspberry Pi GPIO 分线板(可选/推荐)
  • .NET SDK 7 或更高版本

  • GPIO 18 到 LED 阳极(较长、正极导线)
  • LED 阴极(较短、负极导线)到 330 Ω 电阻器(任一端)
  • 330 Ω 电阻器(另一端)到地面

代码demo
using System;
using System.Device.Gpio;
using System.Threading;

Console.WriteLine("Blinking LED. Press Ctrl+C to end.");
int pin = 18;
using var controller = new GpioController();
controller.OpenPin(pin, PinMode.Output);
bool ledOn = true;
while (true)
{
    controller.Write(pin, ((ledOn) ? PinValue.High : PinValue.Low));
    Thread.Sleep(1000);
    ledOn = !ledOn;
}

使用场景

对于想要利用 .NET Core 开发物联网设备应用程序的开发者来说,该项目提供了便捷的工具和库。通过使用该项目,开发者可以轻松地与各种硬件设备进行交互和控制,从而打造功能丰富的 IoT 应用程序。无论是控制 LED 灯的闪烁频率,还是与传感器进行数据交互,都可以通过该项目实现。由于支持多种板卡和设备,开发者可以根据项目需求选择合适的硬件平台,并利用项目提供的功能去快速开发创新的 IoT 解决方案。

作者介绍:

90后资深架构师,深耕工业可视化,数字化转型,深度学习技术在工业中的应用。深入研究Web3D,SCADA ,深度学习开发应用。开发语言技能JAVA/C#/Python/Golang/Vue3/TypeScript, 关注【工业可视化】带你一起学~