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:
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)
|