Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 14475|Respuesta: 4

[Fuente] [Operación Práctica] ASP.NET Core 6 desplegado en ARM Raspberry Pi para implementar DDNS y Wake-on-Network

[Copiar enlace]
Publicado en 9/3/2022 22:36:53 | | | |
Tengo una Raspberry Pi 3B (arquitectura Arm Raspberry Pi 3B de 32 bits) en casa, y he estado comiendo polvo en casa, porque los programas .NET Core pueden ser multiplataforma, así que voy a escribir una página web para desplegar en Raspberry Pi. La banda ancha doméstica tiene una dirección IP pública, pero esta cambia cada vez que se reinicia el router, y el DDNS gratuito del router ASUS no es muy fácil de usar (la IP de casa ha cambiado y la resolución del nombre de dominio no ha entrado en vigor a tiempo). Tengo un sobremesa DELL y un servidor EMC DELL en casa, así que prepárate para escribir un servicio DDNS y una herramienta Wake-on-the-Internet con ASP.NET Core.

Con DDNS, puedesConsigue la dirección IP de Internet en casa a tiempo, usando la función Wake-on-Network es posibleDespertar mi ordenador de sobremesa DELL, lo cual es cómodo para consultar información en casa.

Los sitios escritos usando ASP.NET Core 6 se despliegan en Raspberry PiHa estado funcionando de forma constante durante más de 3 meses, sin ningún problema.



Instalar el runtime de AspNetCore

Primero, la Raspberry Pi debe instalarse con el sistema operativo Raspberry Pi, y el tutorial es el siguiente:

Raspberry Pi 3B (Raspberry Pi 3B) se instala con el sistema operativo Raspberry Pi
https://www.itsvse.com/thread-10052-1-1.html

Luego instala los runtimes de AspNetCore encima de la Raspberry Pi, inicia sesión en el host de la Raspberry Pi usando SSH y úsaloSudo -ICambia a root y crea una carpeta /usr/dotnet con el siguiente comando:

Descárgate aspnetcore-runtime-6.0.1-linux-arm.tar.gz y descomprime con el siguiente comando:

Para crear un enlace suave, el comando es el siguiente:

En este punto, se instala el entorno de ejecución requerido por ASP.NET sitio web Core y se comprueba el tiempo de ejecución instalado, como se muestra en la figura siguiente:



Servicio Dinámico de Nombres de Dominio DDNS

Llama a la interfaz DNSPod para implementar el servicio dinámico de nombres de dominio DDNS, documento de interfaz:El inicio de sesión del hipervínculo es visible.

Crea un nuevo proyecto MVC ASP.NET Core 6 usando VS 2022, crea un nuevo archivo DNSPodOptions.cs para configurar los parámetros necesarios para la interfaz de invocación, de la siguiente manera:

appsettings.json Añadir la siguiente configuración:

Modifica el archivo Program.cs para mapear la información de configuración a la clase DNSPodOptions, el código es el siguiente:

Crea un nuevo archivo DDNSWorker.cs, crea un servicio en segundo plano, obtén una dirección IP una vez por minuto y llama a la interfaz DNSPod para actualizar la resolución del nombre de dominio si la dirección IP cambia. (Nota:Si se envían más de 5 solicitudes para modificar registros sin ningún cambio en un plazo de 1 hora, los registros serán bloqueados por el sistema durante 1 hora y no se permitirá modificarse de nuevo。 Por ejemplo, el valor original del registro ya es 1.1.1.1, y la nueva solicitud también requiere que se cambie a 1.1.1.1. )

El código es el siguiente:

Modifica el archivo Program.cs y registra el servicio de backend con el siguiente código:

El código completo de Program.cs es el siguiente:


El depurador puede llamar a la interfaz DNSPod normalmente, de la siguiente manera:


Despertar en LAN

Wake-on-LAN se abrevia como WOL o WoL, que se traduce mayormente al chino como "activación en línea" y tecnología de "despertar remoto". WOL es una tecnología, y también es la especificación de esta tecnología, y su efecto es permitir que un ordenador que ha entrado en estado de inactividad o apagado le dé órdenes a través del otro extremo de la red local (principalmente Ethernet), de modo que despierte de la hibernación, vuelva a estado operativo o cambia del estado de apagado al estado de arranque. Además, las tecnologías relacionadas con WOL también incluyen mecanismos de control remoto como el apagado remoto y el reinicio remoto.

Modifica el controlador HomeController y añade la interfaz Wake-on-Network, el código es el siguiente:


Edita la página Index.cshtml, añade la caja de entrada y el botón de dirección MAC, y usa Ajax para llamar a la interfaz; el código es el siguiente:

Comienza el proyecto como se muestra a continuación:



Desplegado en la Raspberry Pi

Usando VS 2022 para lanzar un proyecto, sube el paquete de lanzamiento a la carpeta /home/pi/wol de la Raspberry Pi, como se muestra a continuación:




Crea un nuevo archivo nbddns.service bajo la carpeta /etc/systemd/system y registra el proyecto como un servicio Linux, de la siguiente manera:

Inicia el servicio nbddns y configura el arranque para iniciar el auto-inicio con el siguiente comando:

Consulte el estado del servicio tal como se muestra en la siguiente figura:



Por último, en la configuración del routerMapeo de puertos, y luego acceso a través del nombre de dominio y el puerto extranet mapeado, mi teléfonoUtilizar redes 4GdirectoPuedes acceder a ASP.NET aplicaciones Core desplegadas sobre la Raspberry Pi, como se muestra en la figura siguiente:



(Fin)





Anterior:ASP.NET ruta Core (XI) añade middleware para mostrar todos los servicios DI
Próximo:Linux ssh: comando no encontrado
Publicado en 10/3/2022 11:16:19 |
Se puede ver que se ha comido mucha ceniza
Publicado en 12/3/2022 15:17:50 |
Ven y aprende otra vez
 Propietario| Publicado en 23/9/2023 9:25:26 |
Linux systemd service manager explicado en detalle
https://www.itsvse.com/thread-10178-1-1.html
 Propietario| Publicado en 18/6/2024 13:06:36 |
ASP.NET Core (diecinueve) utiliza BackgroundService para ejecutar tareas en segundo plano
https://www.itsvse.com/thread-10591-1-1.html
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com