Partager via


Développer des applications pour les appareils IoT avec les bibliothèques IoT .NET

.NET s’exécute sur différentes plateformes et architectures. Les cartes pour l'Internet des objets courantes (IoT), telles que Raspberry Pi et Hummingboard, sont prises en charge. Les applications IoT interagissent généralement avec du matériel spécialisé, comme des capteurs, des convertisseurs analogiques à numérique et des appareils LCD. Les bibliothèques IoT .NET permettent ces scénarios.

Libraries

Les bibliothèques IoT .NET sont composées de deux packages NuGet :

System.Device.Gpio

System.Device.Gpio prend en charge divers protocoles pour interagir avec des broches matérielles à faible niveau afin de contrôler les dispositifs. Voici quelques-uns des éléments suivants :

  • GPIO (E/S universelle)
  • Circuit Inter-Intégré (I2C)
  • Interface périphérique série (SPI)
  • Modulation de largeur d'impulsion (MLI)
  • Port série

Iot.Device.Bindings

Le Iot.Device.Bindings paquet :

  • Contient des liaisons d’appareil pour simplifier le développement d’applications en encapsulant System.Device.Gpio.
  • Est soutenu par la communauté et des liaisons supplémentaires sont ajoutées de façon continue.

La liste complète des liaisons d’appareil disponibles est conservée sur GitHub.

Voici quelques liaisons d’appareil couramment utilisées :

Mot sur les threads

Par défaut, les objets de ces bibliothèques ne sont pas thread-safe. Cela signifie que l’accès à un objet ne doit être qu’à partir d’un seul thread à la fois. Lorsque vous utilisez les bibliothèques, vous devez savoir qu’elles exécutent souvent d’autres threads en interne pour des éléments tels que la surveillance du matériel et le déclenchement d’événements. Si vous vous abonnez à un événement, il est déclenché à partir d’un autre thread. Il vous incombe de contrôler l'accès de thread à l'objet.

Systèmes d'exploitation pris en charge

System.Device.Gpio est pris en charge sur n’importe quel système d’exploitation qui prend en charge .NET, y compris la plupart des versions de Linux qui prennent en charge ARM/ARM64 et Windows 10 IoT Core.

Conseil / Astuce

Pour Raspberry Pi, le système d’exploitation Raspberry Pi (64 bits) est recommandé. Aucun ordinateur de bureau n’est requis, de sorte que Raspberry Pi OS Lite peut être utilisé pour réduire la taille du système d’exploitation.

GIF animé montrant l’outil Raspberry Pi Imager. L’utilisateur sélectionne « RASPBERRY PI OS LITE (64 BITS) dans la liste des systèmes d’exploitation disponibles.

Plateformes matérielles prises en charge

System.Device.Gpio est compatible avec la plupart des plateformes à carte unique. Les plateformes recommandées sont Raspberry Pi (2 et plus) et Hummingboard. Les autres plateformes connues pour être compatibles sont BeagleBoard et ODROID.

Les ordinateurs et PC Windows, macOS et Linux sont pris en charge via l’utilisation d’un pont USB vers SPI/I2C.

Important

.NET n’est pas pris en charge sur les appareils antérieurs à ARMv7, notamment les appareils Raspberry Pi Zero et Raspberry Pi avant Raspberry Pi 2.

Ressources