Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 14475|Odgovoriti: 4

[Vir] [Praktično delovanje] ASP.NET Core 6 nameščen na ARM Raspberry Pi za implementacijo DDNS in Wake-on-Network

[Kopiraj povezavo]
Objavljeno na 9. 03. 2022 22:36:53 | | | |
Doma imam Raspberry Pi 3B (Raspberry Pi 3B Arm arhitektura 32-bit) in doma sem bil precej neuporaben, ker so .NET Core programi lahko večplatformski, zato bom napisal spletno stran za namestitev na Raspberry Pi. Domači širokopasovni internet ima javni IP naslov, vendar se ta IP naslov spremeni vsakič, ko se usmerjevalnik ponovno zažene, brezplačni DDNS ASUS usmerjevalnika pa ni ravno enostaven za uporabo (domači IP se je spremenil, reševanje domen pa ni pravočasno začelo delovati). Doma imam DELL namizje in DELL EMC strežnik, zato se pripravite na pisanje DDNS storitve in orodja za prebujanje na internetu z ASP.NET Core.

Z DDNS lahkoPravočasno pridobite IP naslov interneta doma, uporaba funkcije Wake-on-Network je mogočaZbudi moj DELL namizni računalnik, kar je priročno za iskanje informacij doma.

Strani, napisane z uporabo ASP.NET Core 6, so nameščene na Raspberry PiDeluje neprekinjeno že več kot 3 mesece, brez težav.



Namestite runtime AspNetCore

Najprej je treba Raspberry Pi namestiti skupaj s sistemom Raspberry Pi OS, vodič pa je naslednji:

Raspberry Pi 3B (Raspberry Pi 3B) je nameščen s sistemom Raspberry Pi OS
https://www.itsvse.com/thread-10052-1-1.html

Nato namesti AspNetCore Runtime na Raspberry Pi, se prijavi na gostitelja Raspberry Pi preko SSH in ga uporabisudo -iPreklopite na root in ustvarite mapo /usr/dotnet z naslednjim ukazom:

Prenesite aspnetcore-runtime-6.0.1-linux-arm.tar.gz in ga razpakirajte z naslednjim ukazom:

Za ustvarjanje mehke povezave je ukaz naslednji:

Na tej točki se namesti okolje, ki ga ASP.NET zahteva spletna stran Core, in preveri se nameščeni čas izvajanja, kot je prikazano na spodnji sliki:



DDNS dinamična storitev domenskih imen

Pokličite DNSPod vmesnik za implementacijo DDNS dinamične storitve domenskih imen, dokument vmesnika:Prijava do hiperpovezave je vidna.

Ustvarite nov MVC projekt ASP.NET Core 6 z uporabo VS 2022, ustvarite novo DNSPodOptions.cs datoteko za nastavitev parametrov, potrebnih za vmesnik za klice, kot sledi:

appsettings.json Dodajte naslednjo konfiguracijo:

Spremenite datoteko Program.cs, da konfiguracijske informacije preslikamo na razred DNSPodOptions, koda je naslednja:

Ustvarite novo DDNSWorker.cs datoteko, ustvarite storitev v ozadju, pridobite IP naslov enkrat na minuto in pokličite vmesnik DNSPPOD, da posodobite ločljivost domen, če se IP naslov spremeni. (Opomba:Če je v eni uri oddanih več kot 5 zahtevkov za spremembo brez sprememb, bodo zapisi zaklenjeni za 1 uro in jih ne bo več mogoče spreminjati。 Na primer, izvirna vrednost zapisa je že 1.1.1.1, nova zahteva pa zahteva tudi njeno spremembo na 1.1.1.1. )

Koda je naslednja:

Spremenite datoteko Program.cs in registrirajte backend storitev z naslednjo kodo:

Celotna Program.cs koda je naslednja:


Razhroščevalnik lahko normalno pokliče DNSPod vmesnik, kot sledi:


Wake On LAN

Wake-on-LAN je okrajšano kot WOL ali WoL, kar se v kitajščini večinoma prevaja kot »spletno prebujanje« in »oddaljeno prebujanje«. WOL je tehnologija in je tudi specifikacija te tehnologije, njen učinek pa je, da računalniku, ki je vstopil v stanje mirovanja ali izklopa, lahko preko drugega konca lokalnega omrežja (večinoma Ethernet) izda ukaze, tako da se prebudi iz hibernacije, nadaljuje v delovno stanje ali preklopi iz stanja izklopa v stanje zagona. Poleg tega tehnologije, povezane z WOL, vključujejo tudi mehanizme daljinskega upravljanja, kot sta oddaljeno izklopljanje in oddaljeni ponovni zagon.

Če spremenite krmilnik HomeController in dodate vmesnik Wake-on-Network, je koda naslednja:


Uredite stran Index.cshtml, dodajte vhodno polje in gumb za MAC naslov ter uporabite Ajax za klic vmesnika, koda je naslednja:

Projekt začnite tako, kot je prikazano spodaj:



Nameščeno na Raspberry Pi

Z uporabo VS 2022 za izdajo projekta naložite paket izdaje v mapo /home/pi/wol Raspberry Pi, kot je prikazano spodaj:




Ustvarite novo datoteko nbddns.service v mapi /etc/systemd/system in registrirajte projekt kot Linux storitev, kot sledi:

Zaženi storitev nbddns in nastavi zagon na samodejni zagon z naslednjim ukazom:

Oglejte si stanje storitve, kot je prikazano na naslednji sliki:



Nazadnje, v nastavitvah usmerjevalnikaKartiranje vrat, in nato dostopati preko domene in kartiranega priključka za ekstranet, moj telefonUporaba 4G omrežijneposredenDostopate lahko do ASP.NET Core aplikacij, nameščenih na Raspberry Pi, kot je prikazano na spodnji sliki:



(Konec)





Prejšnji:ASP.NET Core (XI) končna pot doda vmesno programsko opremo za prikaz vseh DI storitev
Naslednji:Linux ssh: ukaz ni najden
Objavljeno na 10. 03. 2022 11:16:19 |
Videti je, da je bilo pojedeno veliko pepela
Objavljeno na 12. 03. 2022 15:17:50 |
Pridi in se spet uči
 Najemodajalec| Objavljeno na 23. 09. 2023 09:25:26 |
Linux systemd service manager je podrobno razložen
https://www.itsvse.com/thread-10178-1-1.html
 Najemodajalec| Objavljeno na 18. 06. 2024 13:06:36 |
ASP.NET Core (devetnajst) uporablja BackgroundService za izvajanje ozadja
https://www.itsvse.com/thread-10591-1-1.html
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com