Namuose turiu Raspberry Pi 3B (Raspberry Pi 3B Arm architektūra 32 bitų) ir namuose valgau dulkes, nes .NET Core programos gali būti kelių platformų, todėl ketinu parašyti svetainę, kurią galėčiau įdiegti Raspberry Pi. Namų plačiajuostis ryšys turi viešą IP adresą, tačiau IP adresas pasikeis kiekvieną kartą, kai maršrutizatorius bus paleistas iš naujo, o nemokamu ASUS maršrutizatoriaus DDNS nėra labai paprasta naudoti (pasikeitė namų IP, o domeno vardo skiriamoji geba neįsigaliojo laiku). Namuose turiu DELL darbalaukį ir DELL EMC serverį, todėl pasiruoškite parašyti DDNS paslaugą ir "Wake-on-the-Internet" įrankį su "ASP.NET Core".
Naudodami DDNS galiteLaiku gaukite interneto IP adresą namuose, galima naudoti "Wake-on-Network" funkcijąPažadinti mano DELL stalinį kompiuterį, kuris yra patogus konsultuotis su informacija namuose.
Svetainės, parašytos naudojant ASP.NET Core 6, yra įdiegtos Raspberry PiJis stabiliai veikia daugiau nei 3 mėnesius, be jokių problemų.
Įdiekite "AspNetCore" vykdymo laiką
Pirma, Raspberry Pi reikia įdiegti su Raspberry Pi OS sistema, o pamoka yra tokia:
Tada įdiekite "AspNetCore Runtimes" ant "Raspberry Pi", prisijunkite prie "Raspberry Pi" pagrindinio kompiuterio naudodami SSH ir naudokite jįsudo -iPerjunkite į root ir sukurkite aplanką /usr/dotnet naudodami šią komandą:
Atsisiųskite aspnetcore-runtime-6.0.1-linux-arm.tar.gz ir išpakuokite ją naudodami šią komandą:
Norėdami sukurti minkštą nuorodą, komanda yra tokia:
Šiuo metu įdiegiama "ASP.NET Core" svetainei reikalinga veikimo aplinka ir patikrinamas įdiegtas vykdymo laikas, kaip parodyta paveikslėlyje žemiau:
DDNS dinaminių domenų vardų tarnyba
Iškvieskite DNSPod sąsają, kad įdiegtumėte DDNS dinaminio domeno vardo paslaugą, sąsajos dokumentą:Hipersaito prisijungimas matomas.
Sukurkite naują MVC projektą ASP.NET Core 6 naudodami VS 2022, sukurkite naują DNSPodOptions.cs failą, kad sukonfigūruotumėte iškvietimo sąsajai reikalingus parametrus, kaip nurodyta toliau:
appsettings.json Pridėkite šią konfigūraciją:
Modifikuokite Program.cs failą, kad susietumėte konfigūracijos informaciją su DNSPodOptions klase, kodas yra toks:
Sukurkite naują DDNSWorker.cs failą, sukurkite foninę paslaugą, kartą per minutę gaukite IP adresą ir paskambinkite DNSPod sąsajai, kad atnaujintumėte domeno vardo skiriamąją gebą, jei pasikeičia IP adresas. (Pastaba:Jei per 1 valandą pateikiama daugiau nei 5 prašymai keisti įrašus be jokių pakeitimų, sistema užrakins įrašus 1 valandai ir jų nebebus leidžiama keisti。 Pavyzdžiui, pradinė įrašo reikšmė jau yra 1.1.1.1, o naujoje užklausoje taip pat reikia ją pakeisti į 1.1.1.1. )
Kodas yra toks:
Pakeiskite Program.cs failą ir užregistruokite vidinę paslaugą naudodami šį kodą:
Visas Program.cs kodas yra toks:
Derintuvas gali įprastai iškviesti DNSPod sąsają taip:
Pabusti LAN
"Wake-on-LAN" yra sutrumpintas kaip WOL arba WoL, kuris dažniausiai verčiamas į kinų kalbą kaip "internetinis pažadinimas" ir "nuotolinis pažadinimas" technologija. WOL yra technologija, ir tai taip pat yra šios technologijos specifikacija, ir jos poveikis yra leisti kompiuteriui, kuris perėjo į ramybės arba išjungimo būseną, duoti nurodymus jam per kitą vietinio tinklo galą (dažniausiai Ethernet), kad jis pabustų iš užmigdymo režimo, atnaujintų į veikimo būseną arba persijungtų iš išjungimo būsenos į įkrovos būseną. Be to, su WOL susijusios technologijos taip pat apima nuotolinio valdymo mechanizmus, tokius kaip nuotolinis išjungimas ir nuotolinis paleidimas iš naujo.
Pakeiskite "HomeController" valdiklį ir pridėkite "Wake-on-Network" sąsają, kodas yra toks:
Redaguokite Index.cshtml puslapį, pridėkite MAC adreso įvesties laukelį ir mygtuką ir naudokite Ajax, kad iškviestumėte sąsają, kodas yra toks:
Pradėkite projektą, kaip parodyta toliau:
Įdiegta Raspberry Pi
Naudodami VS 2022 projektui išleisti, įkelkite leidimo paketą į Raspberry Pi aplanką /home/pi/wol, kaip parodyta toliau:
Sukurkite naują nbddns.service failą aplanke /etc/systemd/system ir užregistruokite projektą kaip "Linux" paslaugą taip:
Paleiskite nbddns paslaugą ir nustatykite, kad įkrova pradėtų automatinį paleidimą naudodami šią komandą:
Peržiūrėkite aptarnavimo būseną, kaip parodyta šiame paveikslėlyje:
Galiausiai maršrutizatoriaus nustatymuosePrievadų atvaizdavimas, tada per domeno vardą ir susietą ekstraneto prievadą pasiekti mano telefonasNaudokite 4G tinklustiesioginisGalite pasiekti ASP.NET Core programas, įdiegtas Raspberry Pi viršuje, kaip parodyta toliau pateiktame paveikslėlyje:
(Pabaiga)
|