Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 14475|Risposta: 4

[Fonte] [Operazione Pratica] ASP.NET Core 6 è stato implementato su ARM Raspberry Pi per implementare DDNS e Wake-on-Network

[Copiato link]
Pubblicato su 09/03/2022 22:36:53 | | | |
Ho un Raspberry Pi 3B (architettura Arm 32-bit Raspberry Pi 3B) a casa, e sto mangiando polvere a casa, perché i programmi .NET Core possono essere multipiattaforma, quindi scriverò un sito web da distribuire su Raspberry Pi. La banda larga domestica ha un indirizzo IP pubblico, ma l'indirizzo IP cambia ogni volta che il router viene riavviato, e il DDNS gratuito del router ASUS non è molto facile da usare (l'IP di casa è cambiato e la risoluzione del nome di dominio non è stata effettiva in tempo). Ho un desktop DELL e un server EMC DELL a casa, quindi preparati a scrivere un servizio DDNS e uno strumento Wake-on-the-Internet con ASP.NET Core.

Con DDNS puoiOttieni l'indirizzo IP di Internet a casa in tempo, usando la funzione Wake-on-Network è possibileRisvegliare il mio computer desktop DELL, il che è comodo per consultare informazioni a casa.

I siti scritti con ASP.NET Core 6 sono distribuiti su Raspberry PiVa avanti in modo costante da più di 3 mesi, senza alcun problema.



Installa il runtime AspNetCore

Innanzitutto, il Raspberry Pi deve essere installato con il sistema operativo Raspberry Pi, e il tutorial è il seguente:

Raspberry Pi 3B (Raspberry Pi 3B) è installato con il sistema operativo Raspberry Pi
https://www.itsvse.com/thread-10052-1-1.html

Poi installa i runtime AspNetCore sopra il Raspberry Pi, accedi all'host del Raspberry Pi usando SSH e usaloSudo -IPassa alla root e crea una cartella /usr/dotnet con il seguente comando:

Scarica aspnetcore-runtime-6.0.1-linux-arm.tar.gz e scomprimilo con il seguente comando:

Per creare un collegamento soft, il comando è il seguente:

A questo punto, l'ambiente di esecuzione richiesto dal sito Core ASP.NET viene installato e viene controllato il runtime installato, come mostrato nella figura sottostante:



Servizio Dinamico di Nomi di Dominio DDNS

Chiama l'interfaccia DNSPod per implementare il servizio dinamico di nomi di dominio DDNS, documento di interfaccia:Il login del link ipertestuale è visibile.

Crea un nuovo progetto MVC ASP.NET Core 6 usando VS 2022, crea un nuovo file DNSPodOptions.cs per configurare i parametri richiesti per l'interfaccia di invocazione, come segue:

appsettings.json Aggiungi la seguente configurazione:

Modifica il file Program.cs per mappare le informazioni di configurazione alla classe DNSPodOptions, il codice è il seguente:

Crea un nuovo file DDNSWorker.cs, crea un servizio in background, ottieni un indirizzo IP una volta al minuto e chiama l'interfaccia DNSPod per aggiornare la risoluzione del nome di dominio se l'indirizzo IP cambia. (Nota:Se vengono presentate più di 5 richieste di modifica dei record senza alcuna modifica entro 1 ora, i record verranno bloccati dal sistema per 1 ora e non potranno più essere modificati。 Ad esempio, il valore originale del record è già 1.1.1.1, e la nuova richiesta richiede anche che venga cambiato in 1.1.1.1. )

Il codice è il seguente:

Modifica il file Program.cs e registra il servizio backend con il seguente codice:

Il codice completo Program.cs è il seguente:


Il debugger può chiamare normalmente l'interfaccia DNSPod, come segue:


Sveglia su LAN

Wake-on-LAN è abbreviato come WOL o WoL, che viene tradotto principalmente in cinese come tecnologia "risveglio online" e "risveglio remoto". Il WOL è una tecnologia, ed è anche la specifica di questa tecnologia, e il suo effetto è permettere a un computer entrato in uno stato di dormienza o spegnimento di emettere ordini attraverso l'altra estremità della rete locale (principalmente Ethernet), così che si risvegli dall'ibernazione, riprenda allo stato operativo o passi dallo stato di spegnimento a quello di avvio. Inoltre, le tecnologie legate a WOL includono anche meccanismi di controllo remoto come lo spegnimento remoto e il riavvio remoto.

Modifica il controller HomeController e aggiungi l'interfaccia Wake-on-Network, il codice è il seguente:


Modifica la pagina Index.cshtml, aggiungi la casella e il pulsante di input dell'indirizzo MAC, e usa Ajax per chiamare l'interfaccia, il codice è il seguente:

Inizia il progetto come mostrato qui sotto:



Schierato sul Raspberry Pi

Utilizzando VS 2022 per rilasciare un progetto, carica il pacchetto di rilascio nella cartella /home/pi/wol del Raspberry Pi, come mostrato di seguito:




Crea un nuovo file nbddns.service sotto la cartella /etc/systemd/system e registra il progetto come servizio Linux, come segue:

Avvia il servizio nbddns e imposta l'avvio per avviare l'auto-start con il seguente comando:

Visualizza lo stato del servizio come mostrato nella figura seguente:



Infine, nelle impostazioni del routerMappatura delle porte, e poi accesso tramite il nome di dominio e la porta extranet mappata, il mio telefonoUsa reti 4GdirettoPuoi accedere alle ASP.NET app Core distribuite sopra il Raspberry Pi, come mostrato nella figura sottostante:



(Fine)





Precedente:ASP.NET percorso endpoint Core (XI) aggiunge middleware per visualizzare tutti i servizi DI
Prossimo:Linux ssh: comando non trovato
Pubblicato su 10/03/2022 11:16:19 |
Si può vedere che molta cenere è stata mangiata
Pubblicato su 12/03/2022 15:17:50 |
Vieni a imparare di nuovo
 Padrone di casa| Pubblicato su 23/09/2023 09:25:26 |
Linux systemd service manager spiegato in dettaglio
https://www.itsvse.com/thread-10178-1-1.html
 Padrone di casa| Pubblicato su 18/06/2024 13:06:36 |
ASP.NET Core (diciannove) utilizza BackgroundService per eseguire task in background
https://www.itsvse.com/thread-10591-1-1.html
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com