📌 Auf einen Blick: Moderne .NET-Entwicklung auf Raspberry Pi
| Zielhardware | Raspberry Pi 3B+, 4B, 5 oder Pi Zero 2 W (ARM32 / ARM64) |
|---|---|
| Software-Framework | .NET 8 / .NET 9 LTS (Linux ARM Runtimes) |
| Betriebssystem | Raspberry Pi OS (64-Bit-Debian Bookworm empfohlen) |
| Bereitstellungsoptionen | Framework-abhängig oder eigenständig (Einzeldateiausgabe) |
| Hardware-Zugriff | System.Device.Gpio und I2C/SPI-Bibliotheken |
| Entwicklungstools | SSH-Remote-Debug mit Visual Studio 2022 / VS Code |
Da Microsoft die .NET-Plattform vollständig Open Source und plattformübergreifend macht, ist die Ausführung der leistungsstarken C#-Sprache und der modernen .NET-Bibliotheken auf dem Raspberry Pi extrem einfach und leistungsstark geworden.In dieser Schritt-für-Schritt-Anleitung decken wir den gesamten Prozess von der Installation bis zur GPIO-Verwaltung ab.
Einführung: Die Leistungsfähigkeit von .NET im IoT und Edge Computing
Nachdem die Tage des alten Windows IoT Core hinter uns liegen, kann modernes .NET (Core, 6, 7, 8 und höher) direkt auf Standard-Linux-Distributionen mit nativer Leistung ausgeführt werden.C#-Entwickler können nun die ihnen bekannten modernen Sprachfunktionen (async/await, LINQ, Pattern Matching) direkt auf eingebettete Systemprojekte übertragen [1].
1. .NET Runtime auf Raspberry Pi installieren
Die praktischste Installationsmethode ist die Verwendung des offiziellen Installationsskripts von Microsoft.Führen Sie diese Befehle im Raspberry Pi-Terminal aus:
# Kurulum betiğini indirme ve .NET 8 LTS kurma
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel 8.0 --runtime dotnet
# Ortam değişkenlerini kalıcı hale getirme
echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc
echo 'export PATH=$PATH:$HOME/.dotnet' >> ~/.bashrc
source ~/.bashrc
# Kurulumu doğrulama
dotnet --info
2. Kompilieren und Bereitstellen der App auf dem Pi
Wenn Sie die von Ihnen auf Ihrem Entwicklerrechner (Windows oder macOS) vorbereitete Anwendung auf dem Raspberry Pi ausführen möchten, ohne eine zusätzliche Laufzeit zu installieren, können Sie diese als „Self-contained“ kompilieren [2]:
dotnet publish -c Release -r linux-arm64 --self-contained true -p:PublishSingleFile=true
Sie können die resultierende einzelne ausführbare Datei mit SCP oder FileZilla auf den Pi übertragen und sie direkt mit dem Befehl ./appname ausführen, nachdem Sie die Berechtigung chmod +x appname erteilt haben.
3. Beeinträchtigung der GPIO-Pins mit C#
Dank des offiziellen NuGet-Pakets System.Device.Gpio können LED-Blinken, Relaissteuerung oder Sensorablesung mit nur wenigen Zeilen C#-Code durchgeführt werden:
using System.Device.Gpio;
int pin = 18;
using var controller = new GpioController();
controller.OpenPin(pin, PinMode.Output);
controller.Write(pin, PinValue.High); // LED yandı!
Unabhängige Quellen und Referenzen
[1] Microsoft Learn: .NET IoT Libraries Documentation &Hardware-Programmierung
[2] Raspberry Pi Foundation: Raspberry Pi OS-Dokumentation &ARM64 Linux-Architektur