Javascript External Library

2021-09-18

Raspberry Pi で .NET アプリを動かす

お仕事はWindows系でVisual Studioを使っているので、マイコンボードを扱うのも似たような環境が良いなと思ってました。
Windows IoT Coreがあったのですが、Rasberry Pi 3では割ともっさりした感じでした。
Rasberry Pi 4がでたので改めて触ってみようかと思ってましたが、今度はWindows IoT Coreが更新されなくなっているという。ままならない。
諦めてAndroid OS入れてみようかと思ってましたが、Rasberry Pi OSでも .NET 動くようになったよという情報が入ってきました。試してみよう。

Rasberry Pi 公式ページからOS Imagerをダウンロードする。

Imager画面
イメージャーは左から順にポチっていくだけです。
OS選択が事実上の操作内容選択になっていて、SDカードの消去もここにあるのが注意です。

周辺機器をつないで起動
書き込みを行ったSDカードを挿入して起動します。初期設定が必要なのでタッチモニタとキーボードを繋ぐ。
起動時にそこそこの消費電力があるので安定的に5Vの給電が必要です。USBの給電規格が4.75V以上なので、ギリギリしか供給しない充電器だと瞬間的に4.75Vを割り込んで安定的に動作しません。手元のUSB充電器だとAnker製は駄目でした。Elecom製は余裕でした。

Raspberryの初期ユーザーは「pi」で固定で、起動時にパスワード要求しない設定です。たぶん、IoT動作を考えてこのような感じになっているのだと思いますが、支那人などに下駄にされる危険性もあるので「pi」ユーザーを削除したり起動オプションを変更します。

アプリの開発はデスクトップPCで行うのでSSHの初期設定とサービス起動を行います。
以降はSSHでリモートコントロールするので周辺機器は不要になります。
SSHといえば公開鍵認証ですが、Visual StudioのリモートデバッガのSSHは公開鍵認証が通らない。(機能はあるのに)そのため、開発中はパスワード認証を有効にしておきます。

SSHでRaspberryに接続して.NETをインストールします。
インストールは https://docs.microsoft.com/ja-jp/dotnet/iot/deployment の通りに実行すればOKです。最新の.NETがインストールされます。
インストールして環境変数でPATHを指定したら、どのフォルダでも dotnet が実行できるようになります。作成したアプリを実行するには dotnet コマンドでパラメータに .dll のファイル名を指定します。

デバッグはVisual StudioからSSH接続でアタッチします。
Visual Studio から アタッチしてデバッグ
dotnetから実行するので、プロセス名がdotnetになります。

これで開発した.NETアプリをRaspberryで実行できます。

0 件のコメント:

コメントを投稿