Condividi tramite


Sviluppare app per dispositivi IoT con le librerie IoT .NET

.NET viene eseguito su diverse piattaforme e architetture. Sono supportate schede IoT (Common Internet of Things), 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.

Libraries

Le librerie IoT .NET sono composte da due pacchetti NuGet:

System.Device.Gpio

System.Device.Gpio supporta vari protocolli per interagire con i pin hardware di basso livello per controllare i dispositivi. Questi includono:

  • I/O per utilizzo generico (GPIO)
  • Circuito Inter-Integrato (I²C)
  • Interfaccia periferica seriale (SPI)
  • Modulazione a Larghezza di Impulso (PWM)
  • Porta seriale

Iot.Device.Bindings

Pacchetto Iot.Device.Bindings :

  • Contiene associazioni di dispositivi per semplificare lo sviluppo di app eseguendo il wrapping di System.Device.Gpio.
  • È supportato dalla community e vengono continuamente aggiunte interfacce aggiuntive.

L'elenco completo delle associazioni di dispositivi disponibili viene gestito in GitHub.

Alcune associazioni di dispositivi comunemente usate includono:

Una parola sui thread

Per impostazione predefinita, gli oggetti in queste librerie non sono thread-safe. Ciò significa che l'accesso a un oggetto deve essere da un solo thread alla volta. Quando si usano le librerie, è necessario tenere presente che spesso eseguono altri thread internamente per operazioni come il monitoraggio dell'hardware e la generazione di eventi. Se si sottoscrive un evento, viene generato da un thread diverso. È responsabilità dell'utente controllare l'accesso thread all'oggetto.

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 usare Raspberry Pi OS (64 bit). Non è necessario alcun desktop, quindi Raspberry Pi OS Lite può essere usato per ridurre le dimensioni del sistema operativo.

GIF animata che mostra lo strumento Raspberry Pi Imager. L'utente seleziona

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 per essere compatibili sono BeagleBoard e ODROID.

I computer e i PC con Windows, macOS e Linux sono supportati tramite l’uso di un bridge da USB a SPI/I²C.

Importante

.NET non è supportato nei dispositivi prima di ARMv7, inclusi i dispositivi Raspberry Pi Zero e Raspberry Pi prima di Raspberry Pi 2.

Risorse