もう䞀床WOLに぀いお

ネットワヌク経由でコンピュヌタヌの電源を入れる必芁がありたす。 たた、Wake-on-LANは機胜したせん。

提案された方法は普遍的ですが、暙準的ではなく、「䜕があっおも」創造的な楜芳䞻矩の存圚を意味したす。



FTPサヌバヌがあったこずがありたす。 実際、それは通垞の2004幎のコンピュヌタヌでした。 ここでポむント 7で、ルヌタヌのARPテヌブルを蚭定するのにこのようなWOLず埮劙さがあり、このコンピュヌタヌがコンピュヌタヌの電源がオフになった埌ハングするポヌトを忘れないようにしたした。 そしお、たたたた私はこのビゞネスすべおに問題がなかった-察応するオプションがBIOSでオンになり、サヌバヌが昌倜を問わずい぀でもオンになりたした。

しかし、すべおの良いこずは垞に終わりがちです。あなたはそれに慣れるか、消えたす。 コンピュヌタヌは私から奪われたした...

しかし、最近FTPの必芁性が再び生じたした。 そしお、将来も圌に䜕かを掛けたいので、これらの目的のために比范的生産性の高い新しいコンピュヌタヌを組み立おるこずにしたした。 そしお今、Thermaltake VK72721N2E SD200パッケヌゞのASUS P8H77-M +Intel®Core™i3-2105 + 2 x 4Gb Corsair Vengeance CMZ4GX3M1A1600C9Bプラットフォヌムが私の堎所に登堎したした。 ケヌスのスタむリッシュな倖芳に察する家庭の熱狂の埌、コンピュヌタヌは2004幎以来恒久的に存圚しおいた解雇されたVHS + DVDコンバむンの代わりにテレビの䞋に抌し蟌たれたした。 実隓ずしお、私は人生を耇雑にし、このサヌバヌにWindowsを眮くこずにしたした。VMWareは3぀​​の仮想コンピュヌタヌでWindowsに入りたした。 仮想コンピュヌタヌの1぀であり、新しいFTPサヌバヌになりたした。 ルヌタヌおよび仮想ネットワヌク環境VMWareでポヌトを転送した埌、FTPサヌバヌは応答し、適切に動䜜し始めたした。









ここでは、もちろん、WOLを思い出し、ルヌタヌのポヌト転送を修正し、Android甚の「Wake On LAN」プログラムをダりンロヌドしたした以前はwakeonlan.ruサヌビスを䜿甚しおいたした。 すべおの良いこずを芚えおいたすか そのため、ある晎れた日、このコンピュヌタヌをリモヌトでオンにするこずができたせんでした。 私は130GBを持ち運ぶこずができなかったので、ずにかく悲しくなりたした。 悪い蚀葉は、WOL実装の蚭蚈者党般、特にASUSの゚ンゞニアに送られたした。 あの日誰かが匷くしゃぶっおくれたらおaびしたすが、本圓に悲しくなりたした。 デブリヌフィングの埌、このマザヌボヌドが少なくずも1回はオンになり、埌でWOLで起動するこずが刀明したした。 そしお、私が家にいないずき、電気がオフになった堎合2012幎12月末たでにラむトをオフにするこずを玄束したした ぀たり、リモヌトでコンピュヌタヌの電源を入れるこずはできたせん。 BIOSには電源埩旧機胜がありたす。 電源障害が発生したずきにコンピュヌタヌの電源を入れた堎合、電源がオンになった埌、コンピュヌタヌ自䜓が起動したす。 そしお、それがオフになった堎合はどうなりたすか はい、近い将来、別の仮想マシンが急流になり、コンピュヌタヌは24時間動䜜したすが、これは䜕らかの圢の障害です。

むンタヌネットや知識のある人々の間でこの問題に興味がありたした。 知識のある人は通垞、より深刻なネットワヌク機噚を䜿甚しおいるため、この状況でどのように方向転換するのか実際にはわかりたせん。 それだけではありたせん 倚くの人は、これは正垞、぀たり コンピュヌタヌは、コマンドがオンになるのを埅぀ために、どのデバむスの電源をオンにするかを知る必芁がありたす。 そしお、かなり倚くの人が、「スタヌト」???で電源を入れた堎合にのみ、コンピュヌタヌが正垞に起動するこずを保蚌したした。 私は圌らがむンタヌネットで蚀ったこずを語る぀もりはないが、率盎に蚀っおmestavmiを楜しんだ。



質問が発生したした䜕をすべきか

たくさんのアむデアがありたした。 「通垞は目芚める」叀代のコンピュヌタヌの前向きなシディロムのアむデアから、ネットワヌクチップのWOL信号を䜕らかのロゞックを介しおコンピュヌタヌの電源ボタンのコネクタヌに出力するアむデアたで。 芁玠ベヌスレベルで䜜業する堎合の問題は、自宅にオシロスコヌプがないこずですC1-112Aは考慮されたせん。 しかし、私は食欲を抑え、コンピュヌタヌのハヌドりェアに䟝存しない決定を䞋すこずにしたした。 ビンで、D-Link DGE-528Tネットワヌクカヌドが芋぀かりたした。 それは玠晎らしい癜いWOLコネクタを収容したす。 ピン配列を芋るず、コネクタには3぀の信号が含たれおいたす+ 5VSB、GND、リング。 倚くの叀いマザヌボヌドにも同じコネクタが存圚しおいたしたが、珟圚ではこの傟向から遠ざかり぀぀ありたす。 明らかに、電力はネットワヌクカヌドに自埋的に䟛絊されたす。 電源ボタンが抌されたずき、たたは呌び出し音信号が到着した埌、コンピュヌタヌ自䜓の電源がオンになりたした。 ASUS P8H77-Mにはそのようなコネクタはありたせん

そしお、FPGAを搭茉した解攟されたMarsロヌバヌボヌドが非垞に䟿利でした。 私は、どのコンピュヌタヌにも䞀生ナニバヌサル゜リュヌションを䜜成するこずにしたしたこれも遞択できたす。

1ボヌドにWOLコネクタを備えたネットワヌクカヌドをコンピュヌタヌに挿入したす。

2コンピュヌタヌのどこかで、ボヌドをFPGAで固定したす。

3WOLのむンタヌフェむスボヌドをFPGAカヌドに接続したす。

4ネットワヌクカヌドずむンタヌフェむスボヌドのWOLコネクタを補造された特別なケヌブルで接続し、マザヌボヌドの電源ボタンずPWR_BUTコネクタをむンタヌフェむスボヌドに接続し、このボヌドで+ 5VSB電源を起動したす。

したがっお、タスクの範囲の抂芁を説明したす。

1FPGAには、コンピュヌタヌの電源ボタンからの信号ずネットワヌクカヌドからの呌び出し信号を問い合わせ、怜出された堎合はマザヌボヌドのPWR_BUTコネクタヌに信号を送信するファヌムりェアが必芁です。

2むンタヌフェむスボヌドは、FPGAボヌドに電源を䟛絊する必芁がありたす安定噚を+ 3.3Vに蚭定したす。たた、䞇が䞀に備えおWOLずPWR_BUTを分離しおおくず䟿利ですオプトカプラヌをいく぀か配眮したす。

3ケヌブルを䜜成する必芁がありたすWOL甚の3線FPGA偎のコネクタは2.54刻みで、ネットワヌクカヌドの偎面は2mm、PWR_BUTの接続甚の2線2.54刻みの2぀のコネクタ、電源甚の2線2.54の手順で、もう䞀方の端をマザヌボヌドの電源コネクタGNDおよび+ 5VSBワむダに䜕らかの方法で取り付けたす。



ルコバをロヌルアップしたした。

私は30分でファヌムりェアを曞きたした。 ファヌムりェアは䞀般的なものです。たずえば、2぀のポヌトを調べお、3番目のポヌトに0.5秒のパルスを出力したす。 電源ボタンのバりンスを考慮し、Ring信号の前面のみを怜出し、1日たでの範囲およびその他の小さなこずで正確な時間ゞェネレヌタヌを䜜成したした-できる限り楜しみたしたファヌムりェアは最初のオプションよりもはるかに重いこずが刀明したしたが、FPGAの半分はただ空いおいたす。 モゞュヌルずしおプロゞェクトに接続された䞖界時ゞェネレヌタヌによっお倚くのスペヌスが消費されたした。

ケヌブルも30分で䜜成したした。 しかし、私はすべおを手元に眮いおいたした-幞運なこずにコネクタがありたす。

むンタヌフェヌスボヌドで、私は翌晩党䜓に苊しみたした。 䞡面ブレッドボヌドのプリント回路基板からボヌド自䜓を芋たした。 このボヌドは、「Rigth Motor」および「Left Motor」コネクタの「ブリッゞ」ずずもに、火星探査機のボヌドに装着されおいたす。 「Rigth Motor」はWOLに枡され、2぀目のコネクタをむンタヌフェむスボヌドに投げたした-逆説的に芋えるかもしれたせんが、圌女の個人的な生掻に女性がいないこずは、同様に興味深い嚯楜に貢献し、圌女がこのボヌドに他に䜕を固定したいかはわかりたせん。 私は配線をはんだ付けするのが面倒で、はんだがたくさんあるので、必芁なトラックを「成長」させたした。 ugいこずが刀明したので、原則ずしおそうするこずはお勧めしたせん。 自宅にDC-DCスタビラむザヌも芋぀かりたしたが、オプトカプラヌはありたせんでした。 代わりに、圌はパッドを封印し、1週間すべおが攟棄されたした。 2週間埌、オプトカプラヌをセットアップし、これがどのように機胜するかを確認するこずにしたした。









最も困難な郚分は、ATX電源コネクタの切断でした。 むンタヌネットには、クリップを曲げるために、ステヌプラヌからクリップをコネクタに抌し蟌む方法に関するヒントがたくさんありたす抜出噚はありたせん。 私はいく぀かのりェブサむトでビデオを芋さえしたした。 しかし、私はコネクタからコネクタから抜け出したくありたせんでした。 すべおの有名な蚀葉の助けを求めお、私は針を砎り、いく぀かのペヌパヌクリップを再スポヌツするためにほが2時間を費やしたした。 しかし、それは文明化されたした





゜リュヌションは実行可胜であり、ケヌスの電源ボタンからコンピュヌタヌのオン/オフを切り替えたり、WOLコマンドを発行しおネットワヌク経由でコンピュヌタヌをオンにしたりできたす。 残念ながら、ネットワヌク経由でコンピュヌタヌの電源を切るこずはできたせん。電源を入れた埌、ネットワヌクカヌドは呌び出し信号の発行を停止したす。 さらに、さらなる創造性のための予備がありたす たずえば、FPGAファヌムりェアをやり盎しお、20秒以内に8぀のWOLコマンドを受信した埌、USBコントロヌラヌに電力が䟛絊されるようにするこずができたす。 USBコントロヌラに挿入されたUSBフラッシュドラむブは、仮想マシンに自動的にマりントされ、特別なログむンず特別なパスワヌドを䜿甚しおFTPを介しおマりントされたす。たずえば、ハブ䞊のパスワヌド付きドキュメントを含むフォルダが䜿甚可胜になりたす



結果のデバむスをシステムナニットに慎重に固定し、任務を遂行するこずは残っおいたす。 泚文されたボヌドが到着したずきに䜕が行われたす。 そしお、珟圚のものが車の車のアラヌムを制埡するために戻っおきたす-あなたが泳ぐずき、車の䞭のすべおのものをロックし、タむマヌを指定した時間埌に開くように蚭定するず䟿利です



発行䟡栌

-ネットワヌクカヌドD-Link DGE-528T = 300r。

-火星探査機に搭乗+プログラマヌ必芁な堎合+ロシア郵䟿= 1000r + 600こする。 + 150r。



以䞋に、FPGAのファヌムりェアテキストず、抂略的にむンタヌフェむスボヌドを瀺したす。 VHDLの初心者にずっお、このテキストは圹に立぀ず思いたす。 時間ゞェネレヌタヌを曞くのは難しくありたせん-カりンタヌをCLOCKにカりントしたす-ここに秒がありたす。 ピン留めするずきは、ポヌトF0ずF1に「シュミットトリガヌ入力」を蚭定し、プルアップ抵抗をオンにするこずを忘れないでください。 抵抗を備えたむンタヌフェヌスボヌドでは、これらの入力もプルアップされたすが、他の目的のために-静電気に察する保護。



---------------------------------------------------------------------------------------------------------- -- Company: House -- Engineer: AlexanderS -- -- Create Date: 13/06/2012 -- Modification Date: --/--/---- -- Module Name: manag_pc -- Project Name: - -- Version: v.1.1 -- Description:     PWR ,  WOL    --    /  PWR SW    ---------------------------------------------------------------------------------------------------------- library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; --use IEEE.STD_LOGIC_SIGNED.ALL; use IEEE.NUMERIC_STD.ALL; --use IEEE.MATH_REAL.ALL; --library UNISIM; --use UNISIM.VComponents.ALL; entity project is GENERIC ( ----------   ---------- CLOCK : integer := 100000000 --   , [;  1000] ); Port ( ----------  ---------- led: out std_logic_vector(7 downto 0) :=(others=>'0'); f0: in std_logic_vector(9 downto 0) :=(others=>'1'); f1: in std_logic_vector(9 downto 0) :=(others=>'1'); f2: out std_logic_vector(9 downto 0) :=(others=>'0'); ----------    ---------- CLK: in std_logic :='0' --    ( CLOCK) ); end project; architecture Behavioral of project is signal df : std_logic_vector(5 downto 0) :=(others=>'0'); signal sw_lock : std_logic :='0'; signal hl : std_logic_vector(7 downto 0) :=(others=>'0'); signal PWR_BUT1, WOL1, PWRB_on, WOL, lock : std_logic :='0'; signal PWR_BUT2, WOL2 : std_logic :='1'; signal st : integer range 3 downto 0 :=0; signal sec0125, sec025, sec05, sec, sec2, min, hour, day, res_time : std_logic :='0'; signal time_s, time_m : std_logic_vector(5 downto 0) :=(others=>'0'); signal time_h : std_logic_vector(4 downto 0) :=(others=>'0'); COMPONENT gen_time is --   GENERIC ( CLOCK : integer := 100000000 ); Port ( ----------  ---------- sec0125: out std_logic :='0'; sec025: out std_logic :='0'; sec05: out std_logic :='0'; sec2: out std_logic :='0'; sec: out std_logic :='0'; time_s : out std_logic_vector(5 downto 0) :=(others=>'0'); min: out std_logic :='0'; time_m : out std_logic_vector(5 downto 0) :=(others=>'0'); hour: out std_logic :='0'; time_h : out std_logic_vector(4 downto 0) :=(others=>'0'); day: out std_logic :='0'; ----------    ---------- RES: in std_logic :='0'; CLK: in std_logic :='0' ); end COMPONENT; begin Inst_gen_time: gen_time --   GENERIC MAP( CLOCK => 100000000 ) Port MAP ( sec0125 => sec0125, sec025 => sec025, sec05 => sec05, sec => sec, sec2 => sec2, time_s => time_s, min => min, time_m => time_m, hour => hour, time_h => time_h, day => day, RES => res_time, CLK => CLK ); res_time <= '0'; ---- BEGIN  - Process(CLK) begin if (CLK'Event) and (CLK='1') then if (sw_lock = '0') then if (f0(0) = '0') or (f1(0) = '0') then sw_lock <= '1'; end if; df(0) <= not f0(0); hl(6) <= f0(0); df(1) <= not f1(0); hl(7) <= f1(0); elsif (sec0125 = '1') then sw_lock <= '0'; end if; end if; if (df(2) = '1') then f2 <= (others=>'1'); else f2 <= (others=>'0'); end if; led <= hl; end if; end process; ----- END  - --- BEGIN process(CLK) begin if (CLK'event and CLK = '1') then PWR_BUT1 <= df(0); PWR_BUT2 <= not PWR_BUT1; WOL1 <= df(1); WOL2 <= not WOL1; if ((PWR_BUT1 = '1') and (PWR_BUT2 = '1')) then --      PWRB_on <= '1'; elsif ((PWR_BUT1 = '0') and (PWR_BUT2 = '0')) then --      PWRB_on <= '0'; elsif ((WOL1 = '1') and (WOL2 = '1')) then WOL <= '1'; else WOL <= '0'; end if; --    WOL if (PWRB_on = '1') and (lock = '0') then --    df(2) <= '1'; hl(0) <= not hl(0); lock <= '1'; elsif (PWRB_on = '0') and (lock = '1') then --    df(2) <= '0'; lock <= '0'; else --   WOL case st is when 0 => if (WOL = '1') then st <= st + 1; end if; --      when 1 => df(2) <= '1'; if (sec025 = '1') then st <= st + 1; end if; when 2 => if (sec025 = '1') then st <= st + 1; end if; when 3 => hl(0) <= not hl(0); df(2) <= '0'; st <= 0; when others => null; end case; end if; end if; end process; --- END end Behavioral;
      
      











FPGAを䜿甚しお、UPS制埡をボヌドに固定するこずもできたす。 そしお、ネットワヌクを起動するこの矩務コンピュヌタヌは、他の機噚をネットワヌク察応にする機胜のロックをただ解陀したす



PS

ある同志は、機噚メヌカヌからのサポヌトがなければ、このすべおWOLを実行するこずは非垞に困難であり、それを取るなどの意味はないず蚀いたした。 など 圌らは圌ず「ちょうどそのように」ず䞻匵したした...

さお、私たちは䜕もできないず蚀ったのは誰ですか :)



All Articles