Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 14475|Svar: 4

[Källa] [Praktisk funktion] ASP.NET Core 6 distribuerades på ARM Raspberry Pi för att implementera DDNS och Wake-on-Network

[Kopiera länk]
Publicerad på 2022-03-09 22:36:53 | | | |
Jag har en Raspberry Pi 3B (Raspberry Pi 3B Arm-arkitektur 32-bitars) hemma, och jag har ätit damm hemma eftersom .NET Core-program kan vara plattformsoberoende och jag tänker skriva en webbplats för att distribuera på Raspberry Pi. Hemmets bredband har en publik IP-adress, men IP-adressen ändras varje gång routern startas om, och den fria DDNS-adressen för ASUS-routern är inte särskilt lätt att använda (hem-IP:n har ändrats och domännamnsupplösningen har inte trätt i kraft i tid). Jag har en DELL-stationär dator och en DELL EMC-server hemma, så gör dig redo att skriva en DDNS-tjänst och ett Wake-on-the-Internet-verktyg med ASP.NET Core.

Med DDNS kan duFå tag på internetets IP-adress hemma i tid, med hjälp av Wake-on-Network-funktionen är möjligtVäcker min DELL-stationära dator, vilket är praktiskt för att konsultera information hemma.

Sajter skrivna med ASP.NET Core 6 distribueras på Raspberry PiDen har gått stadigt i mer än tre månader, utan några problem.



Installera AspNetCore-runtimen

Först måste Raspberry Pi installeras med Raspberry Pi OS-systemet, och handledningen är följande:

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

Installera sedan AspNetCore Runtimes ovanpå Raspberry Pi, logga in på Raspberry Pi:s värd med SSH och använd detsudo -iByt till root och skapa en /usr/dotnet-mapp med följande kommando:

Ladda ner aspnetcore-runtime-6.0.1-linux-arm.tar.gz och packa upp den med följande kommando:

För att skapa en mjuklänk är kommandot följande:

Vid denna punkt installeras den körmiljö som krävs av ASP.NET Core-webbplats, och den installerade körtiden kontrolleras, som visas i figuren nedan:



DDNS dynamisk domännamnstjänst

Anropa DNSPod-gränssnittet för att implementera DDNS dynamiska domännamnstjänst, gränssnittsdokument:Inloggningen med hyperlänken är synlig.

Skapa ett nytt MVC-projekt ASP.NET Core 6 med VS 2022, skapa en ny DNSPodOptions.cs-fil för att konfigurera de parametrar som krävs för anropsgränssnittet, enligt följande:

appsettings.json Lägg till följande konfiguration:

Modifiera Program.cs-filen för att mappa konfigurationsinformationen till DNSPodOptions-klassen, koden är följande:

Skapa en ny DDNSWorker.cs fil, skapa en bakgrundstjänst, hämta en IP-adress en gång i minuten och anropa DNSPod-gränssnittet för att uppdatera domännamnsupplösningen om IP-adressen ändras. (Not:Om fler än 5 förfrågningar om att ändra poster utan några ändringar skickas in inom 1 timme, kommer registren att låsas av systemet i 1 timme och får inte ändras igen。 Till exempel är det ursprungliga postvärdet redan 1.1.1.1, och den nya förfrågan kräver också att det ändras till 1.1.1.1. )

Koden är följande:

Modifiera filen Program.cs och registrera backend-tjänsten med följande kod:

Den kompletta Program.cs koden är följande:


Debuggern kan anropa DNSPod-gränssnittet normalt, enligt följande:


Vakna på LAN

Wake-on-LAN förkortas WOL eller WoL, vilket oftast översätts till kinesiska som "online-väckning" och "fjärruppvakning"-teknik. WOL är en teknologi, och det är också specifikationen för denna teknik, och dess effekt är att tillåta en dator som gått in i ett vilande eller avstängt tillstånd att ge order till den via andra änden av det lokala nätverket (främst Ethernet), så att den vaknar från viloläge, återgår till drifttillstånd eller växlar från avstängningsläge till startläge. Dessutom inkluderar WOL-relaterade teknologier även fjärrstyrda mekanismer såsom fjärravstängning och fjärromstart.

Modifiera HomeController-kontrollern och lägg till Wake-on-Network-gränssnittet, koden är följande:


Redigera sidan Index.cshtml, lägg till MAC-adressinmatningsrutan och knappen, och använd Ajax för att anropa gränssnittet, koden är följande:

Starta projektet enligt nedan:



Utplacerad på Raspberry Pi

Använd VS 2022 för att släppa ett projekt, ladda upp releasepaketet till Raspberry Pi:s /home/pi/wol-mapp, som visas nedan:




Skapa en ny nbddns.service-fil under mappen /etc/systemd/system och registrera projektet som en Linux-tjänst, enligt följande:

Starta nbddns-tjänsten och ställ in starten av auto-start med följande kommando:

Visa servicestatusen som visas i följande figur:



Slutligen, i routerinställningarnaPortkartläggning, och sedan åtkomst via domännamnet och den mappade extranetporten, min telefonAnvänd 4G-nätdirektDu kan komma åt ASP.NET Core-appar som är installerade ovanpå Raspberry Pi, som visas i figuren nedan:



(Slut)





Föregående:ASP.NET Core (XI) endpoint-rutten lägger till middleware för att visa alla DI-tjänster
Nästa:Linux ssh: kommando ej hittat
Publicerad på 2022-03-10 11:16:19 |
Det kan ses att mycket aska har ätits
Publicerad på 2022-03-12 15:17:50 |
Kom och lär dig igen
 Hyresvärd| Publicerad på 2023-09-23 09:25:26 |
Linux systemd service manager förklarad i detalj
https://www.itsvse.com/thread-10178-1-1.html
 Hyresvärd| Publicerad på 2024-06-18 13:06:36 |
ASP.NET Core (nitton) använder BackgroundService för att köra bakgrundsuppgifter
https://www.itsvse.com/thread-10591-1-1.html
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com