|
|
Yayınlandı 9.03.2022 22:36:53
|
|
|
|

Evde bir Raspberry Pi 3B (Raspberry Pi 3B Arm mimarisi 32-bit) var ve evde toz yiyorum çünkü .NET Core programları çapraz platform olabiliyor, bu yüzden Raspberry Pi üzerinde dağıtmak için bir web sitesi yazacağım. Ev genişbantının bir genel IP adresi vardır, ancak yönlendirici her yeniden başlatıldığında IP adresi değişir ve ASUS yönlendiricisinin boş DDNS'si kullanımı pek kolay değildir (ev IP'si değişmiş ve alan adı çözüm zamanında yürürlüğe girmemiştir). Evde bir DELL masaüstüm ve bir DELL EMC sunucum var, bu yüzden ASP.NET Core ile bir DDNS servisi ve Wake-on-the-Internet aracı yazmaya hazır olun.
DDNS ileEvde internetin IP adresini zamanında alın, Wake-on-Network fonksiyonu kullanılarak mümkünDELL masaüstü bilgisayarımı uyandır, bu da evde bilgi almak için kullanışlıdır.
ASP.NET Core 6 kullanılarak yazılmış siteler Raspberry Pi'de konuşlandırılmıştır3 aydan fazla süredir istikrarlı çalışıyor, hiçbir sorun olmadan.
AspNetCore çalışma zamanını kur
Öncelikle, Raspberry Pi işletim sistemi ile birlikte kurulmalıdır ve eğitim şu şekildedir:
Sonra Raspberry Pi'nin üzerine AspNetCore Çalışma Zamanları kur, SSH ile Raspberry Pi ana bilgisayarına giriş yapın ve kullanınsudo -iRoot moduna geçip aşağıdaki komutla /usr/dotnet klasörü oluşturun:
aspnetcore-runtime-6.0.1-linux-arm.tar.gz indirin ve aşağıdaki komutla fermuarını açın:
Yumuşak bağlantı oluşturmak için komut şöyledir:
Bu noktada, ASP.NET Core web sitesi tarafından gereken çalışma ortamı yüklenir ve kurulum çalışma zamanı kontrol edilir, aşağıdaki şekilde gösterilmiştir:
DDNS Dinamik Alan Adı Hizmeti
DDNS dinamik alan adı servisini uygulamak için DNSPod arayüzünü çağırın, arayüz belgesi:Bağlantı girişi görünür.
VS 2022 kullanarak Core 6 ASP.NET yeni bir MVC projesi oluşturun, çağrı arayüzü için gereken parametreleri yapılandırmak üzere yeni bir DNSPodOptions.cs dosyası oluşturun, aşağıdaki gibi:
appsettings.json Aşağıdaki yapılandırmayı ekleyin:
Program.cs dosyasını yapılandırma bilgisini DNSPodOptions sınıfına eşleyecek şekilde değiştirin, kod şu şekildedir:
Yeni bir DDNSWorker.cs dosyası oluşturun, arka plan hizmeti oluşturun, dakikada bir IP adresi alın ve IP adresi değişirse alan adı çözümünü güncellemek için DNSPod arayüzünü çağırın. (Not:1 saat içinde herhangi bir değişiklik olmadan kayıt değiştirme için 5'ten fazla talep gönderilirse, kayıtlar sistem tarafından 1 saat boyunca kilitlenir ve tekrar değiştirilemeyecektir。 Örneğin, orijinal kayıt değeri zaten 1.1.1.1 ve yeni istek ayrıca bunun 1.1.1.1 olarak değiştirilmesini gerektirir. )
Kod şöyledir:
Program.cs dosyasını değiştirin ve arka uç servisini aşağıdaki kodla kaydedin:
Tam Program.cs kodu aşağıdaki gibidir:
Hata ayıklayıcı, DNSPod arayüzünü normal şekilde aşağıdaki şekilde çağırabilir:
LAN'de Wake
Wake-on-LAN, Çince'ye çoğunlukla "çevrimiçi uyandırma" ve "uzaktan uyandırma" teknolojisi olarak çevrilen WOL veya WoL olarak kısaltılır. WOL bir teknolojidir ve aynı zamanda bu teknolojinin spesifikasyonudur; etkisi, bir bilgisayarın hareketsiz veya kapanma durumuna giren bilgisayarın, yerel alan ağının diğer ucundan (çoğunlukla Ethernet) ona emirler vermesine olanak tanır; böylece bilgisayar uyku uykusundan uyanır, tekrar çalışır duruma geçer veya kapanma durumundan önyükleme durumuna geçer. Ayrıca, WOL ile ilgili teknolojiler arasında uzaktan kapatma ve uzaktan yeniden başlatma gibi uzaktan kontrol mekanizmaları da bulunur.
HomeController denetleyicisini değiştirip Wake-on-Network arayüzünü ekleyin, kod şu şekildedir:
Index.cshtml sayfasını düzenleyin, MAC adresi giriş kutusunu ve düğmesini ekleyin ve arayüzü çağırmak için Ajax ile kullanın, kod şu şekildedir:
Projeye aşağıda gösterildiği gibi başlayın:
Raspberry Pi'de görevlendirilme
VS 2022 kullanarak bir proje yayınlayın, sürüm paketini aşağıda gösterildiği gibi Raspberry Pi'nin /home/pi/wol klasörüne yükleyin:
/etc/systemd/system klasörü altında yeni bir nbddns.service dosyası oluşturun ve projeyi aşağıdaki gibi bir Linux hizmeti olarak kaydetmelisiniz:
nbddns servisini başlatın ve önyüklemeyi otomatik başlatma olarak şu komutla ayarlayın:
Hizmet durumunu aşağıdaki şekilde görün:
Son olarak, yönlendirici ayarlarındaLiman haritalaması, ardından alan adı ve haritalanmış ekstranet portu üzerinden telefonuma erişim4G ağları kullanındolaysızRaspberry Pi üzerinde konuşlandırılmış ASP.NET Core uygulamalarına erişebilirsiniz, aşağıdaki şekilde gösterildiği gibi:
(Son)
|
Önceki:ASP.NET Core (XI) uç nokta rotası, tüm DI servislerini görüntülemek için middleware eklerÖnümüzdeki:Linux ssh: komut bulunmadı
|