【AICon】 如何构建高效的 RAG 系统?RAG 技术在实际应用中遇到的挑战及应对策略?>>> 了解详情
写点什么

.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:002186

评论

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

中国北京|HICOOL 2023 全球创业大赛

科兴未来News

Hicool 海外 #双创赛事#

研运至简,创新无限!嘉为品牌VI全新升级

嘉为蓝鲸

自动化运维 嘉为蓝鲸 品牌升级

中台KPI怎么设计?

博文视点Broadview

架构实战营 - 写出外包学生管理系统的架构文档

huiwen

架构实战营

NFTScan 与 MintKit 达成战略合作伙伴,由 NFTScan 为其提供 NFT API 数据服务

NFT Research

NFT 数据基础设施

极盾科技CEO丁杨:让数据安全回归场景、业务和价值

极盾科技

数据安全

小游戏引擎选型注意事项

FinFish

游戏 小游戏 小游戏引擎

Jupyter Notebook入门指南

京东科技开发者

前端 服务端 Server 多编程语言 企业号 1 月 PK 榜

语音社交App系统源码中语音厅App搭建之开宝箱游戏机制说明以及技术文档

山东布谷科技胡月

语音直播源码 语音社交软件 语音直播app 语音厅平台搭建 语音聊天APP源码

如何把照片变成“漫画脸”?一招教会你一键生成氛围感动漫头像

互联网民工阿强

图片 图片处理 动漫 漫画头像 ACGAN-动漫头像

IOS技术分享| IOS快对讲调度场景实现

anyRTC开发者

音视频 呼叫邀请 快对讲 语音对讲 视频对讲

vivo 实时计算平台建设实践

vivo互联网技术

大数据 flink 实时计算

如何导入本地数据?

Towify

如何用弹出对话框实现登录页非空提示?

Towify

高性能且小巧的脚本语言 LuaJIT

ooooooh灰灰

lua 后端 JIT 网关

时序数据库 TDengine 携手北京科技大学设计研究院,助力冶金工业智慧化

TDengine

数据库 tdengine 时序数据库

深入React源码揭开渲染更新流程的面纱

flyzz177

React

从react源码看hooks的原理

flyzz177

React

阿里巴巴内网Spring Cloud Alibaba 强势来袭,开创微服务的新时代

架构师之道

Java 微服务 架构师

再快一点?Web 3动态内容如何加速?

Java全栈架构师

程序员 程序人生 Web 后端 架构师

隐私计算技术开源的整体现状

京东科技开发者

开源 经验分享 隐私计算 隐私安全

深度分析React源码中的合成事件

flyzz177

React

机器学习服务活体检测算法荣获CFCA权威安全认证

HMS Core

HMS Core

融云获 2022 中国技术先锋年度评选「中国技术品牌影响力企业」奖

融云 RongCloud

AI将产生创富的第5次浪潮

felix

机器学习 模型开发

Java高手速成│实战:应用数据库和GUI开发产品销售管理软件(2)

TiAmo

数据库 Java、 JDBC

软件测试 | 简历中应该如何描述才能体现出软技能的实力 ?

霍格沃兹测试开发学社

灵活高效又美丽,谈谈我们的产品体验升级思路

嘉为蓝鲸

自动化运维 嘉为蓝鲸 IT服务管理中心

DevEco Studio新特性分享-跨语言调试,让调试更便捷高效

HarmonyOS开发者

HarmonyOS

RocketMQ Compaction Topic的设计与实现

Apache RocketMQ

RocketMQ 消息队列

手写一个react,看透react运行机制

flyzz177

React

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