.NET CoreでC#のプログラムをラズパイ3で動かす

  • LINEで送る

はじめに

以前作成したC#のプログラムをLinux(Raspbian)で動かしたいと思い、C++にでも移植しなきゃと思っていました。MonoとかXamarinとかC#のプログラムをLinuxで動作させる環境があるのは知ってはいましたが、なんとなく面倒な感じがして試していませんでした。そんななか、Microsoft社から.Net Core SDK 2.0なるものが正式リリースされ、それを利用することで、C#のプログラムをLinuxで動作させることが簡単にできそうということが判明したので、試してみました。

  • Windowsへの.NET Core SDKのインストール
  • プロジェクトの作成
  • Linux向けのビルド
  • Raspberry Pi3への.NET Core SDKのインストール
  • 実行ファイルのコピー

準備するもの

  • PC(Windows 10)
  • Raspberry Pi 3 (Raspbian)

現時点では、Raspberry Pi3でのセルフコンパイルはできない様子なので、WindowsにSDKをインストールし、クロスコンパイル(WindowsでRaspberry Pi3用の実行ファイルを作成)します。Raspberry Pi3側には実行環境のみインストールします。

Windowsへの.NET Core SDKのインストール

Windowsへの.NET Core SDKのインストールは非常に簡単で、Microsoft社のダウンロードサイトから.NET Core SDKインストーラをダウンロードして、実行するだけでインストールできます。今回は64ビット版のSDKをWindows10のPCにインストールしました。

プロジェクトの作成

.NET Core SDKでは、プロジェクトのひな型を作成するコマンドが準備されています。
.NET Core SDKのインストール後、Windowsのコマンドプロンプトから下記のように実行すると、プロジェクトのひな型が作成されます。

> dotnet new console -o hwapp
> cd hwapp

console は作成するアプリケーションの種類を示します。
hwapp はプロジェクトの名前です。hwappディレクトリが作成されます。

下記で作成したプログラムを実行できます。

> dotnet run

Raspberry Pi3向けのビルド

現時点では、Raspberry Pi3でのセルフコンパイルはできない様子なので、上記のhwappディレクトリで下記を実行し、クロスコンパイルします。

> dotnet publish -r linux-arm

上記操作にて、 hwapp\bin\Debug\netcoreapp2.0\linux-arm\publish\ フォルダにRaspberry Pi3用の実行ファイル群が生成されます。このフォルダに格納されている全てのファイルを、後でRaspberry Pi3に転送します。

Raspberry Pi3への.NET Coreのインストール

Linux(Debian)への.NET Core SDKのインストールの指示に従って、Raspberry Pi3へ.NET Core SDKをインストールします。

~$ sudo apt-get update
~$ sudo apt-get install curl libunwind8 gettext apt-transport-https
~$ curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
~$ sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
~$ sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-debian-jessie-prod jessie main" > /etc/apt/sources.list.d/dotnetdev.list'
~$ sudo apt-get install dotnet-sdk-2.0.0

実行ファイルのコピー

hwapp\bin\Debug\netcoreapp2.0\linux-arm\publish\ フォルダに存在するファイルをすべて、Raspbeery Pi3の任意のフォルダに転送します。
手段は問いません。今回はWinSCPというソフトで転送しました。

実行

上記実行ファイルを転送した任意のフォルダに、カレントフォルダを移動して、下記を実行します。
実行権限がない場合は、付与してください

~$ ./hwapp

コンソールにHello World!と表示されます。

参考サイト

  1. Microsoft Download .NET Core
  • LINEで送る

SNSでもご購読できます。

コメントを残す

*