Introducción
Por diversas circunstancias, llevo un tiempito trasteando con cachivaches varios como Raspberry Pi, ESP-32 y algunos de sus complementos, y me he dado cuenta de que, o voy escribiendo algunas cosas, o difícilmente voy a acordarme de todo cuando lo necesite de verdad.
El propósito de este post y sus continuaciones, (aún no tengo claro cuanto va a durar la serie, unos 3 o 4 posts), es documentar la configuración de Visual Studio Code para desarrollar con .NET Core contra una Raspberry Pi (3 model B+), depurando la ejecución en remoto contra el propio dispositivo RPi, y ya de paso probar las librerías dotnet/IoT:
En concreto, en este artículo me voy a ocupar de la instalación de .NET Core en el mini PC sobre el sistema operativo raspbian, algo que no es del todo trivial...
Hardware
Para toda la serie de posts, este va a ser el hardware utilizado:
- Un equipo en el que se pueda trabajar cómodamente con Visual Studio Code. Yo lo he probado con Windows y Linux, pero sospecho que con Mac también debería funcionar
- Raspberry Pi 3 Model B+, con el SO raspbian (yo lo suelo instalar con noobs)
- Pimoroni Explorer HAT Pro: Esto no es necesario para la demo en sí de depuración remota, pero ya lo tenía por casa y simplifica algunas cosillas para informáticos con nulos conocimientos en electrónica como yo, a la hora de jugar con leds, motores, sensores, etc...
Instalación del SDK de .NET Core en la Raspberry Pi
He extraído los pasos de este post de Scott Hanselman, así que los recopilo y ordeno a continuación:
-
Instalar en la Raspberry Pi algunos paquetes necesarios (requisitos previos, una sola vez), desde la línea de comandos
sudo apt-get install curl libunwind8 gettext
-
Ahora vamos a obtener los binarios necesarios para instalar .NET sobre raspbian. Desde cualquier navegador de internet, navegar a la siguiente URL: https://dotnet.microsoft.com/download/dotnet-core/2.2
- Observa que puedes trabajar con versiones anteriores (o futuras) de .NET Core tan solo modificando la parte final de la URL (/2.1, /2.0...)
Accede a los links de descarga de los binarios para ARM32 para linux del SDK y del runtime de ASP.NET Core (este último no es necesario si no vas a desarrollar aplicaciones WEB/WEB API), de la versión específica que quieras instalar...
Para cada uno de ellos, aterrizarás en una página como esta, en la que debes copiar el enlace con el texto "click here to download manually"
-
Descarga los dos ficheros comprimidos en la raspberry pi
wget https://download.visualstudio.microsoft.com/download/pr/3cb1d917-19cc-4399-9a53-03bb5de223f6/be3e011601610d9fe0a4f6b1962378ea/dotnet-sdk-2.2.401-linux-arm.tar.gz wget https://download.visualstudio.microsoft.com/download/pr/13798f38-c14e-4944-83c9-4f5b7c535f4d/1e1c3414f3ad791098d1f654640f9bcf/aspnetcore-runtime-2.2.6-linux-arm.tar.gz
-
Descomprime los dos ficheros en el directorio dotnet del directorio HOME. Fíjate bien en las versiones si no has bajado las mismas que yo. Configura también las variables necesarias para que el SO encuentre los binarios de .NET (DOTNET_ROOT y PATH).
mkdir -p $HOME/dotnet tar zxf dotnet-sdk-2.2.401-linux-arm.tar.gz -C $HOME/dotnet tar zxf aspnetcore-runtime-2.2.6-linux-arm.tar.gz -C $HOME/dotnet export DOTNET_ROOT=$HOME/dotnet export PATH=$PATH:$HOME/dotnet
-
Ya debería estar instalado y preparado .NET Core en la Raspberry Pi. Compruébalo ejecutando el comando
dotnet --info
(nótese que tengo instaladas las versiones 2.2 y 2.1 tanto del SDK como del runtime de ASP.NET Core):
pi@harlequin:~ $ dotnet --info .NET Core SDK (reflecting any global.json): Version: 2.2.401 Commit: 729b316c13 Runtime Environment: OS Name: raspbian OS Version: 9 OS Platform: Linux RID: linux-arm Base Path: /home/pi/dotnet/sdk/2.2.401/ Host (useful for support): Version: 2.2.6 Commit: 7dac9b1b51 .NET Core SDKs installed: 2.1.801 [/home/pi/dotnet/sdk] 2.2.401 [/home/pi/dotnet/sdk] .NET Core runtimes installed: Microsoft.AspNetCore.All 2.1.12 [/home/pi/dotnet/shared/Microsoft.AspNetCore.All] Microsoft.AspNetCore.All 2.2.6 [/home/pi/dotnet/shared/Microsoft.AspNetCore.All] Microsoft.AspNetCore.App 2.1.12 [/home/pi/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 2.2.6 [/home/pi/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.NETCore.App 2.1.12 [/home/pi/dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 2.2.6 [/home/pi/dotnet/shared/Microsoft.NETCore.App] To install additional .NET Core runtimes or SDKs: https://aka.ms/dotnet-download
En el próximo post, veremos como preparar y compilar cómodamente en un PC una aplicación de consola de .NET Core y desplegarla en la Raspberry Pi.
Top comments (0)