この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 14475|答える: 4

[出典] [実用運用] ASP.NET ARM Raspberry Pi上でDDNSとWake-on-Networkを実装するためにCore 6を展開しました

[リンクをコピー]
掲載地 2022/03/09 22:36:53 | | | |
自宅にはRaspberry Pi 3B(Raspberry Pi 3B Armアーキテクチャ32ビット)がありますが、.NET Coreプログラムはクロスプラットフォーム対応が可能なので、Raspberry Piにデプロイするためのウェブサイトを書くつもりです。 ホームブロードバンドはパブリックIPアドレスを持っていますが、ルーターを再起動するたびにIPアドレスが変わり、ASUSルーターの無料DDNSは使いにくいです(ホームIPが変わっていて、ドメイン名の解決が間に合っていなかったため)。 自宅にはDELLデスクトップとDELL EMCサーバーがあるので、ASP.NET CoreでDDNSサービスとWake-on-the-Internetツールを書く準備をしてください。

DDNSでは、自宅のインターネットのIPアドレスを時間内に入手しましょうネットワーク上のウェイク機能を使うことも可能ですDELLデスクトップパソコンを起動してこれは自宅で情報を参照するのに便利です。

Core 6 ASP.NET 用に書かれたサイトは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

その後、Raspberry Piの上にAspNetCore Runtimesをインストールし、SSHでRaspberry Piホストにログインして使います須藤 -Irootに切り替えて、以下のコマンドで/usr/dotnetフォルダを作成します:

aspnetcore-runtime-6.0.1-linux-arm.tar.gzをダウンロードして、以下のコマンドで解凍します:

ソフトリンクを作成するコマンドは以下の通りです:

この時点で、ASP.NET Coreウェブサイトで必要な実行環境がインストールされ、下図のようにインストールされたランタイムがチェックされます。



DDNS動的ドメインネームサービス

DNSPodインターフェースを呼び出してDDNS動的ドメインネームサービスを実装してください。インターフェースドキュメント:ハイパーリンクのログインが見えます。

VS 2022を使ってCore 6 ASP.NET 新しいMVCプロジェクトを作成し、呼び出しインターフェースに必要なパラメータを設定するための新しいDNSPodOptions.csファイルを作成します。

appsettings.json 以下の構成を追加します:

Program.csファイルを修正して設定情報をDNSPodOptionsクラスにマッピングすると、コードは以下の通りです:

新しいDDNSWorker.csファイルを作成し、バックグラウンドサービスを作成し、1分ごとにIPアドレスを取得し、IPアドレスが変わった場合にDNSPodインターフェースでドメイン名の解決を更新します。 (注:1時間以内に変更なしで記録の修正申請が5件以上提出された場合、システムは記録を1時間ロックし、今後の修正は許可されません。 例えば、元のレコード値はすでに1.1.1.1であり、新しいリクエストでは1.1.1.1に変更する必要があります。 )

コードは以下の通りです:

Program.csファイルを修正し、バックエンドサービスを以下のコードで登録します:

完全なProgram.csコードは以下の通りです。


デバッガは通常通りDNSPodインターフェースを呼び出すことができます。以下のように。


ウェイク・オン・LANです

ウェイクオンLANはWOLまたはWoLと略され、中国語では主に「オンラインウェイクアップ」や「リモートウェイクアップ」技術と訳されます。 WOLは技術であり、この技術の仕様でもあります。その効果は、休眠状態やシャットダウン状態に入ったコンピュータがローカルエリアネットワークの反対側(主にイーサネット)を通じて命令を出すことを可能にします。これにより、コンピュータは休止状態から覚醒し、動作状態に復帰したり、シャットダウン状態から起動状態に切り替えたりします。 さらに、WOL関連技術にはリモートシャットダウンやリモート再起動などのリモート制御機構も含まれます。

HomeControllerコントローラーを改造し、Wake-on-Networkインターフェースを追加すると、コードは以下の通りです:


Index.cshtmlページを編集し、MACアドレス入力ボックスとボタンを追加し、Ajaxでインターフェースを呼び出します。コードは以下の通りです:

以下のようにプロジェクトを開始します:



Raspberry Piでの展開

VS 2022を使ってプロジェクトをリリースする場合は、リリースパッケージをRaspberry Piの/home/pi/wolフォルダにアップロードしてください。以下のように示されています:




/etc/systemd/systemフォルダの下に新しいnbddns.serviceファイルを作成し、プロジェクトをLinuxサービスとして登録します。以下の通りです:

nbddnsサービスを起動し、次のコマンドで起動を自動スタート開始に設定してください:

以下の図に示されたサービス状況をご覧ください:



最後に、ルーターの設定でポートマッピングそして、ドメイン名とマッピングされたエクストラネットポートを通じて、私の携帯電話にアクセスします4Gネットワークの利用直接Raspberry Pi上にデプロイされた ASP.NET Coreアプリにアクセスできます、下図に示されているように:



(終わり)





先の:ASP.NET Core(XI)エンドポイントルートは、すべてのDIサービスを表示するためのミドルウェアを追加します
次に:Linux ssh: コマンドが見つかりません
掲載地 2022/03/10 11:16:19 |
多くの灰が食べられているのがわかります
掲載地 2022/03/12 15:17:50 |
もう一度学びに来て
 地主| 掲載地 2023/09/23 9:25:26 |
Linux systemdサービスマネージャーの詳細な説明
https://www.itsvse.com/thread-10178-1-1.html
 地主| 掲載地 2024/06/18 13:06:36 |
ASP.NET Core(19)はBackgroundServiceを使ってバックグラウンドタスクを実行します
https://www.itsvse.com/thread-10591-1-1.html
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com