Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 14475|Antwoord: 4

[Bron] [Praktische Werking] ASP.NET Core 6 werd ingezet op ARM Raspberry Pi om DDNS en Wake-on-Network te implementeren

[Link kopiëren]
Geplaatst op 09-03-2022 22:36:53 | | | |
Ik heb thuis een Raspberry Pi 3B (Raspberry Pi 3B Arm-architectuur 32-bit) en ik heb thuis stof geeten, omdat .NET Core-programma's cross-platform kunnen zijn, dus ik ga een website schrijven om op Raspberry Pi te implementeren. Het thuisbreedband heeft een openbaar IP-adres, maar het IP-adres verandert elke keer dat de router wordt herstart, en de gratis DDNS van de ASUS-router is niet erg eenvoudig te gebruiken (het thuis-IP is veranderd en de domeinnaamresolutie is niet op tijd van kracht geworden). Ik heb thuis een DELL-desktop en een DELL EMC-server, dus maak je klaar om een DDNS-service en een Wake-on-the-Internet-tool te schrijven met ASP.NET Core.

Met DDNS kun je dat welHaal het IP-adres van het internet thuis op tijd op, met behulp van de Wake-on-Network-functie is mogelijkMaak mijn DELL desktopcomputer wakker, wat handig is om informatie thuis te raadplegen.

Sites die met ASP.NET Core 6 zijn geschreven, worden op Raspberry Pi gedisponeerdHij draait al meer dan 3 maanden gestaag, zonder problemen.



Installeer de AspNetCore-runtime

Allereerst moet de Raspberry Pi worden geïnstalleerd met het Raspberry Pi OS-systeem, en de tutorial is als volgt:

Raspberry Pi 3B (Raspberry Pi 3B) is geïnstalleerd met het Raspberry Pi OS-systeem
https://www.itsvse.com/thread-10052-1-1.html

Installeer vervolgens AspNetCore Runtimes bovenop de Raspberry Pi, log in op de Raspberry Pi-host met SSH en gebruik hetsudo -iSchakel over naar root en maak een /usr/dotnet-map aan met het volgende commando:

Download aspnetcore-runtime-6.0.1-linux-arm.tar.gz en pak het uit met het volgende commando:

Om een soft link te maken, is het commando als volgt:

Op dit punt wordt de uitvoerende omgeving die ASP.NET Core-website vereist geïnstalleerd en wordt de geïnstalleerde runtime gecontroleerd, zoals weergegeven in de onderstaande figuur:



DDNS Dynamische Domeinnaamdienst

Roep de DNSPod-interface aan om DDNS dynamische domeinnaamdienst te implementeren, interfacedocument:De hyperlink-login is zichtbaar.

Maak een nieuw MVC-project aan ASP.NET Core 6 met VS 2022, maak een nieuw DNSPodOptions.cs-bestand aan om de parameters te configureren die nodig zijn voor de aanroepinterface, als volgt:

appsettings.json Voeg de volgende configuratie toe:

Pas het Program.cs-bestand aan om de configuratie-informatie toe te wijzen op de DNSPodOptions-klasse; de code is als volgt:

Maak een nieuw DDNSWorker.cs bestand aan, maak een achtergronddienst aan, verkrijg eens per minuut een IP-adres en roep de DNSPod-interface aan om de domeinnaamresolutie bij te werken als het IP-adres verandert. (Opmerking:Als er binnen 1 uur meer dan 5 verzoeken om records te wijzigen zonder wijzigingen worden ingediend, worden de records door het systeem 1 uur geblokkeerd en mogen ze niet opnieuw worden aangepast。 Bijvoorbeeld, de oorspronkelijke recordwaarde is al 1.1.1.1, en het nieuwe verzoek vereist ook dat deze wordt gewijzigd naar 1.1.1.1. )

De code is als volgt:

Wijzig het Program.cs-bestand en registreer de backend-service met de volgende code:

De volledige Program.cs code is als volgt:


De debugger kan de DNSPod-interface normaal aanroepen, als volgt:


Wake On LAN

Wake-on-LAN wordt afgekort als WOL of WoL, wat meestal in het Chinees wordt vertaald als "online wake-up" en "remote wake-up" technologie. WOL is een technologie, en het is ook de specificatie van deze technologie, en het effect ervan is dat een computer die in een stilstand- of afsluittoestand is geraakt, orders kan geven via het andere uiteinde van het lokale netwerk (voornamelijk Ethernet), zodat hij uit de sluimerstand ontwaakt, terugkeert naar de bedrijfsstand, of schakelt van afsluittoestand naar opstart. Daarnaast omvatten WOL-gerelateerde technologieën ook afstandsbedieningsmechanismen zoals afstandsbediening en herstart op afstand.

Pas de HomeController-controller aan en voeg de Wake-on-Network-interface toe, de code is als volgt:


Bewerk de Index.cshtml-pagina, voeg het MAC-adresinvoervak en de knop toe, en gebruik Ajax om de interface aan te roepen; de code is als volgt:

Begin het project zoals hieronder getoond:



Ingezet op de Raspberry Pi

Gebruik VS 2022 om een project uit te brengen, en upload het releasepakket naar de /home/pi/wol-map van de Raspberry Pi, zoals hieronder weergegeven:




Maak een nieuw nbddns.service-bestand aan onder de map /etc/systemd/system en registreer het project als een Linux-service, als volgt:

Start de nbddns-service en stel de boot in om automatisch te starten met het volgende commando:

Bekijk de servicestatus zoals weergegeven in de volgende figuur:



Tot slot, in de routerinstellingenPoortmapping, en vervolgens via de domeinnaam en de toegewezen extranetpoort mijn telefoon te bereikenGebruik 4G-netwerkenrechtstreeksJe kunt toegang krijgen tot ASP.NET Core-apps die bovenop de Raspberry Pi zijn geïnstalleerd, zoals getoond in de onderstaande figuur:



(Einde)





Vorig:ASP.NET Core (XI) eindpuntroute voegt middleware toe om alle DI-diensten weer te geven
Volgend:Linux ssh: commando niet gevonden
Geplaatst op 10-03-2022 11:16:19 |
Er is te zien dat er veel as is gegeten
Geplaatst op 12-03-2022 15:17:50 |
Kom en leer opnieuw.
 Huisbaas| Geplaatst op 23-09-2023 09:25:26 |
Linux systemd service manager in detail uitgelegd
https://www.itsvse.com/thread-10178-1-1.html
 Huisbaas| Geplaatst op 18-06-2024 13:06:36 |
ASP.NET Core (negentien) gebruikt BackgroundService om achtergrondtaken uit te voeren
https://www.itsvse.com/thread-10591-1-1.html
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com