BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Suporte avançado a aplicações de IoT no .NET Core 3 com System.Device.Gpio

Suporte avançado a aplicações de IoT no .NET Core 3 com System.Device.Gpio

O System.Device.Gpio é uma nova biblioteca open source aberta para o .Net Core que visa viabilizar a interação de aplicações IoT com sensores, monitores e dispositivos de entrada por meio dos pinos GPIO ou outro hardware de controle de I/O. A biblioteca é aumentada por uma coleção de ligações mantida pela comunidade para vários dispositivos.

Como demonstrou o gerente do programa Microsoft .NET Richard Lunder, a nova biblioteca oferece aos desenvolvedores controle sobre os pinos de I/O (GPIO) de uso geral dos computadores de placa única por meio de um conjunto de APIs que podem ser usadas para controlar dispositivos externos. Isso não era possível com facilidade usando o .NET Core, embora pudesse ser executado em um Raspberry Pi, por exemplo. As plataformas suportadas incluem o Raspberry Pi, BeagleBoard, HummingBoard e ODROID, mas deixam de fora as placas populares do Arduino, como UNO, Mega, Nano, entre outras.

A nova biblioteca, disponível por meio de um pacote NuGet, pode ser executada no Linux e no Windows 10 IoT Core, contando com drivers nativos disponíveis para essas plataformas. Para distribuições Linux baseadas no Linux 4.8 e em versões mais recentes, o System.Device.Gpio usa libgpiod, que substitui a interface GPIO sysfs que fornece um acesso GPIO limitado e lento, disponível para versões mais antigas do Linux. Para obter um melhor desempenho, apesar do custo de portabilidade, o System.Device.Gpio no Linux também oferece suporte ao acesso GPIO por meio do /dev/mem, embora os drivers específicos da placa possam ser removidos no futuro.

O System.Device.Gpio possui uma biblioteca complementar chamada Iot.Device.Bindings, que visa facilitar o uso de vários sensores, monitores e dispositivos de entrada "burros" existentes, fornecendo aos desenvolvedores uma API de nível superior para acessá-los, em vez de confiar nos protocolos de baixo nível. Atualmente, o Iot.Device.Bindings inclui ligações para dezenas de dispositivos, como conversores A/D, acelerômetros, sensores de gás, sensores de luz, barômetros e muito mais. É importante observar que o Iot.Device.Bindings foi criado pela comunidade e não é suportado por completo pela Microsoft.

Lunder, que demonstrou o uso do Visual Studio Code em um Mac para executar um aplicativo de controle de LED em um Raspberry Pi 3 com suporte completo para depuração passo a passo, disse que partes do System.Device.Gpio são escritas em C++, mas estão sendo portadas aos poucos para C#, o que deve facilitar aos desenvolvedores .NET contribuirem com aprimoramentos e correções.

O System.Device.Gpio é considerado como uma biblioteca experimental e a Microsoft está buscando feedback ativo sobre a API, o que poderia mudar nas versões futuras.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT