🐡
Blazor Web AppをRaspberry PiでWebアプリとして動作することを確認
はじめに
Raspberry PiにWebアプリを作成しPLCと通信したいと考えています。そこでC#のBlazor Web Appでプロジェクトを作成し、Raspberry Pi上で動作できるかどうかを確認しました。
開発環境
この記事で使用した開発環境は以下の通りです。
-
Raspberry Pi
- Raspberry Pi 4 Model B (4GB RAM)
- OS: Ubuntu Server 24.10(64-bit)
-
開発PC
- OS: Windows 11 Pro
- 開発ツール: Visual Studio 2022 (Windows)
- .NET SDK: .NET 8.0
プロジェクトの作成
Blazor Web AppをVisual Studioで作成します。
発行設定
プロジェクトを右クリックし、「発行」を選択します。その後、「フォルダー」を選択します。
次に、フォルダーの場所を指定します。ここではデフォルトのbin\Release\net8.0\publish
を選択しています。
設定完了後、発行を実行します。
発行されたファイルは以下のようになります。
Raspberry Piへ転送
発行されたファイルをRaspberry Piに転送します。以下のコマンドをWindowsターミナルやPowerShellで実行してください。
scp -prC .\net8.0 lmjs@raspberrypi.local:~/
Nginxの設定
Raspberry PiでNginxを使用して、アプリケーションをプロキシするよう設定します。
以下の設定を/etc/nginx/sites-available/default
に追加または修正します。
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
proxy_pass http://localhost:5000;
try_files $uri $uri/ =404;
}
設定変更後、Nginxを再起動します。
bash
Copy code
sudo systemctl restart nginx
アプリケーションの起動
Raspberry Pi上でアプリケーションを起動します。
Copy code
dotnet WebApplication1.dll
以下のようなログが表示されれば成功です。
Copy code
info: Microsoft.Hosting.Lifetime[14]
Now listening on: http://localhost:5000
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
ブラウザで動作確認
ブラウザでhttp://<Raspberry PiのIPアドレスまたはホスト名>
にアクセスし、アプリケーションが表示されることを確認します。
まとめ
Blazor Web AppをRaspberry Piで表示できることが確認できました。今後PLCとRaspberry Piを通信したプロジェクトを作っていきたいです。
Discussion