Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 14475|Svare: 4

[Kilde] [Praktisk drift] ASP.NET Core 6 ble rullet ut på ARM Raspberry Pi for å implementere DDNS og Wake-on-Network

[Kopier lenke]
Publisert på 09.03.2022 22:36:53 | | | |
Jeg har en Raspberry Pi 3B (Raspberry Pi 3B Arm-arkitektur 32-bit) hjemme, og jeg har spist støv hjemme fordi .NET Core-programmer kan være plattformuavhengige, så jeg skal skrive en nettside for å distribuere på Raspberry Pi. Hjemmebredbåndet har en offentlig IP-adresse, men IP-adressen vil endre seg hver gang ruteren startes på nytt, og den gratis DDNS-en til ASUS-ruteren er ikke særlig enkel å bruke (hjemme-IP-en har endret seg, og domenenavnoppløsningen har ikke trådt i kraft i tide). Jeg har en DELL-stasjonær PC og en DELL EMC-server hjemme, så gjør deg klar til å skrive en DDNS-tjeneste og et Wake-on-the-Internet-verktøy med ASP.NET Core.

Med DDNS kan duFå IP-adressen til Internett hjemme i tide, ved bruk av Wake-on-Network-funksjonen er muligVekke min DELL stasjonære datamaskin, som er praktisk for å konsultere informasjon hjemme.

Nettsteder skrevet med ASP.NET Core 6 distribueres på Raspberry PiDen har gått jevnt i mer enn 3 måneder, uten problemer.



Installer AspNetCore-runtime

Først må Raspberry Pi installeres med Raspberry Pi OS-systemet, og veiledningen er som følger:

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

Installer deretter AspNetCore Runtimes oppå Raspberry Pi, logg inn på Raspberry Pi-verten med SSH, og bruk detsudo -iBytt til root og lag en /usr/dotnet-mappe med følgende kommando:

Last aspnetcore-runtime-6.0.1-linux-arm.tar.gz ned og pakk den ut med følgende kommando:

For å lage en myk lenke er kommandoen som følger:

På dette tidspunktet installeres kjøremiljøet som kreves av ASP.NET Core-nettstedet, og den installerte kjøretiden sjekkes, som vist i figuren nedenfor:



DDNS Dynamisk Domenenavntjeneste

Kall DNSPod-grensesnittet for å implementere DDNS dynamisk domenenavntjeneste, grensesnittdokument:Innloggingen med hyperkoblingen er synlig.

Opprett et nytt MVC-prosjekt ASP.NET Core 6 ved bruk av VS 2022, og lag en ny DNSPodOptions.cs-fil for å konfigurere parameterne som kreves for invocation-grensesnittet, som følger:

appsettings.json Legg til følgende konfigurasjon:

Endre Program.cs-filen for å mappe konfigurasjonsinformasjonen til DNSPodOptions-klassen, koden er som følger:

Opprett en ny DDNSWorker.cs-fil, lag en bakgrunnstjeneste, hent en IP-adresse én gang i minuttet, og kall DNSPod-grensesnittet for å oppdatere domenenavnsoppløsningen hvis IP-adressen endres. (Merk:Hvis mer enn 5 forespørsler om å endre poster uten endringer sendes inn innen 1 time, vil postene bli låst av systemet i 1 time og vil ikke få lov til å endres igjen。 For eksempel er den opprinnelige postverdien allerede 1.1.1.1, og den nye forespørselen krever også at den endres til 1.1.1.1. )

Koden er som følger:

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

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


Debuggeren kan kalle DNSPod-grensesnittet normalt, som følger:


Wake On LAN

Wake-on-LAN forkortes som WOL eller WoL, som for det meste oversettes til kinesisk som «online oppvåkning» og «fjern oppvåkning»-teknologi. WOL er en teknologi, og det er også spesifikasjonen for denne teknologien, og dens effekt er å la en datamaskin som har gått inn i en dvale- eller avstengningstilstand gi ordre til den via den andre enden av det lokale nettverket (for det meste Ethernet), slik at den våkner fra dvale, går tilbake til driftstilstand, eller bytter fra avstengningstilstand til oppstartstilstand. I tillegg inkluderer WOL-relaterte teknologier også fjernkontrollmekanismer som fjernavstengning og fjernomstart.

Endre HomeController-kontrolleren og legg til Wake-on-Network-grensesnittet, koden er som følger:


Rediger Index.cshtml-siden, legg til MAC-adresse-inndataboksen og knappen, og bruk Ajax for å kalle grensesnittet, koden er som følger:

Start prosjektet som vist nedenfor:



Utplassert på Raspberry Pi

Ved å bruke VS 2022 for å lansere et prosjekt, last du opp utgivelsespakken til Raspberry Pi sin /home/pi/wol-mappe, som vist nedenfor:




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

Start nbddns-tjenesten og sett oppstarten til å starte auto-start med følgende kommando:

Se tjenestestatusen som vist i følgende figur:



Til slutt, i ruterinnstillingenePortkartlegging, og deretter tilgang via domenenavnet og den kartlagte extranet-porten, telefonen minBruk 4G-nettverkdirekteDu kan få tilgang til ASP.NET Core-appene som er distribuert oppå Raspberry Pi, som vist i figuren nedenfor:



(Slutt)





Foregående:ASP.NET Core (XI) endepunktruten legger til mellomvare for å vise alle DI-tjenester
Neste:Linux ssh: kommando ikke funnet
Publisert på 10.03.2022 11:16:19 |
Det kan sees at mye aske er spist
Publisert på 12.03.2022 15:17:50 |
Kom og lær igjen
 Vert| Publisert på 23.09.2023 09:25:26 |
Linux systemd service manager forklart i detalj
https://www.itsvse.com/thread-10178-1-1.html
 Vert| Publisert på 18.06.2024 13:06:36 |
ASP.NET Core (nitten) bruker BackgroundService for å kjøre bakgrunnsoppgaver
https://www.itsvse.com/thread-10591-1-1.html
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com