写点什么

.NET Core 3 对 IoT 应用程序的高级支持:System.Device.Gpio

  • 2019-10-27
  • 本文字数:903 字

    阅读完需:约 3 分钟

.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 可能会在未来的版本中发生变化。


原文链接:


Advanced IoT Application Support in .NET Core 3 With System.Device.Gpio


2019-10-27 08:002042

评论

发布
暂无评论
发现更多内容

阿里P8大牛手把手教你!高级Android晋升之View渲染机制,先收藏了

欢喜学安卓

android 程序员 面试 移动开发

为新基建按下加速键:从openEuler看中国操作系统的产业生态未来

脑极体

像用户一样测试:打破知识的诅咒

QualityFocus

测试 软件质量 可用性 用户体验

重学JS | 数组遍历的7种方法及兼容性处理(polyfill)

梁龙先森

大前端 编程语言

3D 可视化突发公共卫生事件 ,防护效率高达90%

一只数据鲸鱼

疫情 物联网 数据可视化 数据监测 3D可视化

这份阿里P8级别内部疯传的“Linux私房菜”让你一次吃个饱

Java架构之路

Java 程序员 架构 面试 编程语言

腾讯大牛亲自带你学:Java安全weblogic T3协议漏洞!

比伯

Java 编程 架构 面试 计算机

业务架构设计迭代演进思路

程序员架构进阶

架构 中台 业务架构

第八课性能优化作业-判断合并链表

Geek_michael

极客大学架构师训练营

股东变员工,所以不发工资?| 法庭上的CTO(18)

赵新龙

CTO 法庭上的CTO

大佬带你看源码!阿里内部Android笔记火爆IT圈,3面直接拿到offer

欢喜学安卓

android 程序员 面试 移动开发

这个问题值得讨论吗?

Alan

沟通 团队文化 七日更 28天写作

“有点技术之外,基本什么都没有”的CTO | 法庭上的CTO(15)

赵新龙

CTO 法庭上的CTO

混合用工、被拖欠工资的 CTO | 法庭上的 CTO(16)

赵新龙

CTO 法庭上的CTO

计算机网络简述

lee

计算机网络 网络协议 网络

窝家恶补三月,字节跳动三面,终于喜提offer!分享面试感受

Java架构之路

Java 程序员 架构 面试 编程语言

程序员开发指南!1-3年的Android开发工程师看过来,经典好文

欢喜学安卓

android 程序员 面试 移动开发

创建493个测试账户,被公司索赔527万 | 法庭上的 CTO(14)

赵新龙

CTO 法庭上的CTO

“盗窃”公司源代码被开除的CTO | 法庭上的CTO(20)

赵新龙

CTO 法庭上的CTO

Alibaba面试官:“这该死的程序员,知识竟如此渊博!”

Java架构之路

Java 程序员 架构 面试 编程语言

字节面试坎坷之路,第一次二面凉了!捞起来之后一面就凉了;我太难了呀!

Java架构之路

Java 程序员 架构 面试 编程语言

(经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路

Java鱼仔

Java 程序员 面试 大学生

大作业一

黄立

劫持Chrome浏览器“获利”8000万元 | 法庭上的CTO(13)

赵新龙

CTO 法庭上的CTO

犯“走私罪”的CTO | 法庭上的CTO(19)

赵新龙

CTO 法庭上的CTO

未签订劳动合同的CTO | 法庭上的 CTO(17)

赵新龙

CTO 法庭上的CTO

Spring 源码学习 11:invokeBeanFactoryPostProcessors

程序员小航

Java spring 源码 源码阅读

Java程序员晋升之路:“Java高级核心知识全面解析”

Java架构之路

Java 程序员 架构 面试 编程语言

工具词典:精力管理

lidaobing

精力管理 张遇升 28天写作

ZooX首发双向电动无人车,会成为自动驾驶出行的主流吗?

脑极体

甲方日常 75

句子

工作 随笔杂谈 日常

.NET Core 3 对IoT应用程序的高级支持:System.Device.Gpio_语言 & 开发_Sergio De Simone_InfoQ精选文章