Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 14475|Odpoveď: 4

[Zdroj] [Praktická prevádzka] ASP.NET Core 6 nasadený na ARM Raspberry Pi na implementáciu DDNS a Wake-on-Network

[Kopírovať odkaz]
Zverejnené 9. 3. 2022 22:36:53 | | | |
Doma mám Raspberry Pi 3B (Raspberry Pi 3B Arm architecture 32-bit) a doma som sa zanedbával, pretože .NET Core programy môžu byť multiplatformové, takže plánujem napísať webovú stránku na nasadenie na Raspberry Pi. Domáce širokopásmové pripojenie má verejnú IP adresu, ale tá sa mení pri každom reštarte routera a bezplatné DDNS ASUS routera nie je veľmi jednoduché na používanie (domáca IP adresa sa zmenila a riešenie doménového mena sa neprejavilo včas). Doma mám DELL desktop a DELL EMC server, takže sa pripravte napísať DDNS službu a nástroj Wake-on-the-Internet s ASP.NET Core.

S DDNS môžeteZískajte IP adresu internetu doma včas, použitie funkcie Wake-on-Network je možnéPrebuď môj stolný počítač DELL, čo je pohodlné na konzultáciu informácií doma.

Stránky napísané pomocou ASP.NET Core 6 sú nasadené na Raspberry PiBeží nepretržite už viac ako 3 mesiace, bez problémov.



Nainštalujte runtime AspNetCore

Najprv je potrebné nainštalovať Raspberry Pi spolu so systémom Raspberry Pi OS a návod je nasledovný:

Raspberry Pi 3B (Raspberry Pi 3B) je nainštalovaný so systémom Raspberry Pi OS
https://www.itsvse.com/thread-10052-1-1.html

Potom nainštaluj AspNetCore Runtime na Raspberry Pi, prihlás sa na hostiteľa Raspberry Pi cez SSH a používaj hosudo -iPrepnite na root a vytvorte priečinok /usr/dotnet pomocou nasledujúceho príkazu:

Stiahnite aspnetcore-runtime-6.0.1-linux-arm.tar.gz a rozbaľte ho nasledujúcim príkazom:

Na vytvorenie mäkkého odkazu je príkaz nasledovný:

V tomto bode sa nainštaluje bežiace prostredie požadované ASP.NET Core webovou stránkou a skontroluje sa nainštalovaný runtime, ako je znázornené na obrázku nižšie:



DDNS Dynamická služba doménových mien

Zavolajte rozhranie DNSPod na implementáciu dynamickej služby doménových mien DDNS, dokument rozhrania:Prihlásenie na hypertextový odkaz je viditeľné.

Vytvorte nový MVC projekt ASP.NET Core 6 pomocou VS 2022, vytvorte nový DNSPodOptions.cs súbor na konfiguráciu parametrov potrebných pre rozhranie vyvolávania, nasledovne:

appsettings.json Pridajte nasledujúcu konfiguráciu:

Upravte Program.cs súbor tak, aby konfiguračné informácie mapoval na triedu DNSPodOptions, kód je nasledovný:

Vytvorte nový DDNSWorker.cs súbor, vytvorte službu na pozadí, získajte IP adresu raz za minútu a zavolajte rozhranie DNSPOD na aktualizáciu rozlíšenia doménového mena, ak sa IP adresa zmení. (Poznámka:Ak je do 1 hodiny podaných viac ako 5 žiadostí o úpravu záznamov bez akýchkoľvek zmien, záznamy budú na 1 hodinu zablokované systémom a už ich nebude možné upravovať。 Napríklad pôvodná hodnota záznamu je už 1.1.1.1 a nová požiadavka tiež vyžaduje jej zmenu na 1.1.1.1. )

Kód je nasledovný:

Upravte Program.cs súbor a zaregistrujte backendovú službu s nasledujúcim kódom:

Kompletný Program.cs kód je nasledovný:


Debugger môže normálne volať rozhranie DNSPod, nasledovne:


Wake On LAN

Wake-on-LAN sa skrátene označuje ako WOL alebo WoL, čo sa do čínštiny väčšinou prekladá ako "online wake-up" a "remote wake-up" technológia. WOL je technológia, ktorá je zároveň jej špecifikáciou, a jej účinkom je umožniť počítaču, ktorý vstúpil do stavu nečinnosti alebo vypnutia, vydávať mu príkazy cez druhý koniec lokálnej siete (väčšinou Ethernet), aby sa prebudil z hibernácie, obnovil prevádzkový stav alebo prešiel z vypnutia do štartovacieho stavu. Okrem toho technológie súvisiace s WOL zahŕňajú aj mechanizmy diaľkového ovládania, ako je diaľkové vypnutie a diaľkový reštart.

Upravte ovládač HomeController a pridajte rozhranie Wake-on-Network, kód je nasledovný:


Upravte stránku Index.cshtml, pridajte vstupné pole a tlačidlo MAC adresy a použite Ajax na vyvolanie rozhrania, kód je nasledovný:

Začnite projekt tak, ako je uvedené nižšie:



Nasadené na Raspberry Pi

Pri použití VS 2022 na vydanie projektu nahrajte release balík do priečinka /home/pi/wol na Raspberry Pi, ako je uvedené nižšie:




Vytvorte nový súbor nbddns.service v priečinku /etc/systemd/system a zaregistrujte projekt ako Linux službu, nasledovne:

Spusti službu nbddns a nastav štart tak, aby automaticky štartoval nasledujúcim príkazom:

Pozrite si stav prevádzky, ako je znázornené na nasledujúcom obrázku:



Nakoniec v nastaveniach routeraMapovanie portov, a potom prístup cez doménové meno a mapovaný extranetový port, môj telefónPoužívajte 4G sietepriamyMôžete pristupovať k ASP.NET Core aplikáciám nasadeným na Raspberry Pi, ako je znázornené na obrázku nižšie:



(Koniec)





Predchádzajúci:ASP.NET Core (XI) koncová trasa pridáva middleware na zobrazenie všetkých DI služieb
Budúci:Linux ssh: príkaz nenájdený
Zverejnené 10. 3. 2022 11:16:19 |
Je vidieť, že bolo zjedené veľa popola
Zverejnené 12. 3. 2022 15:17:50 |
Príď a uč sa znova
 Prenajímateľ| Zverejnené 23. 9. 2023 9:25:26 |
Linux systemd service manager podrobne vysvetlený
https://www.itsvse.com/thread-10178-1-1.html
 Prenajímateľ| Zverejnené 18. 6. 2024 13:06:36 |
ASP.NET Core (devätnásť) používa BackgroundService na vykonávanie úloh na pozadí
https://www.itsvse.com/thread-10591-1-1.html
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com