Webseite in RaspberryPi mit Blazor ansteuern
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.