Readdy Write  
0,00 €
Your View Money
Views: Count
Self 20% 0
Your Content 60% 0

Users by Links 0
u1*(Content+Views) 10% 0
Follow-Follower 0
s2*(Income) 5% 0

Count
Followers 0
Login Register as User

Webseite in RaspberryPi mit Blazor ansteuern

29.01.2022 (👁5159)


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.

Ein Bild, das Text enthält.

Automatisch generierte Beschreibung

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.

Ein Bild, das Text enthält.

Automatisch generierte Beschreibung

Im Blazor-Projekt findet man die einfache Razor-Seite mit dem Button zum an- und ausschalten eines Wertes

Ein Bild, das Text enthält.

Automatisch generierte Beschreibung

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

Ein Bild, das Text enthält.

Automatisch generierte Beschreibung

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.

Ein Bild, das Text enthält.

Automatisch generierte Beschreibung