📌 De un vistazo: desarrollo .NET moderno en Raspberry Pi
| Hardware de destino | Raspberry Pi 3B+, 4B, 5 o Pi Zero 2 W (ARM32 / ARM64) |
|---|---|
| Marco de software | .NET 8 / .NET 9 LTS (tiempos de ejecución ARM de Linux) |
| Sistema operativo | Sistema operativo Raspberry Pi (se recomienda Debian Bookworm de 64 bits) |
| Opciones de implementación | Dependiente del marco o autónomo (salida de archivo único) |
| Acceso al hardware | System.Device.Gpio y bibliotecas I2C/SPI |
| Herramientas de desarrollo | Depuración remota SSH con Visual Studio 2022/VS Code |
Con Microsoft haciendo que la plataforma .NET sea totalmente de código abierto y multiplataforma, ejecutar el potente lenguaje C# y las modernas bibliotecas .NET en Raspberry Pi se ha vuelto extremadamente fácil y de alto rendimiento.En esta guía paso a paso, cubrimos todo el proceso desde la instalación hasta la administración de GPIO.
Introducción: El poder de .NET en IoT y Edge Computing
Con los días del antiguo Windows IoT Core atrás, el .NET moderno (Core, 6, 7, 8 y posteriores) puede ejecutarse directamente en distribuciones estándar de Linux con rendimiento nativo.Los desarrolladores de C# ahora pueden transferir directamente las características del lenguaje moderno que conocen (async/await, LINQ, coincidencia de patrones) a proyectos de sistemas integrados [1].
1. Instalación de .NET Runtime en Raspberry Pi
El método de instalación más práctico es utilizar el script de instalación oficial de Microsoft.Ejecute estos comandos en la terminal Raspberry Pi:
# 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. Compilación e implementación de la aplicación en Pi
Si desea ejecutar la aplicación que preparó en su computadora de desarrollo (Windows o macOS) en Raspberry Pi sin instalar un tiempo de ejecución adicional, puede compilarla como “autónoma” [2]:
dotnet publish -c Release -r linux-arm64 --self-contained true -p:PublishSingleFile=true
Puede transferir el archivo ejecutable único resultante al Pi con SCP o FileZilla y ejecutarlo directamente con el comando ./appname después de otorgar el permiso chmod +x appname.
3. Interferir con los pines GPIO con C#
Gracias al paquete oficial NuGet System.Device.Gpio, el parpadeo del LED, el control del relé o la lectura del sensor se pueden lograr con solo unas pocas líneas de código C#:
using System.Device.Gpio;
int pin = 18;
using var controller = new GpioController();
controller.OpenPin(pin, PinMode.Output);
controller.Write(pin, PinValue.High); // LED yandı!
Fuentes y referencias independientes
[1] Microsoft Learn: Documentación y documentación de bibliotecas IoT de .NET.Programación de hardware
[2] Fundación Raspberry Pi: Documentación y documentación del sistema operativo Raspberry Pi.Arquitectura Linux ARM64