Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 14475|Răspunde: 4

[Sursă] [Operațiune practică] ASP.NET Core 6 implementat pe ARM Raspberry Pi pentru a implementa DDNS și Wake-on-Network

[Copiază linkul]
Postat pe 09.03.2022 22:36:53 | | | |
Am un Raspberry Pi 3B (arhitectură Arm Raspberry Pi 3B pe 32 de biți) acasă și am început să mănânc praf acasă, pentru că programele .NET Core pot fi cross-platform, așa că voi scrie un site pe care să-l implementez pe Raspberry Pi. Banda largă de acasă are o adresă IP publică, dar adresa IP se va schimba de fiecare dată când routerul este repornit, iar DDNS-ul gratuit al routerului ASUS nu este foarte ușor de folosit (IP-ul de acasă s-a schimbat, iar rezoluția numelor de domeniu nu a intrat în vigoare la timp). Am un desktop DELL și un server EMC DELL acasă, așa că pregătește-te să scrii un serviciu DDNS și un instrument Wake-on-the-Internet cu ASP.NET Core.

Cu DDNS, poțiObține la timp adresa IP a Internetului de acasă, folosind funcția Wake-on-Network este posibilăSă trezesc calculatorul meu desktop DELL, ceea ce este convenabil pentru consultarea informațiilor acasă.

Site-urile scrise folosind ASP.NET Core 6 sunt implementate pe Raspberry PiFuncționează constant de mai bine de 3 luni, fără nicio problemă.



Instalează runtime-ul AspNetCore

În primul rând, Raspberry Pi trebuie instalat cu sistemul Raspberry Pi OS, iar tutorialul este următorul:

Raspberry Pi 3B (Raspberry Pi 3B) este instalat cu sistemul de operare Raspberry Pi
https://www.itsvse.com/thread-10052-1-1.html

Apoi instalează runtime-uri AspNetCore deasupra Raspberry Pi, conectează-te la gazda Raspberry Pi folosind SSH și folosește-lsudo -iComută pe root și creează un folder /usr/dotnet cu următoarea comandă:

Descarcă aspnetcore-runtime-6.0.1-linux-arm.tar.gz și decomprimă-l cu următoarea comandă:

Pentru a crea o legătură soft, comanda este următoarea:

În acest moment, mediul de rulare necesar pentru site-ul ASP.NET Core este instalat, iar timpul de execuție instalat este verificat, așa cum se vede în figura de mai jos:



Serviciul Dinamic de Nume de Domenii DDNS

Apelează interfața DNSPod pentru a implementa serviciul dinamic de nume de domeniu DDNS, document de interfață:Autentificarea cu hyperlink este vizibilă.

Creează un nou proiect MVC ASP.NET Core 6 folosind VS 2022, creează un nou fișier DNSPodOptions.cs pentru a configura parametrii necesari interfeței de invocare, după cum urmează:

appsettings.json Adaugă următoarea configurație:

Modifică fișierul Program.cs pentru a mapa informațiile de configurare la clasa DNSPodOptions, iar codul este următorul:

Creează un nou fișier DDNSWorker.cs, creează un serviciu de fundal, obține o adresă IP o dată pe minut și apelează interfața DNSPod pentru a actualiza rezoluția numelui de domeniu dacă adresa IP se schimbă. (Notă:Dacă mai mult de 5 cereri de modificare a înregistrărilor fără nicio modificare sunt trimise în decurs de 1 oră, înregistrările vor fi blocate de sistem timp de 1 oră și nu vor mai putea fi modificate。 De exemplu, valoarea originală a înregistrării este deja 1.1.1.1, iar noua cerere necesită de asemenea schimbarea acesteia în 1.1.1.1. )

Codul este următorul:

Modificați fișierul Program.cs și înregistrați serviciul backend cu următorul cod:

Codul Program.cs complet este următorul:


Depanorul poate chema interfața DNSPod în mod normal, după cum urmează:


Wake On LAN

Wake-on-LAN este prescurtat WOL sau WoL, care este tradus în principal în chineză ca "trezire online" și tehnologie "trezire la distanță". WOL este o tehnologie și este, de asemenea, specificația acestei tehnologii, iar efectul său este de a permite unui calculator care a intrat într-o stare de latentă sau oprire să emită ordine către el prin celălalt capăt al rețelei locale (în principal Ethernet), astfel încât să se trezească din hibernare, să revină la starea de funcționare sau să comute de la starea de oprire la cea de boot. În plus, tehnologiile legate de WOL includ și mecanisme de control de la distanță, cum ar fi oprirea la distanță și repornirea de la distanță.

Modifică controlerul HomeController și adaugă interfața Wake-on-Network, codul este următorul:


Editează pagina Index.cshtml, adaugă caseta și butonul de introducere pentru adresa MAC și folosește Ajax pentru a chema interfața, codul este următorul:

Începe proiectul așa cum se arată mai jos:



Desfășurat pe Raspberry Pi

Folosind VS 2022 pentru a lansa un proiect, încărcați pachetul de lansare în folderul /home/pi/wol al Raspberry Pi, așa cum se arată mai jos:




Creează un nou fișier nbddns.service sub folderul /etc/systemd/system și înregistrează proiectul ca serviciu Linux, după cum urmează:

Pornește serviciul nbddns și setează bootul să înceapă pornirea automată cu următoarea comandă:

Vizualizați starea serviciului așa cum este prezentată în următoarea figură:



În final, în setările routeruluiCartografierea porturilor, și apoi acces prin numele de domeniu și portul extranet mapat, telefonul meuFolosiți rețele 4GdirectPoți accesa ASP.NET aplicații Core implementate deasupra Raspberry Pi-ului, așa cum se arată în figura de mai jos:



(Sfârșit)





Precedent:ASP.NET ruta Core (XI) pentru endpoint adaugă middleware pentru a afișa toate serviciile DI
Următor:Linux ssh: comandă negăsită
Postat pe 10.03.2022 11:16:19 |
Se poate observa că a fost mâncată multă cenușă
Postat pe 12.03.2022 15:17:50 |
Vino și învață din nou
 Proprietarul| Postat pe 23.09.2023 09:25:26 |
Managerul de servicii Linux systemd explicat în detaliu
https://www.itsvse.com/thread-10178-1-1.html
 Proprietarul| Postat pe 18.06.2024 13:06:36 |
ASP.NET Core (nouăsprezece) folosește BackgroundService pentru a rula sarcini în fundal
https://www.itsvse.com/thread-10591-1-1.html
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com