/iot

This repo includes .NET Core implementations for various IoT boards, chips, displays and PCBs.

Primary LanguageC#MIT LicenseMIT

Gitter Discord

.NET Core IoT Libraries

.NET Core can be used to build applications for IoT devices and scenarios. IoT applications typically interact with sensors, displays and input devices that require the use of GPIO pins, serial ports or similar hardware.

This repository contains the System.Device.Gpio library and implementations for various boards like Raspberry Pi and Hummingboard.

The repository also contains Iot.Device.Bindings, a growing set of community-maintained device bindings for IoT components.

NOTE: This repository is still in experimental stage and all APIs are subject to changes.

.NET Core Versions

Whilst most of the device binding projects target .NET Core 2.1 for backward compatibility, the sample projects target the latest stable .NET Core. This applies to the sample projects with each device as well as the example projects on the /samples directory.

How to Install

You can install the latest daily pre-release build of the .NET Core System.Device.Gpio and Iot.Device.Bindings NuGet packages from the blob feed.

NuGet.exe

nuget install System.Device.Gpio -PreRelease -Source https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5/nuget/v3/index.json
nuget install Iot.Device.Bindings -PreRelease -Source https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5/nuget/v3/index.json

Official Build Status

Build Status

.NET CLI

dotnet add package System.Device.Gpio --source https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5/nuget/v3/index.json
dotnet add package Iot.Device.Bindings --source https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5/nuget/v3/index.json

Contributing

For information on how to build this repository and to add new device bindings, please head out to Contributing.

Please contribute. We are primarily interested in the following:

  • Improving quality and capability of the drivers for supported boards.
  • Implementations for additional boards.
  • .NET device bindings for a wide variety of sensors, chips, displays and other components.
  • Request a device binding or protocol that you need for your project (file an issue).
  • Links to blog posts or tweets that showcase .NET Core being used for great IoT scenarios (file an issue).

Getting Started

After installing, please see the following areas to learn more:

  • .NET IoT 101 (Jan 2020) - An introduction series on how to create .NET IoT applications with a Raspberry Pi.
  • Documentation - Resources related to electronics, devices, vendors, software and other IoT topics.
  • Samples - Step-by-step instructions on building your first app.
  • Roadmap - Areas planned or currently being worked on.

Tutorials

Community

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information, see the .NET Foundation Code of Conduct.

License

.NET Core (including the iot repo) is licensed under the MIT license.