🐡

Blazor Web AppをRaspberry PiでWebアプリとして動作することを確認

2024/12/13に公開

はじめに

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