Minulla on kotona Raspberry Pi 3B (Raspberry Pi 3B Arm -arkkitehtuuri 32-bittinen), ja olen syönyt pölyä kotona, koska .NET Core -ohjelmat voivat olla monialustaisia, joten aion kirjoittaa verkkosivuston Raspberry Pi:n käyttöönottoa varten. Kotilaajakaistalla on julkinen IP-osoite, mutta IP-osoite muuttuu aina, kun reititin käynnistetään uudelleen, ja ASUS-reitittimen vapaa DDNS ei ole kovin helppokäyttöinen (koti-IP on muuttunut, eikä verkkotunnuksen resoluutio ole tullut voimaan ajoissa). Minulla on kotona DELL-pöytäkone ja DELL EMC -palvelin, joten valmistaudu kirjoittamaan DDNS-palvelun ja Wake-on-the-Internet-työkalun ASP.NET Corella.
DDNS:n avulla voitHanki Internetin IP-osoite kotona ajoissa., käyttäen Wake-on-Network-funktiota on mahdollistaHerätä DELL-pöytätietokoneeni, mikä on kätevää kotona tiedon tarkistamiseen.
ASP.NET Core 6:lla kirjoitetut sivustot otetaan käyttöön Raspberry Pi:lläSe on toiminut tasaisesti yli kolme kuukautta, ilman ongelmia.
Asenna AspNetCore-ajonaika
Ensiksi Raspberry Pi täytyy asentaa Raspberry Pi OS -järjestelmään, ja opastus on seuraava:
Sitten asenna AspNetCore Runtimes Raspberry Pi:n päälle, kirjaudu Raspberry Pi -isäntään SSH:lla ja käytä sitäsudo -iVaihda root-tilaan ja luo /usr/dotnet-kansio seuraavalla komennolla:
Lataa aspnetcore-runtime-6.0.1-linux-arm.tar.gz ja avaa se seuraavalla komennolla:
Pehmeän linkin luomiseksi komento on seuraava:
Tässä vaiheessa ASP.NET Core-verkkosivuston vaatima juoksuympäristö asennetaan ja asennettu ajonaika tarkistetaan, kuten alla olevassa kuvassa näkyy:
DDNS-dynaaminen verkkotunnuspalvelu
Kutsu DNSPod-rajapintaa toteuttaaksesi DDNS-dynaamisen verkkotunnuksen palvelun, rajapintadokumentti:Hyperlinkin kirjautuminen on näkyvissä.
Luo uusi MVC-projekti Core 6 ASP.NET VS 2022:lla, luo uusi DNSPodOptions.cs-tiedosto kutsurajapinnan parametrien määrittämiseen seuraavasti:
appsettings.json Lisää seuraava kokoonpano:
Muokkaa Program.cs-tiedostoa siten, että konfiguraatiotiedot ovat DNSPodOptions-luokkaa, koodi on seuraava:
Luo uusi DDNSWorker.cs-tiedosto, luo taustapalvelu, hanki IP-osoite kerran minuutissa ja kutsu DNSPod-liitäntää päivittääksesi verkkotunnuksen resoluution, jos IP-osoite muuttuu. (Huomautus:Jos yli 5 pyyntöä muuttaa tietueita ilman muutoksia lähetetään tunnin sisällä, järjestelmä lukittaa tietueet tunniksi eikä niitä voi muuttaa uudelleen。 Esimerkiksi alkuperäinen tietuearvo on jo 1.1.1.1, ja uusi pyyntö vaatii myös sen muuttamisen muotoon 1.1.1.1. )
Koodi on seuraava:
Muokkaa Program.cs-tiedostoa ja rekisteröi taustapalvelu seuraavalla koodilla:
Täydellinen Program.cs-koodi on seuraava:
Debuggeri voi kutsua DNSPod-rajapintaa normaalisti seuraavasti:
Wake On LANi
Wake-on-LAN lyhennetään muotoon WOL tai WoL, joka käännetään kiinaksi enimmäkseen "verkkoherätykseksi" ja "etäherätykseksi". WOL on teknologia, ja se on myös tämän teknologian määrittely, ja sen vaikutuksena on se, että tietokone, joka on siirtynyt lepotilaan tai sammutustilaan, voi lähettää käskyjä sille lähiverkon toisessa päässä (pääasiassa Ethernetissä), jolloin se herää horroksesta, palaa toimintatilaan tai vaihtaa sammutustilasta käynnistystilaan. Lisäksi WOL:iin liittyvät teknologiat sisältävät myös kauko-ohjausmekanismeja, kuten etäsammutuksen ja uudelleenkäynnistyksen.
Muokkaa HomeController-ohjainta ja lisää Wake-on-Network-liitäntä, koodi on seuraava:
Muokkaa Index.cshtml-sivua, lisää MAC-osoitteen syöttölaatikko ja -painike sekä käytä Ajaxia käyttöliittymän kutsumiseen, koodi on seuraava:
Aloita projekti alla esitetyn mukaisesti:
Raspberry Pi -aluksella
VS 2022:n avulla julkaisemalla projektin lataamalla julkaisupaketti Raspberry Pi:n /home/pi/wol-kansioon, kuten alla on esitetty:
Luo uusi nbddns.service-tiedosto kansion /etc/systemd/system alle ja rekisteröi projekti Linux-palveluksi seuraavasti:
Käynnistä nbddns-palvelu ja aseta käynnistys käynnistämään automaattinen käynnistys seuraavalla komennolla:
Katso palvelun tila seuraavassa kuvassa:
Lopuksi, reitittimen asetuksissaPorttikartoitus, ja sitten pääsy verkkotunnuksen ja kartoitetun extranet-portin kautta puhelimeni kauttaKäytä 4G-verkkojasuoraVoit käyttää ASP.NET Core-sovelluksia, jotka on asennettu Raspberry Pi:n päälle, kuten alla olevassa kuvassa näkyy:
(Loppu)
|