Otthon van egy Raspberry Pi 3B-m (Raspberry Pi 3B Arm architektúra 32-bit), és otthon már nagyon sok por vagyok, mert a .NET Core programok lehetnek többplatformosak, ezért írok egy weboldalt, amit Raspberry Pi-n telepíthetek. Az otthoni szélessávú hálózatnak nyilvános IP-címe van, de az IP-cím minden újraindításkor változik, és az ASUS router szabad DDNS-je nem túl könnyen használható (az otthoni IP-cím megváltozott, és a domain név felbontása nem lépett időben érvényesülni). Van egy DELL asztali gépem és egy DELL EMC szerverem otthon, szóval készülj fel arra, hogy DDNS szolgáltatást és Wake-on-the-Internet eszközt írj ASP.NET Core-val.
A DDNS-szelIdőben szerezd meg az internet IP-címét otthon, a Wake-on-Network függvény használatával lehetségesÉbresszem fel a DELL asztali gépemet, ami kényelmes az otthoni információk megvizsgálásához.
A Core 6 ASP.NET használatával írt oldalakat Raspberry Pi-n telepítikTöbb mint 3 hónapja folyamatosan működik, gond nélkül.
Telepítse az AspNetCore runtime-t
Először is, a Raspberry Pi-t a Raspberry Pi OS rendszerrel kell telepíteni, és az útmutató a következő:
Ezután telepítsd az AspNetCore Runtime-okat a Raspberry Pi fölé, jelentkezz be a Raspberry Pi hosztra SSH-val, és használdSudo -iVálts root mappára, és hozz létre egy /usr/dotnet mappát a következő parancskal:
Töltsd le aspnetcore-runtime-6.0.1-linux-arm.tar.gz, és oldd ki a következő parancsot:
A lágy link létrehozásához a parancs a következő:
Ekkor telepítve van a ASP.NET Core weboldal által szükséges futó környezet, és ellenőrizve van a telepített futóidő, ahogy az alábbi ábrán látható:
DDNS Dinamikus Domain Név Szolgáltatás
Hívjuk a DNSPod interfészt a DDNS dinamikus domain név szolgáltatás megvalósításához, interfész dokumentum:A hiperlink bejelentkezés látható.
Hozz létre egy új MVC projektet a Core 6 ASP.NET VS 2022-vel, hozz létre egy új DNSPodOptions.cs fájlt a meghívási felülethez szükséges paraméterek konfigurálásához, az alábbiak szerint:
appsettings.json Add hozzá a következő konfigurációt:
Módosítsuk a Program.cs fájlt úgy, hogy a konfigurációs információkat a DNSPodOptions osztályhoz rendelje, a kód a következő:
Hozz létre egy új DDNSWorker.cs fájlt, hozz létre háttérszolgáltatást, szerezz be egy IP-címet percenként, és hívd a DNSPod interfészt, hogy frissítse a domain név felbontását, ha az IP-cím változik. (Megjegyzés:Ha 1 órán belül több mint 5 módosítási dokumentum módosítási kérelmet nyújtanak be, a rendszer 1 órára zárja a rekordokat, és nem engedi őket újra módosítani。 Például az eredeti rekordérték már 1.1.1.1, és az új kéréshez is módosítani kell 1.1.1.1-re. )
A kódex a következő:
Módosítsa a Program.cs fájlt, és regisztrálja a háttérszolgáltatást a következő kóddal:
A teljes Program.cs kód a következő:
A hibakereső normál módon hívhatja a DNSPod interfészt, a következőkép:
Wake On LAN-en
A Wake-on-LAN-t WOL vagy WoL rövidítik, amelyet kínaiul leginkább "online ébresztőként" és "távoli ébresztőként" fordítanak le. A WOL egy technológia, és egyben ennek a technológiának a specifikációja is, és annak hatása az, hogy egy számítógép, amely alunnáli vagy leállított állapotba lépett, parancsokat adjon neki a helyi hálózat másik végén (főként Etherneten), így az a hibernációból felébred, visszatér működési állapotba, vagy leállító állapotból boot állapotba vált. Ezen felül a WOL-hoz kapcsolódó technológiák közé tartoznak a távirányítási mechanizmusok is, mint például távoli leállítás és távoli újraindítás.
Módosítsuk a HomeController vezérlőt és adjuk hozzá a Wake-on-Network interfészt, a kód a következő:
Szerkesztsd az Index.cshtml oldalt, add hozzá a MAC cím beviteli dobozt és gombot, majd Ajax-szal hívd meg az interfészt, a kód a következő:
Kezdjük a projektet az alábbiak szerint is:
Bevetésben a Raspberry Pi-n
A VS 2022 használatával kiadva egy projektet, töltsd fel a kiadási csomagot a Raspberry Pi /home/pi/wol mappájába, ahogy az alábbiakban látható:
Hozz létre egy új nbddns.service fájlt az /etc/systemd/system mappában, és regisztráld a projektet Linux szolgáltatásként az alábbiak szerint:
Indítsd el az nbddns szolgáltatást, és állítsd be a bootot automatikus indításra a következő parancsval:
Tekintse meg a szolgáltatás státuszát az alábbi ábrán látható módon:
Végül, a router beállításaibanPorttérképezés, majd a domain neven és a feltérképezett extranet porton keresztül a telefonomhoz jutnak4G hálózatok használataközvetlenHozzáférhetsz ASP.NET Core alkalmazásokhoz, amelyeket a Raspberry Pi-n telepítettek, ahogy az alábbi ábrán látható:
(Vége)
|