Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 14475|Svar: 4

[Kilde] [Praktisk operation] ASP.NET Core 6 blev udrullet på ARM Raspberry Pi for at implementere DDNS og Wake-on-Network

[Kopier link]
Opslået på 09/03/2022 22.36.53 | | | |
Jeg har en Raspberry Pi 3B (Raspberry Pi 3B Arm-arkitektur 32-bit) derhjemme, og jeg har spist støv derhjemme, fordi .NET Core-programmer kan være cross-platform, så jeg vil skrive en hjemmeside til at implementere på Raspberry Pi. Hjemmebredbåndet har en offentlig IP-adresse, men IP-adressen vil ændre sig hver gang routeren genstartes, og den gratis DDNS på ASUS-routeren er ikke særlig nem at bruge (hjemmets IP er ændret, og domænenavnsopløsningen er ikke trådt i kraft i tide). Jeg har en DELL-desktop og en DELL EMC-server derhjemme, så gør dig klar til at skrive en DDNS-tjeneste og et Wake-on-the-Internet-værktøj med ASP.NET Core.

Med DDNS kan duFå IP-adressen til internettet derhjemme i tide, ved brug af Wake-on-Network-funktionen er muligtVæk min DELL stationære computer, hvilket er praktisk til at konsultere information derhjemme.

Sites skrevet med ASP.NET Core 6 implementeres på Raspberry PiDen har kørt stabilt i mere end 3 måneder, uden problemer.



Installer AspNetCore-runtimen

Først skal Raspberry Pi installeres med Raspberry Pi OS-systemet, og vejledningen er som følger:

Raspberry Pi 3B (Raspberry Pi 3B) er installeret med Raspberry Pi OS-systemet
https://www.itsvse.com/thread-10052-1-1.html

Installer derefter AspNetCore Runtimes oven på Raspberry Pi'en, log ind på Raspberry Pi-værten med SSH og brug densudo -iSkift til root og opret en /usr/dotnet-mappe med følgende kommando:

Download aspnetcore-runtime-6.0.1-linux-arm.tar.gz og pak den ud med følgende kommando:

For at oprette et soft link er kommandoen som følger:

På dette tidspunkt installeres det kørende miljø, ASP.NET Core-hjemmeside kræver, og den installerede runtime kontrolleres, som vist i figuren nedenfor:



DDNS Dynamisk Domænenavnstjeneste

Kald DNSPod-grænsefladen for at implementere DDNS dynamiske domænenavnstjeneste, interface-dokument:Hyperlink-login er synlig.

Opret et nyt MVC-projekt ASP.NET Core 6 ved hjælp af VS 2022, og lav en ny DNSPodOptions.cs-fil for at konfigurere de parametre, der kræves til kaldegrænsefladen, som følger:

appsettings.json Tilføj følgende konfiguration:

Ændr Program.cs-filen for at mappe konfigurationsinformationen til DNSPodOptions-klassen, koden er som følger:

Opret en ny DDNSWorker.cs-fil, lav en baggrundstjeneste, få en IP-adresse én gang i minuttet, og kald DNSPod-interfacet for at opdatere domænenavnsopløsningen, hvis IP-adressen ændres. (Bemærk:Hvis der indsendes mere end 5 anmodninger om ændring af poster uden ændringer inden for 1 time, vil systemet låse posterne i 1 time og vil ikke blive tilladt at ændre dem igen。 For eksempel er den oprindelige postværdi allerede 1.1.1.1, og den nye anmodning kræver også, at den ændres til 1.1.1.1. )

Koden er som følger:

Ændr Program.cs-filen og registrer backend-tjenesten med følgende kode:

Den komplette Program.cs-kode er som følger:


Debuggeren kan kalde DNSPod-interfacet normalt som følger:


Vågne på LAN

Wake-on-LAN forkortes som WOL eller WoL, hvilket for det meste oversættes til kinesisk som "online wake-up" og "fjern-wake-up" teknologi. WOL er en teknologi, og det er også specifikationen for denne teknologi, og dens effekt er at tillade en computer, der er gået i dvale eller nedlukningstilstand, at udstede ordrer til den via den anden ende af det lokale netværk (for det meste Ethernet), så den vågner fra dvale, genoptages til driftstilstand eller skifter fra nedlukningstilstand til opstartstilstand. Derudover omfatter WOL-relaterede teknologier også fjernbetjeningsmekanismer såsom fjernnedlukning og fjerngenstart.

Modificerer HomeController-controlleren og tilføj Wake-on-Network-interfacet, koden er som følger:


Rediger Index.cshtml-siden, tilføj MAC-adresseindtastningsboksen og knappen, og brug Ajax til at kalde interfacet, koden er som følger:

Start projektet som vist nedenfor:



Udsendt på Raspberry Pi

Ved at bruge VS 2022 til at udgive et projekt, upload releasepakken til Raspberry Pi'ens /home/pi/wol-mappe, som vist nedenfor:




Opret en ny nbddns.service-fil under mappen /etc/systemd/system og registrer projektet som en Linux-tjeneste som følger:

Start nbddns-tjenesten og sæt booten til at starte auto-start med følgende kommando:

Se servicestatus, som vist i følgende figur:



Endelig, i routerindstillingernePortkortlægning, og derefter adgang via domænenavnet og den kortlagte extranet-port, min telefonBrug 4G-netværkdirekteDu kan få adgang til ASP.NET Core-apps, der er installeret oven på Raspberry Pi'en, som vist i figuren nedenfor:



(Slut)





Tidligere:ASP.NET Core (XI) endpoint-ruten tilføjer middleware til at vise alle DI-tjenester
Næste:Linux ssh: kommando ikke fundet
Opslået på 10/03/2022 11.16.19 |
Det kan ses, at meget aske er blevet spist
Opslået på 12/03/2022 15.17.50 |
Kom og lær igen
 Udlejer| Opslået på 23/09/2023 09.25.26 |
Linux systemd service manager forklaret i detaljer
https://www.itsvse.com/thread-10178-1-1.html
 Udlejer| Opslået på 18/06/2024 13.06.36 |
ASP.NET Core (nitten) bruger BackgroundService til at køre baggrundsopgaver
https://www.itsvse.com/thread-10591-1-1.html
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com