.NET Core On Rasbian
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-戻る
--[[.NET Core]]
--[[.NET On Rasbian]]
---[[Mono On Rasbian]]
---.NET Core On Rasbian
* 目次 [#d0f75f1f]
#contents
*概要 [#pac9bc54]
[[...>.NET On Rasbian#ic19f60e]]と言う事で、以下、[[Rasbi...
*詳細 [#l8d2dc69]
**手順 [#k2e63f5b]
実際にやったログ
***準備 [#ga413351]
[[コチラ(Windows 10 IoT Core)>Windows 10 IoT Core#a112e...
***インストール [#p4010f98]
以下を参考に、Raspberry Pi 3 MODEL Bに[[Rasbian>https://d...
-Rasbianをインストールする。
-Raspbianに[[Docker>コンテナ技術#la264095]]&[[Git]]をイ...
--アカウント系は開発環境でのみ設定。
--本番環境ではアカウントなしでPullするのみ。
>※ [[参考:インストール手順>#dc540116]](確か、NOOBSでイ...
***.NET Core [#l4643021]
以下を参考に、.NET 5をインストール。
-手順
--インストール~
([[Rasbian>https://dotnetdevelopmentinfrastructure.ossco...
---ダウンロード
wget https://download.visualstudio.microsoft.com/downloa...
---解凍
mkdir -p "$HOME/dotnet" && tar zxf dotnet-sdk-5.0.202-li...
--環境変数を設定
---[[~/.profile>https://dotnetdevelopmentinfrastructure.o...
---vi生の利用はハードモードなので、~
ターミナルの機能のサポートがある~
[[VNCではなく、SSH経由での利用がイイ>https://dotnetdevelo...
sudo vi ~/.profile
---最下行に追加
export DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH:$DOTNET_ROOT
--動作確認
---バージョン確認
$ dotnet -v
Unknown option: -v
.NET SDK (5.0.202)
使用法: dotnet [runtime-options] [path-to-application] [...
...
---開発実行確認
$ dotnet new console -o helloworld
cd helloworld
dotnet run
-参考
--【C#】RaspberryPi 3に.NET Coreを入れてHello World!~
https://qiita.com/logikuma/items/de8c987dc2308a96256d
--Raspberry Pi 4 に .NET 5 SDK をインストールする - matsu...
https://qiita.com/logikuma/items/de8c987dc2308a96256d
--Microsoft Docs
---Debian に .NET をインストールする - .NET~
https://docs.microsoft.com/ja-jp/dotnet/core/install/linu...
---Ubuntu に .NET をインストールする - .NET~
https://docs.microsoft.com/ja-jp/dotnet/core/install/linu...
***On Docker [#ud09ed44]
(.NET Core On Docker On Rasbian)~
Rasbian上の.NET CoreのDockerコンテナで、helloworldをやっ...
-以下、試行錯誤の上に解ったこと。~
dotnet/dotnet-dockerをそのまま使用して動作確認をすると、~
Dockerfile.debian-arm32がRasbian上で動作したので切り分け...
--先ず、正規の、.NET 用の Dockerfileを探す。~
https://github.com/dotnet/dotnet-docker/blob/main/samples...
--CPUアーキテクチャ、OS毎に異なるDockerfileを使用する。
---ARM32/64イメージをx64マシンでビルド出来るが、実行は出...
---[[Raspberry Pi 3はarm64だが、Raspbian上では、armv7互換...
--*.csprojファイルやDockerfileがあるフォルダに、~
binやobjフォルダがあると原因不明のエラーが発生するので、~
コレ等のフォルダを削除してから作業を行う必要がある。
--以下、ビルド ~ プッシュ作業は、~
Windows上で実施(Rasbian上での作業は[[コチラ>#xabae93e]])
-.NET 5 用の Dockerfileで[[前述のhelloworld>#l4643021]]を...
https://github.com/dotnet/dotnet-docker/blob/main/samples...
--helloworldディレクトリに移動(CD)し、
--初めに、binやobjフォルダを削除する。
--上記の、.NET用の Dockerfileを配置する。~
(この際、エントリポイントのプロジェクト名のみ書き直す。)
---変更前
dotnetapp
---変更後
helloworld
--以下の[[Dockerコマンド>https://dotnetdevelopmentinfrast...
docker build -t helloworld .
--ビルドしたコンテナを実行してみる。
---コンテナの確認
>docker images
REPOSITORY TAG IMAGE ID ...
helloworld latest XXXXXXXX ...
---コンテナの実行
docker run helloworld
Hello World!
-コンテナをDocker Hubにプッシュして、Rasbian上で実行して...
--Docker Hubにプッシュ
---リネーム
docker tag XXXXXXXX osscjpdevinfra/helloworld:latest
---ログイン
>docker login
Authenticating with existing credentials...
Login Succeeded
---プッシュ
>docker push osscjpdevinfra/helloworld:latest
--コンテナの実行
---PC上で実行~
・ローカルのイメージを消しておく。
>docker rmi XXXXXXXX -f
...
Deleted: sha256:...
・Docker HubからPullして実行。
>docker run osscjpdevinfra/helloworld:latest
Unable to find image 'osscjpdevinfra/helloworld:latest' ...
latest: Pulling from osscjpdevinfra/helloworld
...
Status: Downloaded newer image for osscjpdevinfra/hellow...
Hello World!
---Rasbian上で実行~
以下のように、exec format errorが起きる。~
(イメージは、linux/amd64だが、Rasbianはlinux/arm/v7と表...
$ docker run osscjpdevinfra/helloworld:latest
Unable to find image 'osscjpdevinfra/helloworld:latest' ...
latest: Pulling from osscjpdevinfra/helloworld
...
Status: Downloaded newer image for osscjpdevinfra/hellow...
WARNING: The requested image's platform (linux/amd64) do...
standard_init_linux.go:219: exec user process caused: ex...
-.NET 5 用の DockerfileをDockerfile.debian-arm32に変えて...
https://github.com/dotnet/dotnet-docker/blob/main/samples...
--PC上で実行~
動かない(イメージは、linux/armだが、PCはlinux/amd64と表...
>docker run osscjpdevinfra/helloworld:net50-debian-arm32
WARNING: The requested image's platform (linux/arm) does...
A fatal error occurred, the folder [/usr/share/dotnet/ho...
--Rasbian上で実行(Docker Hub経由)~
動いた(なお、debian-arm64だとPC上で動いて、Rasbian上で動...
$ docker run osscjpdevinfra/helloworld:net50-debian-arm32
Unable to find image 'osscjpdevinfra/helloworld:net50-de...
net50-debian-arm32: Pulling from osscjpdevinfra/helloworld
...
Digest: sha256:558763682161963dfc72879e17220ae62e0767b77...
Status: Downloaded newer image for osscjpdevinfra/hellow...
Hello World!
***Rasbian上でDockerビルド [#xabae93e]
-同様に、Dockerfile.debian-arm32を使用してDockerビルド
$ docker build -t helloworld:hoge .
...
Successfully tagged helloworld:hoge
-Rasbian上で実行(ローカル実行)
$ docker run helloworld:hoge
Hello World!
***[[Visual Studio Code]] [#fcd18b8e]
本格的な開発のため、[[Visual Studio Code]]環境を作ってみ...
-[[コチラにLinux上で構築した実績があるので>https://dotnet...
-が、ダメ。確かに、ARM32だしね。...と言う事で、ググると以...
--Raspberry Pi OS に Visual Studio Code をインストールす...
https://qiita.com/hikaru__m/items/09ac6b38a42e53074bbf
$ sudo apt update
$ sudo apt install code
-無事インストールできたので、~
[[前述のhelloworld>#l4643021]]をデバック実行できるように...
--SSHからではなく、デスクトップかVNCからアクセスする。
--helloworldフォルダを右クリックし、[[Visual Studio Code]...
--エクステンションから、[[CSharp for Visual Studio Code]]...
--ブレークポイントを設定して、[F5]実行を行ってみようと、~
[create a launch. json file]を押下したが、以下が出てダメ。
The C# extension for Visual Studio Code (powered by Omni...
---Feature request: support Linux ARM / ARM64~
Issue #2771 · OmniSharp/omnisharp-vscode~
https://github.com/OmniSharp/omnisharp-vscode/issues/2771
※ ...と言う事で、現時点の結論としては、[[OmniSharp]]のARM...
**オプション [#g267c0db]
***リモートデバッグ(通常) [#cd46001b]
-[[Visual Studio Codeのローカル・インストール>#fcd18b8e]]...
--[[Visual Studio Code]]ならlaunch.jsonを使う。
--[[Visual Studio]]なら、launch.jsonを使用せずに接続可能。
-[[Visual Studio]]での手順~
[[WSL上での.NET Core開発 > Visual Studioからデバッガをア...
--Rasbian上で、ConsoleAppをdotnet runしておく。~
(必要に応じて、Console.ReadKey等を仕込んでおく)
--上記を参考に、Windowsの[[Visual Studio]]からデバッガを...
--デバッグ対象ファイルを開いて、ブレークポイントを指定す...
--キーを押下し、Console.ReadKeyを通過させてブレークする。
--[[Visual Studio]]では、以下は不要だった。
---[[PuTTY]]のインストールや設定
---vsdbgのインストールや設定
---launch.jsonの作成
-[[Visual Studio Code]]での手順~
未検証([[PuTTY]]入れたりするのが大変なので...
-参考
--Raspberry Pi(Raspbian)上で動く~
.NET Core2.1アプリをリモートデバッグする - Qiita~
https://qiita.com/HiroyukiSakoh/items/ec947802dd2f69a38e8b
***リモートデバッグ(コンテナ) [#u4081ce6]
-SSHを仕込んだベースイメージを[[Dockerビルドして、Docker ...
-デバッグ対象のコンテナを[[Dockerビルドして、Docker Hubに...
-2222:22とマッピングしたSSHポートを使用してリモートデバッ...
-参考
--VisualStudio2017でリモートデバッグ - Qiita~
https://qiita.com/alicial/items/cec59bea773b8058e7ba
***GUIサポート [#m2256d86]
GUIに関しては、
-[[Mono On Rasbian]]を参照。
-最近は、[[Gtk Sharpの.NET Coreサポート>Gtk Sharp#t143947...
**実装 [#pca4ca96]
[[Windows 10 IoT Coreでの実装>Windows 10 IoT Core#m9b9f8b...
***[[Lチカを実装する。>Windows 10 IoT Core#g55fff11]] [#l...
-ライブラリの名前空間が違うので、コードも少々変わる。
using System;
using System.Device.Gpio;
using System.Threading;
namespace DotNet_LChika
{
class Program
{
static void Main(string[] args)
{
/// GpioPin #5は青色
/// GpioPin #6は白色
int pin = 6;
GpioController controller = new GpioControll...
controller.OpenPin(pin, PinMode.Output);
int lightTimeInMilliseconds = 1000;
int dimTimeInMilliseconds = 200;
while (true)
{
Console.WriteLine($"Light for {lightTime...
controller.Write(pin, PinValue.High);
Thread.Sleep(lightTimeInMilliseconds);
Console.WriteLine($"Dim for {dimTimeInMi...
controller.Write(pin, PinValue.Low);
Thread.Sleep(dimTimeInMilliseconds);
}
}
}
}
-[[Dockerビルドして、Docker Hubにプッシュする。>#ud09ed44]]
-Rasbian上でコンテナを実行([[Deviceアクセスを有効化して...
docker run --device /dev/gpiomem --privileged osscjpdevi...
>→ 無事、動作した。
-[[コンテナをリモート・デバッグ>#u4081ce6]]する場合
docker run -p 2222:22 --device /dev/gpiomem --privileged...
>→ 未検証...
***[[LCDに文字を表示する。>Windows 10 IoT Core#t5995e43]]...
→ 未検証だが、多分動く。
***[[センサーからデータを取得する。>Windows 10 IoT Core#j...
→ 未検証だが、多分動く。
**[[Windows 10 IoT Core]] [#f7a110ab]
*参考 [#ad06f3a5]
-詳説 .NET 5 のIoTサポート~
https://www.slideshare.net/TakashiMatsuoka2/net-5-iot
**Qiita [#q179f182]
-【C#】RaspberryPi 3に.NET Coreを入れてHello World!~
https://qiita.com/logikuma/items/de8c987dc2308a96256d
-Raspberry Pi(Raspbian)上で動く.NET Core2.1アプリをリモー...
https://qiita.com/HiroyukiSakoh/items/ec947802dd2f69a38e8b
-ASP.NET Core webアプケーションを公開する~
https://qiita.com/takmot/items/ce3b6780e4e58c17d1a4
-Raspberry Pi C#でLチカ~
https://qiita.com/tana_/items/f24c861827179811f912
-C#でもIoTできるんだって!!~
RaspberryPiとC#使ってラジコン?的なの作る。~
https://qiita.com/Earthfreedom/items/1fd4194ccff4166782c9
**CodeZine(コードジン) [#lb1bd543]
***ラズベリーパイをつかったセンサープログラミング超入門連...
https://codezine.jp/article/corner/606
-Raspberry Piで電子工作をはじめよう!~
~まずはRasbian(OS)のセットアップから (1/6)~
https://codezine.jp/article/detail/9027
-オームの法則覚えてますか? 電子工作の基礎を身につけ、~
Raspberry PiでLEDを光らせよう (1/3)~
https://codezine.jp/article/detail/9128
***C#ではじめるラズパイIoTプログラミング連載一覧 [#le08dd...
https://codezine.jp/article/corner/792
-C#でもラズパイIoTができる! .Net Coreで環境構築しよう~
https://codezine.jp/article/detail/11677
-C#でラズパイのGPIOを操作しよう~LEDを点灯させる~
https://codezine.jp/article/detail/11733
-C#でラズパイに接続したディスプレイを制御してみよう~
https://codezine.jp/article/detail/11777
-C#でラズパイに接続したOLEDディスプレイに文字を描こう~
https://codezine.jp/article/detail/11793
-C#でラズパイに接続した温湿度センサーで計測しよう~
https://codezine.jp/article/detail/11995
**Microsoft [#vcb76f5f]
***Microsoft Docs [#a2059adf]
-.NET の IoT ライブラリのドキュメント~
https://docs.microsoft.com/ja-jp/dotnet/iot/
-.NET IoT ライブラリを使用して IoT デバイス用のアプリを開...
https://docs.microsoft.com/ja-jp/dotnet/iot/intro
-チュートリアル
--LED を点滅させる~
https://docs.microsoft.com/ja-jp/dotnet/iot/tutorials/bli...
--LCD にテキストを表示する~
https://docs.microsoft.com/ja-jp/dotnet/iot/tutorials/lcd...
--センサーから環境条件を読み取る~
https://docs.microsoft.com/ja-jp/dotnet/iot/tutorials/tem...
***GitHub [#q9b1dd5e]
-dotnet/iot:~
This repo includes .NET Core implementations for various ...
https://github.com/dotnet/iot
**開発基盤部会 Wiki [#dc540116]
***[[Rasbian>https://dotnetdevelopmentinfrastructure.ossc...
***[[Docker On Rasbian>https://dotnetdevelopmentinfrastru...
----
Tags: [[:インフラストラクチャ]], [[:IoT]], [[:Linux]], [[...
終了行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-戻る
--[[.NET Core]]
--[[.NET On Rasbian]]
---[[Mono On Rasbian]]
---.NET Core On Rasbian
* 目次 [#d0f75f1f]
#contents
*概要 [#pac9bc54]
[[...>.NET On Rasbian#ic19f60e]]と言う事で、以下、[[Rasbi...
*詳細 [#l8d2dc69]
**手順 [#k2e63f5b]
実際にやったログ
***準備 [#ga413351]
[[コチラ(Windows 10 IoT Core)>Windows 10 IoT Core#a112e...
***インストール [#p4010f98]
以下を参考に、Raspberry Pi 3 MODEL Bに[[Rasbian>https://d...
-Rasbianをインストールする。
-Raspbianに[[Docker>コンテナ技術#la264095]]&[[Git]]をイ...
--アカウント系は開発環境でのみ設定。
--本番環境ではアカウントなしでPullするのみ。
>※ [[参考:インストール手順>#dc540116]](確か、NOOBSでイ...
***.NET Core [#l4643021]
以下を参考に、.NET 5をインストール。
-手順
--インストール~
([[Rasbian>https://dotnetdevelopmentinfrastructure.ossco...
---ダウンロード
wget https://download.visualstudio.microsoft.com/downloa...
---解凍
mkdir -p "$HOME/dotnet" && tar zxf dotnet-sdk-5.0.202-li...
--環境変数を設定
---[[~/.profile>https://dotnetdevelopmentinfrastructure.o...
---vi生の利用はハードモードなので、~
ターミナルの機能のサポートがある~
[[VNCではなく、SSH経由での利用がイイ>https://dotnetdevelo...
sudo vi ~/.profile
---最下行に追加
export DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH:$DOTNET_ROOT
--動作確認
---バージョン確認
$ dotnet -v
Unknown option: -v
.NET SDK (5.0.202)
使用法: dotnet [runtime-options] [path-to-application] [...
...
---開発実行確認
$ dotnet new console -o helloworld
cd helloworld
dotnet run
-参考
--【C#】RaspberryPi 3に.NET Coreを入れてHello World!~
https://qiita.com/logikuma/items/de8c987dc2308a96256d
--Raspberry Pi 4 に .NET 5 SDK をインストールする - matsu...
https://qiita.com/logikuma/items/de8c987dc2308a96256d
--Microsoft Docs
---Debian に .NET をインストールする - .NET~
https://docs.microsoft.com/ja-jp/dotnet/core/install/linu...
---Ubuntu に .NET をインストールする - .NET~
https://docs.microsoft.com/ja-jp/dotnet/core/install/linu...
***On Docker [#ud09ed44]
(.NET Core On Docker On Rasbian)~
Rasbian上の.NET CoreのDockerコンテナで、helloworldをやっ...
-以下、試行錯誤の上に解ったこと。~
dotnet/dotnet-dockerをそのまま使用して動作確認をすると、~
Dockerfile.debian-arm32がRasbian上で動作したので切り分け...
--先ず、正規の、.NET 用の Dockerfileを探す。~
https://github.com/dotnet/dotnet-docker/blob/main/samples...
--CPUアーキテクチャ、OS毎に異なるDockerfileを使用する。
---ARM32/64イメージをx64マシンでビルド出来るが、実行は出...
---[[Raspberry Pi 3はarm64だが、Raspbian上では、armv7互換...
--*.csprojファイルやDockerfileがあるフォルダに、~
binやobjフォルダがあると原因不明のエラーが発生するので、~
コレ等のフォルダを削除してから作業を行う必要がある。
--以下、ビルド ~ プッシュ作業は、~
Windows上で実施(Rasbian上での作業は[[コチラ>#xabae93e]])
-.NET 5 用の Dockerfileで[[前述のhelloworld>#l4643021]]を...
https://github.com/dotnet/dotnet-docker/blob/main/samples...
--helloworldディレクトリに移動(CD)し、
--初めに、binやobjフォルダを削除する。
--上記の、.NET用の Dockerfileを配置する。~
(この際、エントリポイントのプロジェクト名のみ書き直す。)
---変更前
dotnetapp
---変更後
helloworld
--以下の[[Dockerコマンド>https://dotnetdevelopmentinfrast...
docker build -t helloworld .
--ビルドしたコンテナを実行してみる。
---コンテナの確認
>docker images
REPOSITORY TAG IMAGE ID ...
helloworld latest XXXXXXXX ...
---コンテナの実行
docker run helloworld
Hello World!
-コンテナをDocker Hubにプッシュして、Rasbian上で実行して...
--Docker Hubにプッシュ
---リネーム
docker tag XXXXXXXX osscjpdevinfra/helloworld:latest
---ログイン
>docker login
Authenticating with existing credentials...
Login Succeeded
---プッシュ
>docker push osscjpdevinfra/helloworld:latest
--コンテナの実行
---PC上で実行~
・ローカルのイメージを消しておく。
>docker rmi XXXXXXXX -f
...
Deleted: sha256:...
・Docker HubからPullして実行。
>docker run osscjpdevinfra/helloworld:latest
Unable to find image 'osscjpdevinfra/helloworld:latest' ...
latest: Pulling from osscjpdevinfra/helloworld
...
Status: Downloaded newer image for osscjpdevinfra/hellow...
Hello World!
---Rasbian上で実行~
以下のように、exec format errorが起きる。~
(イメージは、linux/amd64だが、Rasbianはlinux/arm/v7と表...
$ docker run osscjpdevinfra/helloworld:latest
Unable to find image 'osscjpdevinfra/helloworld:latest' ...
latest: Pulling from osscjpdevinfra/helloworld
...
Status: Downloaded newer image for osscjpdevinfra/hellow...
WARNING: The requested image's platform (linux/amd64) do...
standard_init_linux.go:219: exec user process caused: ex...
-.NET 5 用の DockerfileをDockerfile.debian-arm32に変えて...
https://github.com/dotnet/dotnet-docker/blob/main/samples...
--PC上で実行~
動かない(イメージは、linux/armだが、PCはlinux/amd64と表...
>docker run osscjpdevinfra/helloworld:net50-debian-arm32
WARNING: The requested image's platform (linux/arm) does...
A fatal error occurred, the folder [/usr/share/dotnet/ho...
--Rasbian上で実行(Docker Hub経由)~
動いた(なお、debian-arm64だとPC上で動いて、Rasbian上で動...
$ docker run osscjpdevinfra/helloworld:net50-debian-arm32
Unable to find image 'osscjpdevinfra/helloworld:net50-de...
net50-debian-arm32: Pulling from osscjpdevinfra/helloworld
...
Digest: sha256:558763682161963dfc72879e17220ae62e0767b77...
Status: Downloaded newer image for osscjpdevinfra/hellow...
Hello World!
***Rasbian上でDockerビルド [#xabae93e]
-同様に、Dockerfile.debian-arm32を使用してDockerビルド
$ docker build -t helloworld:hoge .
...
Successfully tagged helloworld:hoge
-Rasbian上で実行(ローカル実行)
$ docker run helloworld:hoge
Hello World!
***[[Visual Studio Code]] [#fcd18b8e]
本格的な開発のため、[[Visual Studio Code]]環境を作ってみ...
-[[コチラにLinux上で構築した実績があるので>https://dotnet...
-が、ダメ。確かに、ARM32だしね。...と言う事で、ググると以...
--Raspberry Pi OS に Visual Studio Code をインストールす...
https://qiita.com/hikaru__m/items/09ac6b38a42e53074bbf
$ sudo apt update
$ sudo apt install code
-無事インストールできたので、~
[[前述のhelloworld>#l4643021]]をデバック実行できるように...
--SSHからではなく、デスクトップかVNCからアクセスする。
--helloworldフォルダを右クリックし、[[Visual Studio Code]...
--エクステンションから、[[CSharp for Visual Studio Code]]...
--ブレークポイントを設定して、[F5]実行を行ってみようと、~
[create a launch. json file]を押下したが、以下が出てダメ。
The C# extension for Visual Studio Code (powered by Omni...
---Feature request: support Linux ARM / ARM64~
Issue #2771 · OmniSharp/omnisharp-vscode~
https://github.com/OmniSharp/omnisharp-vscode/issues/2771
※ ...と言う事で、現時点の結論としては、[[OmniSharp]]のARM...
**オプション [#g267c0db]
***リモートデバッグ(通常) [#cd46001b]
-[[Visual Studio Codeのローカル・インストール>#fcd18b8e]]...
--[[Visual Studio Code]]ならlaunch.jsonを使う。
--[[Visual Studio]]なら、launch.jsonを使用せずに接続可能。
-[[Visual Studio]]での手順~
[[WSL上での.NET Core開発 > Visual Studioからデバッガをア...
--Rasbian上で、ConsoleAppをdotnet runしておく。~
(必要に応じて、Console.ReadKey等を仕込んでおく)
--上記を参考に、Windowsの[[Visual Studio]]からデバッガを...
--デバッグ対象ファイルを開いて、ブレークポイントを指定す...
--キーを押下し、Console.ReadKeyを通過させてブレークする。
--[[Visual Studio]]では、以下は不要だった。
---[[PuTTY]]のインストールや設定
---vsdbgのインストールや設定
---launch.jsonの作成
-[[Visual Studio Code]]での手順~
未検証([[PuTTY]]入れたりするのが大変なので...
-参考
--Raspberry Pi(Raspbian)上で動く~
.NET Core2.1アプリをリモートデバッグする - Qiita~
https://qiita.com/HiroyukiSakoh/items/ec947802dd2f69a38e8b
***リモートデバッグ(コンテナ) [#u4081ce6]
-SSHを仕込んだベースイメージを[[Dockerビルドして、Docker ...
-デバッグ対象のコンテナを[[Dockerビルドして、Docker Hubに...
-2222:22とマッピングしたSSHポートを使用してリモートデバッ...
-参考
--VisualStudio2017でリモートデバッグ - Qiita~
https://qiita.com/alicial/items/cec59bea773b8058e7ba
***GUIサポート [#m2256d86]
GUIに関しては、
-[[Mono On Rasbian]]を参照。
-最近は、[[Gtk Sharpの.NET Coreサポート>Gtk Sharp#t143947...
**実装 [#pca4ca96]
[[Windows 10 IoT Coreでの実装>Windows 10 IoT Core#m9b9f8b...
***[[Lチカを実装する。>Windows 10 IoT Core#g55fff11]] [#l...
-ライブラリの名前空間が違うので、コードも少々変わる。
using System;
using System.Device.Gpio;
using System.Threading;
namespace DotNet_LChika
{
class Program
{
static void Main(string[] args)
{
/// GpioPin #5は青色
/// GpioPin #6は白色
int pin = 6;
GpioController controller = new GpioControll...
controller.OpenPin(pin, PinMode.Output);
int lightTimeInMilliseconds = 1000;
int dimTimeInMilliseconds = 200;
while (true)
{
Console.WriteLine($"Light for {lightTime...
controller.Write(pin, PinValue.High);
Thread.Sleep(lightTimeInMilliseconds);
Console.WriteLine($"Dim for {dimTimeInMi...
controller.Write(pin, PinValue.Low);
Thread.Sleep(dimTimeInMilliseconds);
}
}
}
}
-[[Dockerビルドして、Docker Hubにプッシュする。>#ud09ed44]]
-Rasbian上でコンテナを実行([[Deviceアクセスを有効化して...
docker run --device /dev/gpiomem --privileged osscjpdevi...
>→ 無事、動作した。
-[[コンテナをリモート・デバッグ>#u4081ce6]]する場合
docker run -p 2222:22 --device /dev/gpiomem --privileged...
>→ 未検証...
***[[LCDに文字を表示する。>Windows 10 IoT Core#t5995e43]]...
→ 未検証だが、多分動く。
***[[センサーからデータを取得する。>Windows 10 IoT Core#j...
→ 未検証だが、多分動く。
**[[Windows 10 IoT Core]] [#f7a110ab]
*参考 [#ad06f3a5]
-詳説 .NET 5 のIoTサポート~
https://www.slideshare.net/TakashiMatsuoka2/net-5-iot
**Qiita [#q179f182]
-【C#】RaspberryPi 3に.NET Coreを入れてHello World!~
https://qiita.com/logikuma/items/de8c987dc2308a96256d
-Raspberry Pi(Raspbian)上で動く.NET Core2.1アプリをリモー...
https://qiita.com/HiroyukiSakoh/items/ec947802dd2f69a38e8b
-ASP.NET Core webアプケーションを公開する~
https://qiita.com/takmot/items/ce3b6780e4e58c17d1a4
-Raspberry Pi C#でLチカ~
https://qiita.com/tana_/items/f24c861827179811f912
-C#でもIoTできるんだって!!~
RaspberryPiとC#使ってラジコン?的なの作る。~
https://qiita.com/Earthfreedom/items/1fd4194ccff4166782c9
**CodeZine(コードジン) [#lb1bd543]
***ラズベリーパイをつかったセンサープログラミング超入門連...
https://codezine.jp/article/corner/606
-Raspberry Piで電子工作をはじめよう!~
~まずはRasbian(OS)のセットアップから (1/6)~
https://codezine.jp/article/detail/9027
-オームの法則覚えてますか? 電子工作の基礎を身につけ、~
Raspberry PiでLEDを光らせよう (1/3)~
https://codezine.jp/article/detail/9128
***C#ではじめるラズパイIoTプログラミング連載一覧 [#le08dd...
https://codezine.jp/article/corner/792
-C#でもラズパイIoTができる! .Net Coreで環境構築しよう~
https://codezine.jp/article/detail/11677
-C#でラズパイのGPIOを操作しよう~LEDを点灯させる~
https://codezine.jp/article/detail/11733
-C#でラズパイに接続したディスプレイを制御してみよう~
https://codezine.jp/article/detail/11777
-C#でラズパイに接続したOLEDディスプレイに文字を描こう~
https://codezine.jp/article/detail/11793
-C#でラズパイに接続した温湿度センサーで計測しよう~
https://codezine.jp/article/detail/11995
**Microsoft [#vcb76f5f]
***Microsoft Docs [#a2059adf]
-.NET の IoT ライブラリのドキュメント~
https://docs.microsoft.com/ja-jp/dotnet/iot/
-.NET IoT ライブラリを使用して IoT デバイス用のアプリを開...
https://docs.microsoft.com/ja-jp/dotnet/iot/intro
-チュートリアル
--LED を点滅させる~
https://docs.microsoft.com/ja-jp/dotnet/iot/tutorials/bli...
--LCD にテキストを表示する~
https://docs.microsoft.com/ja-jp/dotnet/iot/tutorials/lcd...
--センサーから環境条件を読み取る~
https://docs.microsoft.com/ja-jp/dotnet/iot/tutorials/tem...
***GitHub [#q9b1dd5e]
-dotnet/iot:~
This repo includes .NET Core implementations for various ...
https://github.com/dotnet/iot
**開発基盤部会 Wiki [#dc540116]
***[[Rasbian>https://dotnetdevelopmentinfrastructure.ossc...
***[[Docker On Rasbian>https://dotnetdevelopmentinfrastru...
----
Tags: [[:インフラストラクチャ]], [[:IoT]], [[:Linux]], [[...
ページ名: