Raspberry Pi 4(또는 3 B+에서) .NET 5로 개발 관련 나눔

이곳에 방문하시는 분들 중,

  • Raspberry Pi에 관심이 있거나
  • Raspberry Pi에서 .NET으로 개발하는것에 관심이 있거나
  • 현업에서 어떻게 사용하는지를 궁금해하는 분 포함해서

아래 댓글로 나눔을 가지면 어떨까 합니다

4개의 좋아요

먼저, Raspberry Pi 4 지원 Raspberry Pi OS 릴리즈는 32bit OS입니다. 64bit OS는 현재 베타 버젼으로 아래의 경로로 다운로드 받을 수 있습니다.

here (raspberrypi.org)

써본 바로는 OS 자체의 안정성은 확인하지 않아 모르겠으나, 개발관련된 문제점은 없었습니다.

64bit OS여야 .NET 5 ARM64 최적화의 혜택을 받을 수 있습니다.

Raspberry Pi OS에 dotnet을 설치하는 방법은 간단합니다.

  • wget https://dot.net/v1/dotnet-install.sh로 설치 스크립트를 다운로드 한 후
  • chmod +x ./dotnet-install.sh로 실행권한을 줘서
  • sudo ./dotnet-install.sh --version 5.0.100 --install-dir /usr/share/dotnet`으로 설치,
  • sudo ln -s /usr/share/dotnet/dotnet /usr/local/bin/dotnet으로 링크를 걸면,
    ※ 저는 /usr/share에 설치하는것을 선호합니다.

.NET 5 실행 환경이 구성됩니다.

Install Raspberry 64 OS - Q-engineering
관련 글 링크

다음 글 부터 라즈베리파이에서 딥러닝을 수행하는 실질적이고 유용한 컨텐츠가 나옵니다. 오른쪽 하단 화살표를 누르세요

개발용으로 구입 할 경우 케이스와 보드 정도의 제품을 구입하면 좋습니다.

라즈베리파이4 4G메모리 모델로, 다음을 추천합니다
올해 8G 모델이 나왔긴 하지만

라즈베리파이 모델 중 상위 모델에 해당 합니다
마이크로 SD의 경우 별도 구매하시는게 쌉니다. 삼성 32G 또는 64G를 구입하시면 됩니다
마이크로SD, HDMI가 포함된 킷 형태의 것은 추천하지 않습니다

특별한 경우를 제외하곤 펜을 달지 않아도 됩니다.

특히 이런 종류의 알루미늄 냉각 케이스만 달고 펜은 구동시키지 않아도 충분히 잘 돌아가고, 딥러닝 등 오버클럭킹을 해야 할 경우 펜을 구동시키면 좋습니다

(해외배송으로 예상배송일을 살펴야 합니다)

구성 후 Console 프로젝트 생성 및 실행

Raspberry Pi 4에 Visual Studio Code를 설치하는 가장 간단한 방법

How to install Visual Studio Code on a Raspberry Pi 4 in minutes - Scott Hanselman’s Blog

OmmiSharp가 아직 linux aarch64를 지원하지 않나 보네요.

image

Raspberry Pi OS를 설치하면 ~/Bookshelf에 Raspberry Pi Begginner’s Guide가 있습니다. 처음 Raspberry Pi를 접한 분들에게 도움이 되는 알찬 내용이 있으니 참고하면 좋습니다.

Raspberry Pi에 Blazor로 서비스를 호스팅 할 수 있습니다.
blazorserver 템플릿을 이용해 다음과 같이 쉽게 가능 합니다.

mkdir blazorserver
cd blazorserver
dotnet new blazorserver
dotnet run

이후 웹 브라우저를 통해 https://localhost:5001 접속하여 확인할 수 있습니다.

image

Raspberry Pi에 UI 어플리케이션을 .NET으로 개발하는 것은 과거에는 선택지가 많지 않았습니다. 저는 Windows 개발 환경과 Raspberry Pi OS(구 Raspbian)에서의 구동 환경에서 개발 환경 그대로 구동 환경에 적용하고 싶었기 때문에, Eto.Forms라는 cross platform UI framework을 사용했었습니다.

GitHub - picoe/Eto: Cross platform GUI framework for desktop and mobile applications in .NET

이제 전보다 다양한 선택지가 생겼습니다.

아래의 프레임워크를 사용하면 윈도우즈 및 라즈베리파이에 모두 변경없이 UI 어플리케이션을 개발할 수 있습니다.