Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 14475|Απάντηση: 4

[Πηγή] [Πρακτική λειτουργία] ASP.NET Core 6 που αναπτύχθηκε στο ARM Raspberry Pi για την υλοποίηση DDNS και Wake-on-Network

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 9/3/2022 10:36:53 μ.μ. | | | |
Έχω ένα Raspberry Pi 3B (αρχιτεκτονική Raspberry Pi 3B Arm 32-bit) στο σπίτι και τρώω σκόνη στο σπίτι, επειδή τα προγράμματα .NET Core μπορούν να είναι cross-platform, οπότε θα γράψω έναν ιστότοπο για ανάπτυξη στο 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

Αρχικά, το Raspberry Pi πρέπει να εγκατασταθεί με το σύστημα Raspberry Pi OS και το σεμινάριο έχει ως εξής:

Το Raspberry Pi 3B (Raspberry Pi 3B) εγκαθίσταται με το σύστημα Raspberry Pi OS
https://www.itsvse.com/thread-10052-1-1.html

Στη συνέχεια, εγκαταστήστε το AspNetCore Runtimes πάνω από το Raspberry Pi, συνδεθείτε στον κεντρικό υπολογιστή Raspberry Pi χρησιμοποιώντας SSH και χρησιμοποιήστε τοsudo -ιΜεταβείτε στο root και δημιουργήστε έναν φάκελο /usr/dotnet με την ακόλουθη εντολή:

Κατεβάστε aspnetcore-runtime-6.0.1-linux-arm.tar.gz και αποσυμπιέστε το με την ακόλουθη εντολή:

Για να δημιουργήσετε έναν μαλακό σύνδεσμο, η εντολή είναι η εξής:

Σε αυτό το σημείο, εγκαθίσταται το περιβάλλον λειτουργίας που απαιτείται από ASP.NET ιστότοπο Core και ελέγχεται ο εγκατεστημένος χρόνος εκτέλεσης, όπως φαίνεται στο παρακάτω σχήμα:



Υπηρεσία δυναμικών ονομάτων τομέα DDNS

Καλέστε τη διεπαφή DNSPod για να εφαρμόσετε την υπηρεσία δυναμικού ονόματος τομέα DDNS, έγγραφο διεπαφής:Η σύνδεση με υπερσύνδεσμο είναι ορατή.

Δημιουργήστε ένα νέο έργο 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 κανονικά, ως εξής:


Αφύπνιση στο LAN

Το Wake-on-LAN συντομεύεται ως WOL ή WoL, το οποίο μεταφράζεται κυρίως στα κινέζικα ως τεχνολογία "online αφύπνισης" και "απομακρυσμένης αφύπνισης". Το 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 και ρυθμίστε την εκκίνηση να ξεκινά την αυτόματη εκκίνηση με την ακόλουθη εντολή:

Δείτε την κατάσταση της υπηρεσίας όπως φαίνεται στην παρακάτω εικόνα:



Τέλος, στις ρυθμίσεις του δρομολογητήΧαρτογράφηση λιμένωνκαι, στη συνέχεια, αποκτήστε πρόσβαση μέσω του ονόματος τομέα και της αντιστοιχισμένης θύρας extranet, My PhoneΧρησιμοποιήστε δίκτυα 4GάμεσοςΜπορείτε να αποκτήσετε πρόσβαση σε ASP.NET εφαρμογές Core που έχουν αναπτυχθεί πάνω από το Raspberry Pi, όπως φαίνεται στο παρακάτω σχήμα:



(Τέλος)





Προηγούμενος:ASP.NET δρομολόγηση τελικού σημείου Core (XI) προσθέτει ενδιάμεσο λογισμικό για την εμφάνιση όλων των υπηρεσιών DI
Επόμενος:Linux ssh: η εντολή δεν βρέθηκε
Δημοσιεύτηκε στις 10/3/2022 11:16:19 π.μ. |
Φαίνεται ότι έχει φαγωθεί πολλή στάχτη
Δημοσιεύτηκε στις 12/3/2022 3:17:50 μ.μ. |
Ελάτε να μάθετε ξανά
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 23/9/2023 9:25:26 π.μ. |
Ο διαχειριστής υπηρεσιών Linux systemd εξηγείται λεπτομερώς
https://www.itsvse.com/thread-10178-1-1.html
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 18/6/2024 1:06:36 μ.μ. |
Το ASP.NET Core (δεκαεννέα) χρησιμοποιεί το BackgroundService για την εκτέλεση εργασιών στο παρασκήνιο
https://www.itsvse.com/thread-10591-1-1.html
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com