Desarrollo de aplicaciones para dispositivos IoT con las bibliotecas .NET IoT
.NET se ejecuta en varias plataformas y arquitecturas. Se admiten los paneles de Internet de las cosas (IoT) comunes, como Raspberry PI y Hummingboard. Las aplicaciones de IoT suelen interactuar con hardware especializado, como sensores, convertidores analógicos a digitales y dispositivos LCD. Las bibliotecas .NET IoT habilitan estos escenarios.
Bibliotecas
Las bibliotecas .NET IoT se componen de dos paquetes NuGet:
System.Device.Gpio
System.Device.Gpio
admite varios protocolos para interactuar con marcas de hardware de bajo nivel para controlar los dispositivos. Entre ellos, se incluye:
- E/S de uso general (GPIO)
- Circuito interintegrado (I2C)
- Interfaz de periféricos en serie (SPI)
- Modulación de ancho de pulso (PWM)
- Puerto serie
Iot.Device.Bindings
El paquete Iot.Device.Bindings
:
- Contiene enlaces de dispositivos para simplificar el desarrollo de aplicaciones mediante el ajuste de System.Device.Gpio.
- Es compatible con la comunidad, y se agregan enlaces adicionales continuamente.
La lista completa de enlaces de dispositivos disponibles se mantiene en GitHub.
Entre los enlaces de dispositivo usados habitualmente se incluyen los siguientes:
- CharacterLcd: pantalla LCD de caracteres
- SN74HC595: registro de desplazamiento de 8 bits
- BrickPi3
- Max7219: controlador de matrices de LED
- RGBLedMatrix: matriz LED RGB
Sistemas operativos admitidos
System.Device.Gpio
es compatible con cualquier sistema operativo que admita .NET, incluidas la mayoría de las versiones de Linux que admiten ARM/ARM64 y Windows 10 IoT Core.
Sugerencia
Para Raspberry Pi, se recomienda Raspberry Pi OS (64 bits). No se requiere escritorio, por lo que se puede usar Raspberry Pi OS Lite para reducir el tamaño del sistema operativo.
Plataformas de hardware compatibles
System.Device.Gpio
es compatible con la mayoría de las plataformas de un solo panel. Las plataformas recomendadas son Raspberry Pi (2 y posterior) y Hummingboard. Otras plataformas que se sabe que son compatibles son BeagleBoard y ODROID.
Los equipos Windows, macOS y Linux se admiten mediante el uso de un puente USB a SPI/I2C.
Importante
.NET no es compatible con los dispositivos anteriores a ARMv7, incluidos los dispositivos Raspberry Pi Zero y Raspberry Pi anteriores a Raspberry Pi 2.