raspberryio  by unosquare

.NET API for Raspberry Pi hardware access (THIS REPO HAS BEEN ARCHIVED)

created 8 years ago
676 stars

Top 51.0% on sourcepulse

GitHubView on GitHub
Project Summary

This project provides a .NET API for accessing Raspberry Pi hardware, targeting .NET/Mono developers who want to use C# for embedded projects. It offers a unified interface for GPIO, SPI, I2C, camera, and system information, simplifying hardware interaction.

How It Works

RaspberryIO acts as an abstraction layer over underlying hardware access libraries, primarily WiringPi. This design allows for flexibility, with plans to support other backends like PiGpio. It exposes hardware features through distinct modules (e.g., Pi.Gpio, Pi.Camera), providing a consistent and object-oriented way to interact with peripherals.

Quick Start & Requirements

  • Install via NuGet: Install-Package Unosquare.Raspberry.IO
  • For .NET Core 3.1 on Raspberry Pi, specific SDK/runtime installation steps are provided.
  • Requires Raspberry Pi hardware.
  • Official documentation and examples are available within the repository.

Highlighted Details

  • Supports GPIO, SPI, I2C, PWM (hardware and software), tone generation, and interrupts.
  • Includes modules for camera control (image/video capture) and system information retrieval.
  • Offers support for various peripherals like DHT sensors, MFRC-522 RFID, and SSD-1306 OLED displays via the Unosquare.RaspberryIO.Peripherals package.
  • Provides utilities for timing and threading.

Maintenance & Community

The project is marked as archived, with a call for new maintainers at adoptoposs.org.

Licensing & Compatibility

The specific license is not explicitly stated in the README, but the project is open-source. Compatibility for commercial use would require clarification of the license.

Limitations & Caveats

The project is archived, indicating a lack of active maintenance and potential for unaddressed issues or lack of support for newer Raspberry Pi models or OS versions. The README mentions a breaking change in version >= 0.18.0 regarding the pinout numbering system (BCM vs. WiringPi).

Health Check
Last commit

3 years ago

Responsiveness

1 week

Pull Requests (30d)
0
Issues (30d)
0
Star History
1 stars in the last 90 days

Explore Similar Projects

Starred by Andrej Karpathy Andrej Karpathy(Founder of Eureka Labs; Formerly at Tesla, OpenAI; Author of CS 231n), Nat Friedman Nat Friedman(Former CEO of GitHub), and
32 more.

llama.cpp by ggml-org

0.4%
84k
C/C++ library for local LLM inference
created 2 years ago
updated 1 day ago
Feedback? Help us improve.