Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 14475|Antwort: 4

[Quelle] [Praktische Bedienung] ASP.NET Core 6 wurde auf dem ARM Raspberry Pi eingesetzt, um DDNS und Wake-on-Network zu implementieren

[Link kopieren]
Veröffentlicht am 09.03.2022 22:36:53 | | | |
Ich habe zu Hause einen Raspberry Pi 3B (Raspberry Pi 3B Arm-Architektur 32-Bit) und habe zu Hause Staub gefressen, weil .NET Core-Programme plattformübergreifend sein können, also werde ich eine Website schreiben, die ich auf Raspberry Pi bereitstellen kann. Das Heim-Breitband hat eine öffentliche IP-Adresse, aber die IP-Adresse ändert sich jedes Mal, wenn der Router neu gestartet wird, und das kostenlose DDNS des ASUS-Routers ist nicht sehr einfach zu bedienen (die Heim-IP hat sich geändert und die Domainnamen-Auflösung ist nicht rechtzeitig in Kraft getreten). Ich habe einen DELL-Desktop und einen DELL-EMC-Server zu Hause, also mach dich bereit, einen DDNS-Dienst und ein Wake-on-the-Internet-Tool mit ASP.NET Core zu schreiben.

Mit DDNS kannst du das tunErhalten Sie rechtzeitig die IP-Adresse des Internets zu Hause, mit der Wake-on-Network-Funktion ist möglichWecke meinen DELL-Desktop-Computer auf, was praktisch ist, um Informationen zu Hause zu konsultieren.

Websites, die mit ASP.NET Core 6 geschrieben wurden, werden auf Raspberry Pi bereitgestelltEs läuft seit mehr als drei Monaten ununterbrochen, ohne Probleme.



Installieren Sie die AspNetCore-Laufzeitumgebung

Zuerst muss der Raspberry Pi mit dem Raspberry Pi OS-System installiert werden, und das Tutorial lautet wie folgt:

Raspberry Pi 3B (Raspberry Pi 3B) ist mit dem Raspberry Pi OS-System installiert
https://www.itsvse.com/thread-10052-1-1.html

Installiere dann AspNetCore Runtimes auf dem Raspberry Pi, melde dich mit SSH am Raspberry Pi Host an und nutze essudo -iWechsle zum Root und erstelle einen /usr/dotnet-Ordner mit folgendem Befehl:

Laden Sie aspnetcore-runtime-6.0.1-linux-arm.tar.gz herunter und entpacken Sie sie mit folgendem Befehl:

Um einen Softlink zu erstellen, lautet der Befehl wie folgt:

An diesem Punkt wird die von ASP.NET Core-Website benötigte Laufzeitumgebung installiert und die installierte Laufzeit überprüft, wie in der untenstehenden Abbildung dargestellt:



DDNS Dynamischer Domain Name Service

Rufen Sie die DNSPod-Schnittstelle auf, um den DDNS-Dynamic Domain Name Service und das Schnittstellendokument zu implementieren:Der Hyperlink-Login ist sichtbar.

Erstellen Sie ein neues MVC-Projekt ASP.NET Core 6 mit VS 2022, erstellen Sie eine neue DNSPodOptions.cs-Datei, um die für die Aufruf-Schnittstelle erforderlichen Parameter wie folgt zu konfigurieren:

appsettings.json Fügen Sie folgende Konfiguration hinzu:

Verändern Sie die Program.cs-Datei, um die Konfigurationsinformationen der Klasse DNSPodOptions zuzuordnen; der Code lautet wie folgt:

Erstellen Sie eine neue DDNSWorker.cs-Datei, erstellen Sie einen Hintergrunddienst, erhalten Sie einmal pro Minute eine IP-Adresse und rufen Sie die DNSPod-Schnittstelle auf, um die Domain-Definition zu aktualisieren, falls sich die IP-Adresse ändert. (Anmerkung:Wenn innerhalb von 1 Stunde mehr als 5 Anfragen zur Änderung von Datensätzen ohne Änderungen eingereicht werden, werden die Datensätze vom System für eine Stunde gesperrt und dürfen nicht erneut geändert werden。 Zum Beispiel ist der ursprüngliche Datensatz bereits 1.1.1.1, und die neue Anfrage erfordert außerdem, dass er auf 1.1.1.1 geändert wird. )

Der Code lautet wie folgt:

Ändern Sie die Program.cs-Datei und registrieren Sie den Backend-Service mit folgendem Code:

Der vollständige Program.cs-Code lautet wie folgt:


Der Debugger kann die DNSPod-Schnittstelle wie folgt aufrufen:


Wake On LAN

Wake-on-LAN wird als WOL oder WoL abgekürzt, was im Chinesischen meist als "Online-Wake-up" und "Remote Wake-up"-Technologie übersetzt wird. WOL ist eine Technologie, und sie ist auch die Spezifikation dieser Technologie; ihr Zweck besteht darin, dass ein Computer, der in einen Ruhezustand oder Abschaltzustand versetzt ist, ihm über das andere Ende des lokalen Netzwerks (meist Ethernet) Befehle geben kann, sodass er aus dem Ruhezustand erwacht, in den Betriebszustand zurückkehrt oder vom Abschaltzustand in den Bootzustand wechselt. Darüber hinaus umfassen WOL-bezogene Technologien auch Fernsteuerungsmechanismen wie Fernabschalten und Fernstart.

Ändere den HomeController-Controller und füge die Wake-on-Network-Schnittstelle hinzu, der Code lautet wie folgt:


Bearbeiten Sie die Index.cshtml-Seite, fügen Sie das MAC-Adresseingabefeld und den Button hinzu und verwenden Sie Ajax, um die Schnittstelle aufzurufen, der Code ist wie folgt:

Starten Sie das Projekt wie unten gezeigt:



Einsatz auf dem Raspberry Pi

Um ein Projekt mit VS 2022 zu veröffentlichen, lade das Release-Paket in den /home/pi/wol-Ordner des Raspberry Pi hoch, wie unten gezeigt:




Erstelle eine neue nbddns.service-Datei unter dem /etc/systemd/system-Ordner und registriere das Projekt als Linux-Dienst wie folgt:

Starte den nbddns-Dienst und stelle den Boot mit folgendem Befehl auf Auto-Start ein:

Sehen Sie sich den Dienststatus wie in der folgenden Abbildung dargestellt an:



Schließlich in den Router-EinstellungenPort-Mapping, und dann über den Domainnamen und den zugeordneten Extranet-Port auf mein Handy zugreifen4G-Netze nutzendirektSie können auf ASP.NET Core-Apps zugreifen, die auf dem Raspberry Pi installiert sind., wie in der untenstehenden Abbildung dargestellt:



(Ende)





Vorhergehend:ASP.NET Core (XI) Endpunkt-Route fügt Middleware hinzu, um alle DI-Dienste anzuzeigen
Nächster:Linux ssh: Befehl nicht gefunden
Veröffentlicht am 10.03.2022 11:16:19 |
Man sieht, dass viel Asche gegessen wurde
Veröffentlicht am 12.03.2022 15:17:50 |
Komm und lerne wieder
 Vermieter| Veröffentlicht am 23.09.2023 09:25:26 |
Linux systemd Service Manager ausführlich erklärt
https://www.itsvse.com/thread-10178-1-1.html
 Vermieter| Veröffentlicht am 18.06.2024 13:06:36 |
ASP.NET Core (neunzehn) verwendet BackgroundService, um Hintergrundaufgaben auszuführen
https://www.itsvse.com/thread-10591-1-1.html
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com