Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 14475|Répondre: 4

[Source] [Opération pratique] ASP.NET Core 6 déployé sur ARM Raspberry Pi pour implémenter DDNS et Wake-on-Network

[Copié le lien]
Publié sur 09/03/2022 22:36:53 | | | |
J’ai un Raspberry Pi 3B (architecture Arm 32 bits Raspberry Pi 3B) à la maison, et j’ai pris la poussière chez moi, car les programmes .NET Core peuvent être multiplateformes, donc je vais écrire un site web à déployer sur Raspberry Pi. Le haut débit domestique a une adresse IP publique, mais celle-ci change à chaque redémarrage du routeur, et le DDNS gratuit du routeur ASUS n’est pas très facile à utiliser (l’IP domestique a changé, et la résolution du nom de domaine n’a pas pris effet à temps). J’ai un bureau DELL et un serveur EMC DELL à la maison, alors préparez-vous à écrire un service DDNS et un outil Wake-on-the-Internet avec ASP.NET Core.

Avec DDNS, vous pouvezObtenez l’adresse IP d’Internet chez vous à temps, en utilisant la fonction Wake-on-Network est possibleRéveille mon ordinateur de bureau DELL, ce qui est pratique pour consulter des informations à domicile.

Les sites écrits avec ASP.NET Core 6 sont déployés sur Raspberry PiElle fonctionne régulièrement depuis plus de 3 mois, sans aucun problème.



Installer l’exécution AspNetCore

Tout d’abord, le Raspberry Pi doit être installé avec le système Raspberry Pi OS, et le tutoriel est le suivant :

Raspberry Pi 3B (Raspberry Pi 3B) est installé avec le système d’exploitation Raspberry Pi
https://www.itsvse.com/thread-10052-1-1.html

Ensuite, installer les runtimes AspNetCore par-dessus le Raspberry Pi, se connecter à l’hôte Raspberry Pi via SSH, et l’utiliserSudo -IPassez à la racine et créez un dossier /usr/dotnet avec la commande suivante :

Téléchargez aspnetcore-runtime-6.0.1-linux-arm.tar.gz et décompressez-le avec la commande suivante :

Pour créer un lien logiciel, la commande est la suivante :

À ce stade, l’environnement d’exécution requis par ASP.NET site Core est installé, et le temps d’exécution installé est vérifié, comme montré dans la figure ci-dessous :



Service dynamique de noms de domaine DDNS

Appelez l’interface DNSPod pour implémenter le service dynamique de noms de domaine DDNS, document d’interface :La connexion hyperlientérée est visible.

Créer un nouveau projet MVC ASP.NET Core 6 en utilisant VS 2022, créer un nouveau fichier DNSPodOptions.cs pour configurer les paramètres nécessaires à l’interface d’invocation, comme suit :

appsettings.json Ajouter la configuration suivante :

Modifiez le fichier Program.cs pour associer les informations de configuration à la classe DNSPodOptions, le code est le suivant :

Créez un nouveau fichier DDNSWorker.cs, créez un service en arrière-plan, obtenez une adresse IP une fois par minute, et appelez l’interface DNSPod pour mettre à jour la résolution du nom de domaine si l’adresse IP change. (Note :Si plus de 5 demandes de modification des enregistrements sans aucune modification sont soumises dans l’espace d’une heure, les enregistrements seront verrouillés par le système pendant 1 heure et ne pourront plus être modifiés。 Par exemple, la valeur originale de l’enregistrement est déjà 1.1.1.1, et la nouvelle requête nécessite également de la changer en 1.1.1.1. )

Le code est le suivant :

Modifiez le fichier Program.cs et enregistrez le service backend avec le code suivant :

Le code complet de Program.cs est le suivant :


Le débogueur peut appeler normalement l’interface DNSPod, comme suit :


Veille sur le réseau local

Wake-on-LAN est abrégé en WOL ou WoL, ce qui se traduit principalement en chinois par « réveil en ligne » et technologie de « réveil à distance ». La WOL est une technologie, et c’est aussi la spécification de cette technologie, et son effet est de permettre à un ordinateur entré en dormance ou d’arrêt de lui donner des ordres via l’autre extrémité du réseau local (principalement Ethernet), de sorte qu’il se réveille de l’hibernation, reprend l’état de fonctionnement, ou passe de l’état d’arrêt à l’état de démarrage. De plus, les technologies liées à WOL incluent également des mécanismes de contrôle à distance tels que l’arrêt à distance et le redémarrage à distance.

Modifiez le contrôleur HomeController et ajoutez l’interface Wake-on-Network, le code est le suivant :


Modifiez la page Index.cshtml, ajoutez la boîte d’entrée et le bouton de l’adresse MAC, et utilisez Ajax pour appeler l’interface, le code est le suivant :

Commencez le projet comme indiqué ci-dessous :



Déploié sur le Raspberry Pi

En utilisant VS 2022 pour publier un projet, téléchargez le paquet de release dans le dossier /home/pi/wol du Raspberry Pi, comme indiqué ci-dessous :




Créez un nouveau fichier nbddns.service sous le dossier /etc/systemd/system et enregistrez le projet comme un service Linux, comme suit :

Démarrez le service nbddns et réglez le démarrage pour démarrer automatiquement avec la commande suivante :

Consultez l’état du service tel que montré dans la figure suivante :



Enfin, dans les paramètres du routeurCartographie des ports, puis l’accès via le nom de domaine et le port extranet mappé, mon téléphoneUtilisez les réseaux 4GdirectVous pouvez accéder à ASP.NET applications Core déployées sur le Raspberry Pi, comme montré dans la figure ci-dessous :



(Fin)





Précédent:ASP.NET route de terminaison Core (XI) ajoute un middleware pour afficher tous les services DI
Prochain:Linux ssh : commande non trouvée
Publié sur 10/03/2022 11:16:19 |
On peut voir qu’une grande quantité de cendres a été consommée
Publié sur 12/03/2022 15:17:50 |
Reviens apprendre à nouveau
 Propriétaire| Publié sur 23/09/2023 09:25:26 |
Linux systemd service manager expliqué en détail
https://www.itsvse.com/thread-10178-1-1.html
 Propriétaire| Publié sur 18/06/2024 13:06:36 |
ASP.NET Core (dix-neuf) utilise BackgroundService pour exécuter des tâches en arrière-plan
https://www.itsvse.com/thread-10591-1-1.html
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com