Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 14475|Отговор: 4

[Източник] [Практическа операция] ASP.NET Core 6 е внедрен на ARM Raspberry Pi за реализиране на DDNS и Wake-on-Network

[Копирай линк]
Публикувано в 9.03.2022 г. 22:36:53 ч. | | | |
Имам Raspberry Pi 3B (Raspberry Pi 3B Arm архитектура 32-бита) вкъщи и вкъщи се занимавам с прах, защото .NET Core програмите могат да са кросплатформени, затова ще напиша уебсайт, който да го внедря на Raspberry Pi. Домашният широколентов интернет има публичен IP адрес, но IP адресът се променя всеки път, когато рутерът се рестартира, а безплатният DDNS на ASUS рутера не е много лесен за използване (домашният IP е променен и резолюцията на домейн името не е влязла навреме). Имам DELL настолен компютър и DELL EMC сървър вкъщи, така че се пригответе да напишете DDNS услуга и инструмент за Wake-on-the-Internet с ASP.NET Core.

С DDNS можешВземете IP адреса на Интернет у дома навреме, използвайки функцията Wake-on-Network е възможноСъбуди моя настолен компютър DELL, което е удобно за консултации с информация у дома.

Сайтовете, написани с ASP.NET Core 6, се внедряват в Raspberry PiТя работи стабилно повече от 3 месеца, без никакви проблеми.



Инсталирайте AspNetCore runtime

Първо, Raspberry Pi трябва да бъде инсталиран със системата Raspberry Pi OS, а урокът е следният:

Raspberry Pi 3B (Raspberry Pi 3B) е инсталиран с системата Raspberry Pi OS
https://www.itsvse.com/thread-10052-1-1.html

След това инсталирай AspNetCore Runtime върху Raspberry Pi, влез в хоста на Raspberry Pi чрез SSH и го използвайsudo -iПревключи към root и създай папка /usr/dotnet със следната команда:

Изтеглете aspnetcore-runtime-6.0.1-linux-arm.tar.gz и го разархивирайте със следната команда:

За да създадете мека връзка, командата е следната:

В този момент се инсталира работещата среда, изисквана от уебсайта на ASP.NET Core, и инсталираното време на изпълнение се проверява, както е показано на фигурата по-долу:



Динамична услуга за домейн имена на DDNS

Извикайте DNSPod интерфейса за реализиране на динамичната домейн услуга, интерфейсен документ:Входът към хиперлинк е видим.

Създайте нов MVC проект ASP.NET Core 6 с помощта на VS 2022, създайте нов DNSPodOptions.cs файл, за да конфигурирате параметрите, необходими за интерфейса за извикване, както следва:

appsettings.json Добавете следната конфигурация:

Модифицирайте Program.cs файла, за да съпоставите конфигурационната информация към класа DNSPodOptions, кодът е следният:

Създайте нов DDNSWorker.cs файл, създайте фонова услуга, получавайте IP адрес веднъж за минута и се обадете на DNSPod интерфейса, за да актуализирате резолюцията на домейна, ако IP адресът се промени. (Забележка:Ако повече от 5 заявки за промяна на записи без никакви промени бъдат подадени в рамките на 1 час, записите ще бъдат заключени от системата за 1 час и няма да могат да бъдат променяни отново。 Например, оригиналната стойност на записа вече е 1.1.1.1, а новата заявка изисква да бъде променена на 1.1.1.1. )

Кодът е следният:

Модифицирайте Program.cs файла и регистрирайте бекенд услугата със следния код:

Пълният Program.cs код е следният:


Дебъгерът може да извика DNSPod интерфейса по следния начин:


Wake On LAN

Wake-on-LAN се съкращава като WOL или WoL, което най-често се превежда на китайски като "онлайн wake-up" и "технология за дистанционно събуждане". WOL е технология и също така е спецификацията на тази технология, като ефектът ѝ е да позволи на компютър, който е влязъл в състояние на заспиване или изключване, да му издава заповеди през другия край на локалната мрежа (главно Ethernet), така че да се събуди от хибернация, да се възобнови в работно състояние или да превключва от състояние на изключване в състояние на зареждане. Освен това, технологиите, свързани с WOL, включват и механизми за дистанционно управление като дистанционно изключване и дистанционно рестартиране.

Модифицирайте контролера на HomeController и добавете интерфейса Wake-on-Network, кодът е следният:


Редактирайте страницата в Index.cshtml, добавете входното поле и бутона за MAC адрес и използвайте Ajax за извикване на интерфейса, кодът е следният:

Започнете проекта, както е показано по-долу:



Разположена на Raspberry Pi

Използвайки VS 2022 за пускане на проект, качете пакета с издания в папката /home/pi/wol на Raspberry Pi, както е показано по-долу:




Създайте нов файл nbddns.service под папката /etc/systemd/system и регистрирайте проекта като Linux услуга, както следва:

Стартирайте услугата nbddns и настройте зареждането да стартира автоматично стартиране със следната команда:

Вижте статуса на услугата, както е показано на следващата фигура:



Накрая, в настройките на рутераКартографиране на портове, и след това достъп чрез домейн името и картографирания екстранет порт, моя телефон.Използване на 4G мрежипрякМожеш да достъпиш ASP.NET Core приложения, разположени върху Raspberry Pi, както е показано на фигурата по-долу:



(Край)





Предишен:ASP.NET Маршрутът на крайната точка на Core (XI) добавя междинен софтуер за показване на всички DI услуги
Следващ:Linux ssh: командата не е намерена
Публикувано в 10.03.2022 г. 11:16:19 ч. |
Вижда се, че е изядена много пепел
Публикувано в 12.03.2022 г. 15:17:50 ч. |
Ела и учи отново
 Хазяин| Публикувано в 23.09.2023 г. 9:25:26 ч. |
Linux systemd мениджър на услуги обяснен подробно
https://www.itsvse.com/thread-10178-1-1.html
 Хазяин| Публикувано в 18.06.2024 г. 13:06:36 ч. |
ASP.NET Core (деветнадесет) използва BackgroundService за изпълнение на фонови задачи
https://www.itsvse.com/thread-10591-1-1.html
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com