Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 14475|Jawab: 4

[Sumber] [Operasi Praktis] ASP.NET Core 6 digunakan di ARM Raspberry Pi untuk mengimplementasikan DDNS dan Wake-on-Network

[Salin tautan]
Diposting pada 09/03/2022 22.36.53 | | | |
Saya memiliki Raspberry Pi 3B (arsitektur Raspberry Pi 3B Arm 32-bit) di rumah, dan saya telah makan debu di rumah, karena program .NET Core dapat lintas platform, jadi saya akan menulis situs web untuk diterapkan di Raspberry Pi. Broadband rumah memiliki alamat IP publik, tetapi alamat IP akan berubah setiap kali router dihidupkan ulang, dan DDNS gratis dari router ASUS tidak terlalu mudah digunakan (IP rumah telah berubah, dan resolusi nama domain belum berlaku tepat waktu). Saya memiliki desktop DELL dan server DELL EMC di rumah, jadi bersiaplah untuk menulis layanan DDNS dan alat Wake-on-the-Internet dengan ASP.NET Core.

Dengan DDNS, Anda dapatDapatkan alamat IP Internet di rumah tepat waktu, menggunakan fungsi Wake-on-Network dimungkinkanBangunkan komputer desktop DELL saya, yang nyaman untuk berkonsultasi informasi di rumah.

Situs yang ditulis menggunakan ASP.NET Core 6 disebarkan di Raspberry PiItu telah berjalan dengan mantap selama lebih dari 3 bulan, tanpa masalah.



Menginstal runtime AspNetCore

Pertama, Raspberry Pi perlu diinstal dengan sistem OS Raspberry Pi, dan tutorialnya adalah sebagai berikut:

Raspberry Pi 3B (Raspberry Pi 3B) diinstal dengan sistem OS Raspberry Pi
https://www.itsvse.com/thread-10052-1-1.html

Kemudian instal AspNetCore Runtimes di atas Raspberry Pi, masuk ke host Raspberry Pi menggunakan SSH, dan gunakansudo -iBeralih ke root dan buat folder /usr/dotnet dengan perintah berikut:

Unduh aspnetcore-runtime-6.0.1-linux-arm.tar.gz dan unzip dengan perintah berikut:

Untuk membuat soft link, perintahnya adalah sebagai berikut:

Pada titik ini, lingkungan berjalan yang diperlukan oleh situs web Core ASP.NET diinstal, dan runtime yang diinstal diperiksa, seperti yang ditunjukkan pada gambar di bawah ini:



Layanan Nama Domain Dinamis DDNS

Panggil antarmuka DNSPod untuk mengimplementasikan layanan nama domain dinamis DDNS, dokumen antarmuka:Login hyperlink terlihat.

Buat proyek MVC baru ASP.NET Core 6 menggunakan VS 2022, buat file DNSPodOptions.cs baru untuk mengonfigurasi parameter yang diperlukan untuk antarmuka pemanggilan, sebagai berikut:

appsettings.json Tambahkan konfigurasi berikut:

Ubah file Program.cs untuk memetakan informasi konfigurasi ke kelas DNSPodOptions, kodenya adalah sebagai berikut:

Buat file DDNSWorker.cs baru, buat layanan latar belakang, dapatkan alamat IP satu menit sekali, dan panggil antarmuka DNSPod untuk memperbarui resolusi nama domain jika alamat IP berubah. (Catatan:Jika lebih dari 5 permintaan untuk memodifikasi catatan tanpa perubahan apa pun diajukan dalam waktu 1 jam, catatan akan dikunci oleh sistem selama 1 jam dan tidak akan diizinkan untuk dimodifikasi lagi。 Misalnya, nilai rekaman asli sudah 1.1.1.1, dan permintaan baru juga mengharuskannya diubah menjadi 1.1.1.1. )

Kodenya adalah sebagai berikut:

Ubah file Program.cs dan daftarkan layanan backend dengan kode berikut:

Kode Program.cs lengkap adalah sebagai berikut:


Debugger dapat memanggil antarmuka DNSPod secara normal, sebagai berikut:


Bangun Di LAN

Wake-on-LAN disingkat WOL atau WoL, yang sebagian besar diterjemahkan ke dalam bahasa Cina sebagai teknologi "bangun online" dan "bangun jarak jauh". WOL adalah teknologi, dan juga merupakan spesifikasi dari teknologi ini, dan efeknya adalah memungkinkan komputer yang telah memasuki keadaan tidak aktif atau mati untuk mengeluarkan perintah kepadanya melalui ujung lain dari jaringan area lokal (sebagian besar Ethernet), sehingga bangun dari hibernasi, melanjutkan ke status operasi, atau beralih dari status shutdown ke status boot. Selain itu, teknologi terkait WOL juga mencakup mekanisme kendali jarak jauh seperti shutdown jarak jauh dan restart jarak jauh.

Ubah pengontrol HomeController dan tambahkan antarmuka Wake-on-Network, kodenya adalah sebagai berikut:


Edit halaman Index.cshtml, tambahkan kotak input dan tombol alamat MAC, dan gunakan Ajax untuk memanggil antarmuka, kodenya adalah sebagai berikut:

Mulai proyek seperti yang ditunjukkan di bawah ini:



Digunakan di Raspberry Pi

Menggunakan VS 2022 untuk merilis proyek, unggah paket rilis ke folder /home/pi/wol Raspberry Pi, seperti yang ditunjukkan di bawah ini:




Buat file nbddns.service baru di bawah folder /etc/systemd/system dan daftarkan proyek sebagai layanan Linux, sebagai berikut:

Mulai layanan nbddns dan atur boot untuk memulai mulai otomatis dengan perintah berikut:

Lihat status layanan seperti yang ditunjukkan pada gambar berikut:



Terakhir, di pengaturan routerPemetaan port, dan kemudian akses melalui nama domain dan port ekstranet yang dipetakan, telepon sayaGunakan jaringan 4GlangsungAnda dapat mengakses aplikasi Core ASP.NET yang disebarkan di atas Raspberry Pi, seperti yang ditunjukkan pada gambar di bawah ini:



(Akhir)





Mantan:Rute titik akhir ASP.NET Core (XI) menambahkan middleware untuk menampilkan semua layanan DI
Depan:Linux ssh: perintah tidak ditemukan
Diposting pada 10/03/2022 11.16.19 |
Dapat dilihat bahwa banyak abu telah dimakan
Diposting pada 12/03/2022 15.17.50 |
Datang dan belajar lagi
 Tuan tanah| Diposting pada 23/09/2023 09.25.26 |
Manajer layanan systemd Linux dijelaskan secara rinci
https://www.itsvse.com/thread-10178-1-1.html
 Tuan tanah| Diposting pada 18/06/2024 13.06.36 |
ASP.NET Core (sembilan belas) menggunakan BackgroundService untuk menjalankan tugas latar belakang
https://www.itsvse.com/thread-10591-1-1.html
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com