Sviluppare app per dispositivi IoT con le librerie IoT .NET
.NET viene eseguito su diverse piattaforme e architetture. Sono supportate schede IoT comuni, ad esempio Raspberry Pi e Hummingboard. Le app IoT interagiscono in genere con hardware specializzato, ad esempio sensori, convertitori analogici-digitali e dispositivi LCD. Le librerie IoT .NET consentono questi scenari.
Librerie
Le librerie IoT .NET sono composte da due pacchetti NuGet:
System.Device.Gpio
System.Device.Gpio
supporta diversi protocolli per interagire con pin hardware di basso livello per controllare i dispositivi. tra cui:
- GPIO (I/O per utilizzo generico)
- I2C (Inter-Integrated Circuit)
- SPI (Serial Peripheral Interface)
- PWM (Pulse Width Modulation)
- Porta seriale
Iot.Device.Bindings
Il pacchetto Iot.Device.Bindings
:
- Contiene binding di dispositivi per semplificare lo sviluppo di app eseguendo il wrapping di System.Device.Gpio.
- È supportato dalla community e vengono aggiunte continuamente altre associazioni.
L'elenco completo delle associazioni di dispositivi disponibili viene gestito in GitHub.
Alcune associazioni di dispositivi comunemente usate includono:
- CharacterLcd - Display dei caratteri LCD
- SN74HC595 - Registro di spostamento a 8 bit
- BrickPi3
- Max7219 - Driver matrice LED
- RGBLedMatrix - Matrice LED RGB
Sistemi operativi supportati
System.Device.Gpio
è supportato in qualsiasi sistema operativo che supporta .NET, inclusa la maggior parte delle versioni di Linux che supportano ARM/ARM64 e Windows 10 IoT Core.
Suggerimento
Per Raspberry Pi, è consigliabile Raspberry Pi OS (64 bit). Non è necessario alcun desktop, quindi Raspberry Pi OS Lite può essere usato per ridurre le dimensioni del sistema operativo.
Piattaforme hardware supportate
System.Device.Gpio
è compatibile con la maggior parte delle piattaforme a scheda singola. Le piattaforme consigliate sono Raspberry Pi (2 e versioni successive) e Hummingboard. Altre piattaforme note come compatibili sono BeagleBoard e ODROID.
I computer e i PC Windows, macOS e Linux sono supportati tramite l'uso di un bridge da USB a SPI/I2C.
Importante
.NET non è supportato nei dispositivi precedenti ad ARMv7, inclusi i dispositivi Raspberry Pi Zero e Raspberry Pi prima di Raspberry Pi 2.