2009年12月17日

なんだかよく分からないけど、arduino WOLリピーターを作りたい方へ

2012年11月22日更新:
 arduino WOL リピータのスケッチを最新の開発環境用に修正・更新



arduino WOL リピータ」の作成は本当に難しくないです。


「専門的なことは何も分からないけど、とにかく「arduino WOL リピータ」を実現したい人向けの説明」です。これを機会に新しい世界を楽しんじゃいましょう。きっといい趣味になりますよ。


紹介している「arduino WOL リピータ」ですが、マイコンボード「arduino」を触ったことがない方や技術的なことに詳しくない方にはとっつきにくいですよね。

でも、ネット社会である今、自宅から職場のパソコンの電源を入れたり、またはその逆は、PCユーザーなら初心者を問わず必要なことになってきました。

それには、必ずマジックパケットのルータ越えというテーマがつきまといます。

手順1.とりあえずモノをそろえる。
◆下記の電源を含む3点を購入。


◆arduino用の電源として下記のいづれか一方


持っていない人は、LANケーブルも手に入れる。


手順2.手に入れたら、
arduino基板にプログラムを転送するためのソフトをダウンロード&セットアップします。
◆下記サイトからarduino 用開発環境の最新版を手に入れる。
http://arduino.cc/en/Main/Software

ZIPで圧縮されているので、適当な場所に解凍。
arduino WOL リピータ」の実現だけなら、とりあえずデスクトップでもOK

◆ドライバーのインストール
※基板を触るときは、直前にパソコンの金属フレーム部分に触るなどして、体にたまった静電気を逃がしてくださいね。

手元のarduino
基板とパソコンをUSBケーブルで接続します。

Windows VISTA以降の場合は、ネットから取得するように選択すれば自動でインストールされます。
参考ページ(http://yutakalife.net/article/303005532.html

Windows XP/2000の場合は、先ほど手に入れた「
arduino 用開発環境」の解凍したフォルダの中に「drivers」とフォルダがあるのでそのフォルダを検索先に指定してインストールしてください。あとは、自動でインストールされます。

◆「arduino WOL リピータ」を実現するために必要な追加ファイルを手に入れる。
arduino_osc-tip.zipというファイルを下記サイトからダウンロード。
(Tag名、tipの横のDownloadの下、zipをクリック)
http://bitbucket.org/bjoern/arduino_osc/downloads/

圧縮されているので、適当な場所に解凍。

解凍された中の「arduino_osc」というフォルダの中に「libraries」というフォルダがあります。

さらにその中に「Ethernet」「String」というフォルダがあります。

まず「Ethernet」の内容をすべてarduino IDEのフォルダ「\hardware\libraries\Ethernet」にコピー。

次に「String」の内容を「\hardware\libraries\String」にそれぞれコピーしてください。

これが終わったら、arduino_osc-tip.zipと解凍して出来たフォルダは、削除してしまってOKです。



手順3.「arduino WOL リピータ」を作成
※基板を触るときは、直前にパソコンの金属フレーム部分に触るなどして、体にたまった静電気を逃がしてくださいね。
まず、arduinoとパソコンをつないでいるUSBケーブルを外します。

ここで、「arduino」と「ethernet shield」を合体させます。写真参照

arduino ethernet shieldarduino ethernet shield

arduino基板とパソコンをUSBケーブルで接続します。

手順2.でダウンロードして適当な場所に展開したフォルダ内の「arduino-xxx」フォルダの中にある「arduino.exe」をクリックして実行します。arduino 用開発環境が起動してウインドウが現れます。

現れたウインドウ内上部の「ツール」の中の「マイコンボード」の「Arduino Duemilanove or ...」が選択されていなければ選択する。

「ツール」の中の「シリアルポート」「COM3」にチェックがついていなければチェックをつける。

手順4.arduino基板にプログラムを転送する。
arduino WOL リピータ」のスケッチ(コード・プログラム)を全部選択してコピーします。

arduino IDE 日本語版のカーソルがある部分にペーストします。

ペーストしたスケッチの中の「Arduino のIP address」という部分に「
192, 168, 1, 200」を上書きする形で自分のネットワークに合うIPアドレスを入れます。※この場合は、ピリオド「.」ではなくカンマ「,」です。

左上の再生ボタンみたいなのをクリック。
コンパイルが終了するのを待つ。

次に右向きの矢印に縦棒線
みたいなのをクリック。
arduino基板にプログラムが転送され、自動的に実行されます。

これでarduino WOL リピータ」は完成です。

arduino用の電源として購入した電源アダプタにUSBケーブルをつなぎ換えます。念のために「ethernet shield」上のリセットボタンを1回押してください。

LANケーブルで「
ethernet shield」とスイッチングHUBやルーターのHUBポートを接続します。

これで
arduino WOL リピータ」の作業は終了です。剥き出しだと心配でしょうから、100円ショップなどで適当なプラスチックケースを買ってきて穴をあけて放置するのが良いでしょう。

次にルーターのポートを開いて、ポート転送の設定をルーターで行ってください。開くポートは、7番。転送先のIPアドレスは、先ほどの「Arduino のIP address」という部分のアドレスです。


手順5.外部ネットワークから(インターネット経由で)マジックパケットを送信する。
私は、sndmagic (For Windows NT) Latest version 0.2 を使わせてもらっています。このソフトは、ポート7番を使用します。下記サイトから入手可能
http://www.st.rim.or.jp/~yumo/pub/sndmagic_chglog.html

このソフトを使う場合は、sndmagic.exeとmagic.exeをパスがとおっている場所(C:\Windows\system32)などにコピーして使うと、バッチファイルクリックのみで、対象PCの遠隔電源オンが可能で便利です。

バッチファイル「sndmgc.bat」の内容は、下記のような感じ
magic -q xxx.xxx.xxx.xxx 32 XXXXXXXXXXXX

xxx部分は、グローバルIPです。ターゲットがあなたの自宅のパソコンなら、その
グローバルIP。

XXX部分は、
ターゲットパソコンのマックアドレス。windowsなら、ターゲットパソコン上のコマンドプロンプトで「ipconfig /all」などで調べてください。

別のソフトやサービスを利用する場合は、それにあわせてポート番号を変更してください。具体的には、
【手順4.arduino基板にプログラムを転送する。】に戻ってください。

ペーストしたスケッチの中の「local port to listen on」という部分に7番が設定されていますが、ここを変更してください。

下記ウェブサイトのマジックパケット送信サービス利用する場合は、2304
http://www.starstonesoft.com/mp/

Wake up On Lan Tool」というソフトを利用する場合は、任意でポート番号を指定できるので、7番のままでもかまいません。

ポート番号を変更したら、ルーターでのポート転送設定も変更してください。

不明な点やうまく動作しないことなどありましたら、コメントください。可能な限り対応します。

posted by love4nature at 01:00| Comment(18) | TrackBack(0) | 趣味の部屋 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
有用な記事をありがとうございます。
プログラムについては初心者ですが、ルーター越えのWOLが必要なため、記事の沿って作業を進めました。

(1)リンクから「Arduino UNO」を購入
(2)リンクから「IDE 0018」の日本語版をDL
(3)リンクから2つのライブラリ・フォルダをDL
(4)上記(2)の「libraries」フォルダに(3)のフォルダをコピー

それで、記事のスケッチを上記(2)のIDEにコピーして(1)のボードにアップロードしたところ、エラーが出ました。

> avr dude: stk500_getsync(): not in sync: resp=0x00
> avr dude: stk500_disable(): protcol error, expect=0x14, resp=0x51

IDEの「検証(verify)」では問題ないので、調べたところ、「Arduino UNO」にアップロードするにはIDEの0021以降が必要であるということでした。
http://www.arduino.cc/en/Guide/Troubleshooting#toc1
http://www.switch-science.com/products/detail.php?product_id=428

それで、IDEの最新版(0022)をDLして、上記(3)以降の作業を行ったのですが、今度はライブラリ(WString)のエラーが多数出て、「verify」もクリアできない状態になってしまいました。

念のため、0022のライブラリを全て削除して、上記(2)〜(4)のライブラリ・フォルダをコピーしたのですが状況は変わりませんでした。

対応策を教えていただけないでしょうか。
御面倒おかけして恐縮ですが宜しくお願いします。

Posted by 初心者 at 2011年08月20日 23:36
たびたび恐縮です。
その後適当にスケッチを変えながら、何とかコンパイルとボードへのアップロードを終えました。

それで、ルーター越しで専用ソフトを使ってマジックパケットを送ったのですが、うまく起動しませんでした。

ホストPC(起動させたいPC)のシリアルモニタをみると、確かにマジックパケットが届いており、その内容が表示されています。したがって、ルータ越えには成功していると思います。

スケッチ上は、そこからブロードキャスト用のアドレス(192.168.X.255)に転送しているので、起動するはずなのですが・・・。

ちなみに、同じLAN上の他のPCからは専用ソフトを使ってWOL起動できるので、OS(win7:64bit)やBIOSの設定に問題はないと思います。

後は、上記のブロードキャスト用アドレス宛に本当に信号が発信されているか(sendPacketコマンドが動作しているか)確認してみるつもりでその方策を考えています。それでダメならばお手上げに近いです。


Posted by 初心者 at 2011年08月21日 20:50
お騒がせしましたが問題解決しました。
ボードの電源をターゲットPC(サーバ)から取っていたのが原因でした。

ボードもPCも遠隔地にあり、これらをリモート操作していたので、こんな簡単なことに気づくのに1日かかりました。手元にあればランプの消灯ですぐ気付くはずですが・・・。御報告まで。
Posted by 初心者 at 2011年08月22日 14:38
たびたび失礼します。
その後、貴サイトの「arduino WOL リピーター&スイッチャー」(※1)を参照して、PC以外の電気製品のON/OFFも試してみました。

デモの様子をYouTubeにアップしています。
http://www.youtube.com/watch?v=-X7uSaUODxA

なお、赤外線リモコンの複製は「戸田よろず研究所」さんのサイト(※2)を参照しています。

いずれのサイトも大変素晴らしく、"Grazie mille!" です。

※1
http://yutakalife.net/article/134256657.html

※2
http://www11.ocn.ne.jp/~tyk/ircopy2/ircopy2.html

(補足)
スイッチの長押しでPCを強制終了すると、WOL(マジックパケットのブロードキャスト)による起動ができなくなります。

私のPC固有の現象かもしれませんが、スイッチによる起動は問題ないので、これが運用上の障害になることはありません。ご参考まで。
Posted by 初心者 at 2011年09月06日 16:41
ひと月ぶりに失礼します。
その後、Arduinoを使ったWOLシステムの信頼性向上をいろいろ試してみました。作業にのめりこんでいる間に季節が変わってしまいました。

試行錯誤と出来上がりの様子を、先の動画と合わせて5本シリーズにして、YouTubeにアップしました。よろしければご覧ください。

(1)WOL用のソフトでArduinoに様々な指示を送ります
http://www.youtube.com/watch?v=-X7uSaUODxA

(2)ブラウザでArduinoに指示を送り、画面に結果が示されます
http://www.youtube.com/watch?v=uqCd0TtRYfw

(3)WOL機器を2系統にして、相互回復機能で信頼性を高めます
http://www.youtube.com/watch?v=XQq5CjHP4v8

(4)上記の2系統システムを監視して不調を報告します
http://www.youtube.com/watch?v=8n5NaqSy2-M

(5)熱対策を考慮して、リレー基盤とArduinoを取りつけます
http://www.youtube.com/watch?v=KE8mAdZX0Uc

このシリーズの内、(2)と(4)はWOL以外にも活用範囲がありそうです。また、(3)は私独自の環境に対応したものなので、Arduinoを2つ用意するのであればあまり苦労はないと思います。以上、報告と御参考まで。

追伸:はんだ付けが少し上手になりました。
Posted by 初心者 at 2011年10月02日 02:13
上記投稿者です。
(3)の動画のURLが下記に変わりました。
http://www.youtube.com/watch?v=_fNb57xgW80
Posted by 初心者 at 2011年10月02日 11:08
上記動画のURLを再変更しました。
http://www.youtube.com/watch?v=G939y9cSnic
Posted by 初心者 at 2011年10月02日 15:51
C言語はちょっとかじって挫折したド素人です。
IDE 1.0.1を使ってコンパイルしようとしたのですが、どうしてもUdpRaw.hがインクルードされません。

error: 'UdpRaw' was not declared in this scope

サイトに記述されているとおり、UdpRaw.hは\hardware\libraries\Ethernetにコピーしております。

なんにかヒントだけでも教えていただけないでしょうか。
Posted by ど素人 at 2012年08月18日 15:28
去年の夏を思い出して1年ぶりにのぞいてみました。
arduioも1年近く御無沙汰なので、技術的な内容はほぼ完全に忘れてしまいましたが、覚えている範囲で書きます。

私はIDEの0022を使ったのですが、その時点で既にこちらのサイトの記事は少し古くなっていた気がします。具体的には、・・・
Posted by 再初心者 at 2012年09月02日 08:47
続きがありますが、なぜか投稿エラーになります。
Posted by 再初心者 at 2012年09月03日 07:59
印鑑を輸送

代理人を通して印鑑登録廃止<a href="http://www.superhanko.com/">角印</a>登録を行うこともできます。ただし、本人からの申請であるかどうかを確認する必要があるため、登録者本人が来庁するのに比べ、手続きが多く期間も要します(代理人申請では、一度の来庁では印鑑登録は完了せず、証明書を交付することはできません)。個人ではなく法人(団体)の請求書、領収書、契約書などに、社名や<a href="http://www.superhanko.com/">社印</a>住所に付して確認のための印として用いられる角型の印鑑。右縦書きで篆書体で「○○株式会社之印」のように彫られていることが多い住民票のある役場でその印鑑登録を抹消する手続きをすれば会社で持っているカードはその時点で無効になります。印鑑登録が必要なら、再度登録すれば新しいカードが交付されますし新旧2枚のカードで別々に取った<a href="http://www.superhanko.com/">印鑑</a>証明書がある場合には「あたらしい日付のものが有効」です。印鑑カードの発行のみ、登記をした法務局でしか取得できません。印鑑カードを持っていなければ、管轄の法務局に行かないといけません。印鑑カードを取得しており、印鑑証明書の発行のみであれば、管轄外の法務局でもできます。あなたがお持ちの<a href="http://www.superhanko.com/">印鑑通販</a>「印鑑判子」を実印に使っていたり、銀行に使っていたりすればいくら安い物でもそれはとても大事な「<a href="http://www.superhanko.com/kojin-set2.html">実印販売</a>」になります。反対にいくら高い「印鑑判子」でも役所や銀行に届けを出していないものは、只の字の彫られた棒きれです。スポンジが薄くなり、カスが出たり、汚れたり、ぼろぼろなっている様でしたら、スポンジごと交換いたしましょう。印鑑ケースに愛着があるようでしたら、やはり朱肉部分の交換<a href="http://www.superhanko.com/yzkojin-zituin.html">印鑑激安</a>です。シャチハ○等で補充インキカートリッジが市販されてます。そっくり交換が簡単のようです。 2個入りです。250〜300円で量販店などで売られております。後々の使い勝手が大変良いのが、実感なのです。申請後、本人の意思確認のため、照会書を本人の住所地宛に送付されますので、照会書が届いてから所定の期日内に、必要事項を記載して再度持参してください。
Posted by 印鑑を輸送 at 2012年11月17日 19:22
ナイスショップ オンライン コム
良い雰囲気オンラインショップです、各種海外有名ブランドを集め、品豊富、手頃価格、見つからない商品も問い合わせ出来、対応丁寧。チタン、タングステン、セラミック素材の指輪、ネックレス、ブレスレット、イヤリング。セクシーランジェリーも販売し、お洒落商品の便利店です、気に合う物が絶対ありますので、ナイスショップ オンライン(niceshop-online.com)是非覚えて、一度ご来店してホームページをご覧ください。
niceshop312@yahoo.co.jp
http://www.niceshop-online.com
Posted by 小林 千代 at 2013年05月16日 13:03

圧倒的な安さと品揃いが魅力的タオバオ代行!
ご注文を期待しています!
service@86daikou.com
タオバオ代行: www.86daikou.com
タオバオ: www.86daikou.com
taobao: www.86daikou.com
taobao代行: www.86daikou.com
中国 代行: www.86daikou.com
淘宝網: www.86daikou.com
中国 仕入れ: www.86daikou.com
中国オークション: www.86daikou.com
Posted by タオバオ代行 at 2013年05月17日 18:07
I became just browsing occasionally in addition to you just read this post. I need to admit that we are within the hand of luck today if not owning such an excellent write-up to determine wouldn窶冲 are achievable for me, at the incredibly least. Really enjoy your content.
Posted by doudoune abercrombie at 2013年05月24日 12:19
Hi, i think that i saw you visited my site thus i came to 窶徨eturn the favor窶�.I'm trying to find things to improve my website!I suppose its ok to use some of your ideas!!
Posted by air max pour fille at 2013年06月02日 15:03
Pretty nice post. I just stumbled upon your weblog and wished to say that I窶况e really enjoyed browsing your blog posts. In any case I will be subscribing to your feed and I hope you write again soon!
Posted by magasin jordan at 2013年06月05日 23:38
You actually make it seem so easy with your presentation but I find this matter to be really something which I think I would never understand. It seems too complex and very broad for me. I am looking forward for your next post, I窶冤l try to get the hang of it!
Posted by trx for sale at 2013年06月09日 20:28
夏になると思いだすarduino。久々に拝見しました。「なんだかよくわからない」投稿がいくつかあるようですが・・・。

その後WOLですが、WAN側のIPアドレスの変更確認を忘れてしまうことが何度かあり、今夏2年ぶりにarduinoに触ってみました。

試行錯誤でIPアドレスの監視・報告機能を付けることができました。デモの動画をアップしましたのでよろしければご覧ください。
tp://youtu.be/aIoY3HQg32M
tp://youtu.be/cm0Xrdr_3Kk
Posted by 2年前の初心者です at 2013年09月01日 21:17
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。