.NET Core 3 对 IoT 应用程序的高级支持:System.Device.Gpio
System.Device.Gpio 是一個全新的 .Net Core ?開源庫,它旨在使 IoT(物聯網)應用程序能夠通過其 GPIO 引腳或其他 I/O 控制硬件與傳感器、顯示器和輸入設備進行交互。該庫是由社區維護的多個設備綁定集合來進行增強實現的。
正如微軟 .NET 項目經理 Richard Lunder 所演示的那樣,這個新庫通過一組可用于控制外部設備的 API,使開發人員能夠控制單板計算機的通用 I/O (GPIO)引腳。這在以前使用.NET Core 時是不太可能實現的,盡管.NET Core 也可以運行在 Raspberry Pi 上。它支持的平臺包括 Raspberry Pi、BeagleBoard、HummingBoard 和 ODROID,但是不支持比較流行的 Arduino 板,如 UNO、Mega、Nano 等。
通過? NuGet 包提供的這個新庫可以在 Linux 和 Windows 10 IoT Core 上運行,它依賴于這些平臺上可用的本地驅動程序。對于基于 Linux 4.8 及更高版本的 Linux 發行版,System.Device.Gpio 使用 libgpiod ,它取代了 GPIO sysfs 接口,后者為較老的 Linux 版本提供了比較有限也比較慢的 GPIO 訪問。為了獲得最高的性能,盡管是以可移植性為代價, Linux 上的 System.Device.Gpio 還支持通過?/dev/mem 來訪問 GPIO,雖然這些板定制的驅動程序在將來可能會被刪除。
System.Device.Gpio 有一個配套庫,名為 Iot.Device.Bindings ,它通過向開發人員提供更高級別的API 而不是依賴pin 級的協議來訪問它們,從而可以更容易地使用很多現有的“啞”傳感器、顯示器和輸入設備。目前,? Iot.Device.Bindings 包含了數十種設備的綁定,如 A/D 轉換器、加速器、氣體傳感器、光傳感器、氣壓計等。需要注意的是,Iot.Device.Bindings 是一項社區成果,并沒有完全得到微軟的支持。
Lunder 演示了如何使用 Mac 上的 Visual Studio Code 運行了一個 LED 控制應用程序,該程序運行在 Raspberry Pi 3 上,它完全支持逐步調試。部分 System.Device.Gpio 是用 C++ 編寫的,不過他們正在逐步往 C#上移植,這將使.NET 開發人員更容易對其進行改進和修復。
System.Device.Gpio 仍處于試驗階段,微軟正在尋求人們對其 API 的積極反饋,這些 API 可能會在未來的版本中發生變化。
原文鏈接:https://www.infoq.cn/article/1UXmCS1yFEYY51e86mGE
.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總?http://www.csharpkit.com?
總結
以上是生活随笔為你收集整理的.NET Core 3 对 IoT 应用程序的高级支持:System.Device.Gpio的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 张高兴的 .NET Core IoT 入
- 下一篇: 深入理解.NET Core的基元: de