Auf Raspberry Pi4, Blazor .NET6
Asp Blazor .Net6 Program auf Raspberry Pi starten
Hierzu wechselt man im Raspberry Pi auf den Ordner, wo sich das Blazor Projekt befindet
Es ist immer der Ordner, indem sich die Datei .csproj befindet.
In RaspberryPi den Commandshell oder bash Ăśffnen,
dann Mit
cd projects/blazorpi
Dann startet man das .NET6 Programm mit dotnet run
Im Debugger/Output Fenster findet man nun die Nachricht:
Now listening on : https://localhost://7245
Wenn man nun diese Adresse im Browser oder einer Webseite eingibt, wird direkt die Blazor-Anwendung als Webseite angezeigt.
Dabei ist wichtig zu wissen, dass auf dem Blazor-Projekt in wirklichkeit ein GPIO Programm zur steuerung von Maschinen läuft, welche nun ßber die Webseite direkt gesteuert oder auch gelesen werden kann.
Im Blazor-Projekt findet man die einfache Razor-Seite mit dem Button zum an- und ausschalten eines Wertes
Code: SetPiLED.razor
@page "/setpiled"
<PageTitle>Set Raspberry Pi LED ON / OFF</PageTitle>
<h1>Raspberry Pi LED</h1>
<p role="status">Current LED: @LED_Status</p>
<button class="btn btn-primary" @onclick="SetLED_On" style="background-color:yellow;color:black">ON</button> <button class="btn btn-primary" @onclick="SetLED_Off" style="background-color:darkgray">OFF</button>
@code { private bool LED_Status = false;
private void SetLED_On() { LED_Status=true; } private void SetLED_Off() { LED_Status=false; } } |
Program.cs
using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components.Web; using blazorpi.web.Data;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container. builder.Services.AddRazorPages(); builder.Services.AddServerSideBlazor(); builder.Services.AddSingleton<WeatherForecastService>(); //builder.UseUrls("http://*:5000;https://*:5001");
var app = builder.Build();
// Configure the HTTP request pipeline. if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Error"); // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); }
app.UseHttpsRedirection(); app.UseStaticFiles();
app.UseRouting();
app.MapBlazorHub(); app.MapFallbackToPage("/_Host");
app.Run();
|
|
Unter dem Projekt mus GPIO installiert sein, damit Blazor die Aus und Eingabe ansteuern kann
Blazor erstellt von Haus aus schon die nach aussen wirksame blazor.web.dll welche dann die Webseite bzw. den Browser bedient, also Eingaben dynamisch annimmt und werte dynamisch anzeigt.