create 2012.12.27
update ----.--.--


「WOL Bridge」を作る

回路図

プロジェクトファイル一式 2012.12.24
更新履歴



フレッツ光ネクストを契約しました・・・

つい最近まで契約を結んでいたインターネット接続サービスはケーブルテレビの下り38Mbps、上り0.5Mbpsのベストエフォートタイプでした。
別に不満を感じることもなく利用していたのですが、突然下りの速度が最大でも6Mbps程度しか出なくなり、業者に確認してもらっても原因不明、改善策も無いという事で解約させて頂きました。月額料金が3570円と非常に安価であるだけに残念です。
しかたがなくプロバイダをそのままに回線だけをNTT東日本のフレッツ光ネクストの2年縛りで契約したのが10月のことですが、その翌月に既存ユーザーを小馬鹿にしたかの様に「思いっきり割」が発表されショックを受けました。

せっかく上りの速度が高速化された事ですし、自宅PCへ外部から接続できる様に設定を弄ってみようかと・・・。


iPhone5を購入しました・・・

同じころ、月賦払いが終了したばかりのiPhone4をiPhone5へ機種変しました。
まずは通信速度の比較です。

iphone4_3g.png iphone4_wifi.png  
iPhone4 3G 接続 iPhone4 Wi-Fi 接続  
     
iphone5_3g.png iphone5_wifi.png iphone5_lte.png
iPhone5 3G 接続 iPhone5 Wi-Fi 接続 iPhone5 LTE 接続

3G接続、Wi-Fi接続共に通信速度が大きく向上しています。
iPhone4の3G接続でIP電話アプリを使用すると通信速度が遅い為に動作が不安定でしたがiPhone5では問題無く使用できそうです。
これなら自宅PCからの動画ストリーミング再生を行うことも可能かもしれません。
意外だったのがLTE接続時の下りの速度が3G接続より遅かったことです。(応答速度が速いので体感的速度はLTEの方が速く感じます)


ハードルが高いインターネット側からLAN側へのマジックパケット送信・・・

自宅でPCを24時間連続稼動しているパワフルなユーザーよりも、私の様に必要な時にPCを起動して、用が済めばシャットダウンするというスタイルで運用している人の方が多いのではないでしょうか?
外部から自宅のPCをアクセスする為には、インターネット経由で自宅PCを起動する仕組みが必要になります。

WOL用のマジックパケットが、ルーター(NAT)を越えてLAN側に到達できない事例は珍しくありません。
大抵の家庭用ブロードバンドルーターはブロードキャストのパケットをインターネット側からLAN側に通す事を禁止しているからです。
基本的にWOL用のマジックパケットはブロードキャストへ送られるのでルーター側でブロックされてしまい、LAN側のPCを起動させる事ができないのです。おそらくインターネット側から不特定多数へ送信される大量のブロードキャストパケットをLAN側に通してしまうと、何かしらのリスクが伴う為に禁止されているものと思われます。

ブロードキャスト・ユニキャスト問わず、ターゲットPCのLANポートにマジックパケットが届くことでWOLが機能します。
それではルーターが持つ機能のポートフォワーディング(メーカーにより名称が色々有る様です)を設定した場合はどうでしょう?

例として、ターゲットPCのIPアドレスを192.168.0.30に固定して、ルーターの設定でUDPのポート9番を192.168.0.30に紐づけます。
その後、ルーターに割り当てられたグローバールIPアドレスのポート9番にマジックパケットをユニキャスト送信したとします。
ターゲットPCが起動すれば儲け物ですが、大抵の場合は起動に失敗します。
たとえターゲットPCの起動に成功して喜んでいても、すぐにガッカリする事になるでしょう。

ターゲットPCがシャットダウンして暫くすると、外部からのマジックパケットに反応しなくなるのです。
これは、ターゲットPCがシャットダウンすることでIPアドレスが消失し、ルーターやスイッチ内部のARPキャシュからターゲットPCのIPアドレスとMACアドレスの紐づけデータが消去されてしまう為です。
ルーターは、外部から届いたマジックパケットをIPアドレス192.168.0.30に転送しようとしますが、ARPキャッシュには192.168.0.30のIPアドレスが存在しません。
そこでルーターはブロードキャストを用いてARPリクエストをLAN内に送信して応答を待ちますが、肝心のターゲットPCはシャットダウンされているのでリクエストに応答する事ができません。
宛先アドレスを取得できないルーターは192.168.0.30にマジックパケットを送信できない為、ターゲットPCへマジックパケットが到達することはありません。

最近の家庭用ブロードバンドルーターは良くできていてWOL対応と謳われるものは、ルーターが内蔵するWEBサーバーを利用してブラウザで起動したい機器を選択することでルーターからマジックパケットを送信する仕組みが用意されています。

これなら、インターネット側からのブロードキャストのパケットがルーターでブロックされてもWOLを実現することが可能になります。

バッファローのルーターでは、左画像の画面からLAN内の機器をWOLすることができます。
この機能が採用されはじめた頃は、ARPキャッシュの問題の為か、一覧から起動したいPCが消えてしまいWOLできない状況に遭遇する事もありましたが、最近の製品では機器情報を固定することで一覧から消えない様に設定できます。
私が使用しているルーター「WZR-D1100」でも対応しています。

バッファーローのホームページより画像を転用させて頂きました。

ちなみにYAMAHA製のルーター「RTX810」はWOLパケットをLAN側に通す事を許可することが可能な様ですが、インターネットからWOLを行いたいだけで「RTX810」を導入するのは勿体ないです話ですね。


結局何がしたいのか・・・

1.VPN接続で自宅LANへ参加する

バッファロー製のブロードバンドルーターではお馴染みの機能で、PPTPによるVPNを簡単に構築できます。
VPNの利点は、LAN内と外部からの接続の違いを意識する事無く、通常使用しているアプリを設定変更無しで使用できることです。
PPTPによるVPNはセキュリティリスクが高いと言われており、企業で使用するのには抵抗がありますが、個人レベルで使用する分には問題無いと思われます。これが問題になるのであればルーターメーカーも製品に組み込むことはしないでしょう。

便利なVPNですが、セキュリティー以外にも問題があります。
VPN接続されていても、ブロードキャストのパケットはルーターを越える事ができません。ブロードキャストを使用するサービスを利用するアプリも制限を受けます。マジックパケットを送信するWOLアプリも例外なく制限を受けます。
ブロードキャストへパケットを送信できない事によりUPnP機器を検出する機能が利用できません。VPN接続時だけブロードキャストを許可する設定があれば良いのですが・・・

私が無知なだけで、実は抜け道が用意されているのかもしれませんね。

2.無料のDDNSサービスを利用してDDNSの自動更新を行う

バッファロー製のブロードバンドルーターに限らず、殆どの家庭用ブロードバンドルーターはDDNSの自動更新機能を搭載しています。
WZR-D1100」もDDNSの自動更新に対応しているのですが、無料のDDNSサービスには対応しておりません。
アイ・オー・データ製のブロードバンドルーターに買い替えれば無料でDDNSサービスを利用できますが、購入したばかりの「WZR-D1100」を手放すのは非常に惜しいです。無料のDDNSを自動更新する手段が必要になりました。

3.マジックパケットを使用したWOLを行いたい

WZR-D1100」が持つWOL機能は便利なのですが、ブラウザを起動してWOLを実行するまでには手順が多くて面倒です。
iPhoneのブラウザからWOLを行おうとすると、ログイン画面が2回表示され、その都度ユーザー名とパスワードを入力する必要があります。
普段から利用しているWOLアプリを利用したい処です。


要求を満たす為に・・・

24時間稼働のPCがあれば、私の抱える不満はアプリケーションを導入することで簡単に解消しそうです。
また「Raspberry Pi」の様なリナックスベースの小型マイコンボードを24時間稼働させて解消する事もできそうです。
むしろ、そのほうが安心感がありますが、これでは電子工作の記事にならないので、AVRを使用した電子工作で問題点の解消を目指します。
「VPN」の制限に対しては対応方法が全く思い浮かばないのでパスします。無料DDNSの自動更新とマジックパケットによるWOLは対応できそうです。

1.WOLリピータ機能の実装

今回はユニキャストで送られてきたマジックパケットを、LAN内にブロードキャストで送信する機能を持つ装置を製作します。
同様の機能を持つ装置として「Wake On LAN リピータ」が販売されています。USB電源タップも制御可能で何気に高機能な装置です。
DDNSサービスの自動更新機能に困っていない場合は、こちらを導入するのが早いですね。

2.無料DDNSサービスの自動更新を実装

プロバイダから提供されているグローバルIPアドレスを動的にドメイン名と紐付してくれるのがDDNSサービスです。
IPアドレスが変化したら、DDNSサービスへIPアドレスを通知する事でドメイン名に新しいIPアドレスが紐付きます。
無料で利用できるサービスではieServerDynamic DO!.jp等があります。


ハードウエア構成を考える・・・

WOLリピーターの自作記事「arduino WOL リピータ」を見て、なるほど。Arduinoで簡単に作れてしまうんだ。
MACアドレスの取得には秋月のEEP-ROMを利用しよう。ステータス確認にLCDが付いていれば便利だな。
そういえば押入れに眠っている部品が有ったなぁ。
NTTからレンタルしている「PR-400MI」の背面に無駄に付いているUSBポートから電源を供給しよう。
等と考えながら回路図とプリント基板を設計していきました。


簡単な回路なので片面基板で楽勝と思っていたのですが、思わず苦戦し、両面基板へ逃げてしまいました。
途中から両面基板にデザインが変わってしまったので、無駄な部分が多いです。
「WOL Bridge」というタイトルでありながら、パターンには「WOL Repeater」の文字列が・・・

実装する主要部品は以下の通りです。
以前に購入して放置したままのモジュールを利用します。

AtMega328P

今さら説明は不要ですね。イーサネット関連のプログラムを動作させるにはフラッシュもRAMも物足りないかもしれません。
今回は5Vの電圧で8MHz駆動しています。普段の工作ではオーバークロックが当たり前だったのですが、安定動作を優先した結果です。

LCDキャラクタディスプレイモジュール

使用されているLCDコントローラーは有名すぎて、これも説明する必要ないですね。
LCDの電源はAVRのポートから供給します。これにより、LCDモジュールをソフト的にリセットする事が可能です。
付属の抵抗の取付けとハンダブリッジは必要ありません。 取説に従って処置すると本回路では異常動作します。
バックライトLEDはPWM制御することで、輝度をソフト的に変更することが可能です。

WIZ812MJ

W5100搭載のモジュールです。ICのピッチが狭い為、手作業でのハンダ付けが難しそうなので、このモジュールを使用します。
Arduino イーサネットシールドにも採用されているICですので資料が豊富です。
動作電圧が3.3Vなのでレギュレータを使用して電源を確保します。I/Oは5Vトレラント入力なので5V動作のAVRと直結可能です。
SPI接続限定で使用する場合「WIZ820IO」の方が安価で高性能です。「WIZ820IO」を使用するにはプログラムの変更が必要となります。
WIZ812MJ」は「インターネットラジオを作る」の執筆時点で既に5個も在庫を持っていましたので暫くは「WIZ812MJ」を使用しなければなりません。

MACアドレス書込済み 93C46

イーサネット機器に必ず必要なMACアドレスですが、勝手にアドレスを設定して良い訳ではありません。
今回は手軽にMACアドレスを取得する方法として「秋月電子通商」からMACアドレス書込済みのEEP-ROMを購入しました。
MACアドレスが書込まれている以外は普通の93C46Dと変わりません。書換えや消去もできるのでコマンドの発行は慎重に行います。
インターネットラジオを作る」ではWIZ社のサンプルコードに含まれているMACアドレスを使用させて頂いております。

タクトスイッチ

秋月電子通商」で扱っている普通のタクトスイッチです。十字に配置して方向キーとEnterキーとして利用します。
安価で良いのですが耐久性が低いのが難点です。

部品実装を終えた状態がこれです。


まずはAVRとISPプログラマの通信が出来るかチェックする為に、ターゲットボードに通電しコマンドを入力してみました。「avrsp -rf」
あれ?、通信に失敗します。
定電圧電源の電圧計を見ると1V、電流計は3A・・・マズい!。過電流です。
パターンをチェックしてみると「93C46D」のVCC、GNDが逆接続になっており、かなり発熱しておりました。
「前にも同じ失敗をした様な・・・」と思いながらパターンをカッターで修正してパスコンの位置を変更して、無事通電できました。
電源を普通に接続していればポリスイッチが過電流をカットしてくれるのですが、テストではポリスイッチをバイパスして直接VCCに電源を接続してしまいました。
通電前のパターンチェックを怠ったのが一番の敗因ですね。

パターン修正しました。
強引にパスコンを接続してパターンをカットして・・・
美しくないです。もう一枚作り直す必要があります。

修正したデータで基板を製作し直すのが面倒なので、
Seeed Studioの基板製造サービスFusion PCB Serviceに基板を発注してみました。

100mm×75mm(t=1.2mm)、両面、無鉛ハンダレベラー処理
発注枚数10枚、送料込み$37.7(3,223円)/1枚辺り322円。

同サイズの感光基板が1枚850円します。
更にインクジェット用シート、現像液、エッチング液のコストを考えると、プリント基板を自作するよりも超低価格で作成できてしまいます。

しかし手元に届くまで約2週間程度要します。私には待ちきれません。
自作基板なら1日も掛らずに出来てしまうのですから・・・
今後も自宅で現像してエッチングして電子工作を楽しんでいる事でしょう。

同じ基板が複数枚必要な場合には利用したいサービスです。




システムの名称・・・

安易に「WOL Bridge」と命名します。製作したプリント基板には「WOL Repeater」の文字列が入っていますが気にしてはいけません。


ネットワーク基本機能の実装・・・

arduino WOL リピータ」は簡単なプログラムの反面、スケッチ上のネットワークパラメータを書換えてリビルドする必要があります。
Wake On LAN リピータ」は自動でネットワークパラメータを取得するのでネットワーク環境が変わってもリビルドする必要は無さそうです。
「WOL Bridge」でも自動でネットワークパラメータを設定できる様にします。
インターネットラジオを作る」で基本的な機能は完成しておりますので、殆どそのままソースを流用することができました。

・DHCPクライアント

DHCPサーバーから必要なネットワークパラメータを取得します。デフォルトではこの機能が有効になります。
DHCPサーバーがリースするIPアドレスには使用期限があり、期限が過ぎると別のIPアドレスがリースされる可能性があります。
「WOL Bridge」の性質上、IPアドレスが常に固定されている事が望ましいです。
IPアドレスの固定方法として以下の何れかを用いて固定化します。

1.「WOL Bridge」のMACアドレスに対して常に同じIPアドレスをリースする様にルーターの設定を変更する。
  おそらく、一番簡単な方法だと思います。
2.DHCPサーバーからネットワークパラメータを取得したら、手動設定でIPアドレスをDHCPサーバーの管理アドレスと重複
  しないアドレスに設定する。(これも簡単です)
3.DHCPクライアント機能を使用しないで、手動で各パラメータを設定する。
  上級者向け?

・NTPクライアント

インターネット上のタイムサーバーから定期的に現時刻を取得します。
今回は時計機能が無くても問題なく仕様を満たせるのですが、通常画面に何を表示するかと考えたら、時計が無難ということで対応しました。
デフォルトでは独立行政法人 情報通信研究機構が提供するタイムサーバーに接続します。

・名前解決

実の処、未だに良く理解出来ていない機能です。
ブロードキャストで送信されたリクエストに対して、「WOL Bridge」の情報を返します。
LAN内のWindows搭載PCで名前解決できる事は確認できていますが、LANに無線接続しているiPhoneでは名前解決ができません。
以前に公開したインターネットラジオが起動していると、名前解決に失敗するなど、まだまだ改善が必要な機能です。
デフォルトでは「wol」という名前が登録されており、IPアドレスではなくホスト名で「WOL Bridge」にアクセスする事が可能になります。
VPN接続では、この機能は使用できません。IPアドレスを用いて「WOL Bridge」にアクセスする必要があります。

・DNSリゾルバ

ドメイン名からIPアドレスを検索したり、その逆の検索を行う機能です。

・HTTPサーバー

「WOL Bridge」のステータス表示や一部のパラメータを変更する方法として、HTTPサーバーを提供します。
ブラウザのアドレス欄に「WOL Bridge」のIPアドレスを入力すると、「WOL Bridge」の設定ページが表示されます。
本体側から設定できるパラメータはブラウザからは設定できません。
反対にブラウザから設定できるパラメータは本体では設定できません。

ここまで実装した時点でプログラム領域を殆ど使い果たしてしまいました。
今さらですがメモリ容量に余裕のあるAtMega1281を使用した方が良かったと後悔しています。


WOLリピーターの実装・・・

「WOL Bridge」宛にユニキャストで送られたマジックパケットを、そのままブロードキャストに送信するだけの機能です。
たったこれだけの機能ですが簡単に外部からWOLを実現できる様になります。
「WOL Bridge」の主機能でありながらソースレベルでコメント行を含めても100行未満です。
非常に簡単なプログラムなので、プログラムサイズも小さくできました。


DDNSの自動更新を実装・・・

DDNSに登録したグローバルIPアドレスとルーターに設定されているグローバルIPアドレスを比較してIPアドレスが異なる場合にDDNSを更新する。
言葉では簡単ですが、AVRで実現するとなると結構面倒です。

最初に悩むのがグローバルIPアドレスの取得だと思います。
ルーターが持っているグローバルIPアドレスを取得できれば確実なのですが、ルーターの機種毎に専用のプログラムが必要となり現実的ではありません。
別の方法としてリモートIPアドレスを出力するCGIにアクセスする方法が有ります。
http://npyo.net/checkip.cgi」はアクセス元のリモートIPアドレスをプレーンテキストで出力するCGIです。「WOL Bridge」のデフォルト状態で使用します。
DDNSを提供するサイトで同様のCGIが用意されている場合があり、現時点で「ieServer.Net」が提供するCGIが「WOL Bridge」でも利用できます。

DDNSの更新手順ですが意外と簡単に行うことができます。
DDNSサービスを無料で提供する「ieServer.Net」と「Dynamic DO!.jp」はURLにログインパラメータを設定してHTTP接続するだけでDDNSを更新することが可能です。

ieServer.Net」では

http://ieserver.net/cgi-bin/dip.cgi?username=****&domain=****&password=****&updatehost=1

パラメータのusernameにはDDNS登録時のユーザー名、domainにはDDNS登録時のドメイン名(jpn.phやfam.cx等)、passwordにはDDNS登録時のパスワードを指定します。
URLに間違いが無ければブラウザからURLを開くと、DDNSの更新完了をお知らせする画面が表示されます。
同サイトの便利ツールにある「IPアドレス更新サンプルスクリプト」が参考になります。
ieServer.Net」はSSLによるアクセスにも対応しておりますが、「WOL Bridge」ではSSLには対応しておりません。

Dynamic DO!.jp」では

http://free.ddo.jp/dnsupdate.php?dn=****&pw=****

パラメータのdnにはDDNS登録時のユーザー名、pwにはDDNS登録時のパスワードを指定します。
ieServer.Net」と同様にブラウザのアドレス欄にURLを入力することでDDNSを更新出来ます。
同サイトの使い方にある「4.IPアドレスの自動更新」が参考になります。

AVRにはブラウザなんて洒落た物は有りませんので、TCPソケットでホストの80番ポートに接続を行い「GET」コマンドを発行します。
ホストから送信されてきたテキストを解析してIPアドレスの取得や、DDNSの更新ステータス確認を行えば今回の目的は達成します。
リモートIPアドレス取得CGIからのデータ取得時に、IPアドレス文字列の前後に16進数文字列が挿入されてホストからデータが送られてくる時があり、最初は何が何だか分からない状態でした。
Googleで検索してみると、チャンク形式のヘッダとフッタの文字列だという事が分かりました。
どういう条件で切り替えているのか分かりませんが、不定期でチャンク形式だったり「Content-Length」通知だったりしますので、両方に対応できる様にしておくことが必要です。

なんとか目的の機能を搭載する事ができました。
AVRのフラッシュは98%以上使用していますので、これ以上の機能追加は無理かもしれません。


スクリーンショットです・・・

普段は現在時刻が表示されます マジックパケット受信ポート番号 DHCPクライアント有効・無効表示
「WOL Bridge」のIPアドレス サブネットマスク ゲートウエイIPアドレス
DNSサーバーアドレス グローバルIPアドレス ホスト名
 
使用するNTPサーバー名 「WOL Bridge」のMACアドレス  

撮影の為にバックライト無しのLCDを使用しています。


使い方・・・

通常は現在の日時が表示されています。(NTPサーバーから時刻を自動で取得します)
タクトスイッチの上下ボタンを押す毎に、各画面表示に切り替わります。
手動設定可能なパラメータ表示画面で、エンターボタン(中央)を長押しすると、パラメータ変更モードに遷移します。
文字列の入力が必要なパラメータはブラウザ上から設定します。
また、タクトスイッチの左右を押すとバックライトの輝度が10段階で変化します。
日時が表示以外の画面で、エンターボタン(中央)を押すと、強制的に日時表示画面に遷移します。
日時表示画面以外が表示された状態で、無操作が一定時間続くと、強制的に日時表示画面に遷移します。

「WOL Bridge」の使用ポートにブロードキャスト又はユニキャストでマジックパケットが届くと、LAN内へブロードキャストでマジックパケットを出力します。 ポートフォワーディングにより「WOL Bridge」のポート番号を解放することでインターネット側からWOLを行う事が可能になります。
この場合、WOLアプリに設定するIPアドレスはルーターに割り当てられているIPアドレスになります。
また、VPN接続時には「WOL Bridge」に割り当てられているローカルIPアドレスを指定します。VPN接続では特別にポートを解放する必要はありません。

使用するWOLアプリはマジックパケットのユニキャスト送信に対応したものが必要になります。
iPhoneでは「iRPM」、「RemoteBoot」等があります。
これらのアプリは、設定でBrodcastをOFFにすることでユニキャストに対応する事が可能です。

Windowsのアプリとしてコマンドベースで動作するマジックパケット送信プログラムを用意しました。
Magic Packet.zip」を解凍して得られた実行ファイルをコマンドプロンプトから実行すると使用方法が表示されます。
ショートカットを作成して、アイコンをダブルクリックすることでWOLを実現可能です。

「MagicPacket.exe」が「C:\Program Files (x86)\MagicPacket」にインストールされているものとします。

ショートカットを作成し、プロパティを開きます。

リンク先に "C:\Program Files (x86)\MagicPacket\MagicPacket.exe" xx-xx-xx-xx-xx-xx 192.168.xxx.xxx xxxxx と入力します。

フルパスの実行ファイル名をダブルクオーテーションで括り、その後ろにパラメータを記述します。
最初のパラメータは起動したいPCのMACアドレスです。
次のパラメータは「WOL Bridge」に設定されているIPアドレスです。IPアドレスの代わりにホスト名(ドメイン名)を指定することも可能です。
最後のパラメータは「WOL Bridge」に設定されているポート番号です。省略するとデフォルトで9番のポートが使用されます。

「実行時の大きさ」を「最小化」に設定しておけば、実行時にコマンドプロンプトのウインドウが表示されませんので見た目も気にならないと思います。

「MagicPacket.exe」は、パラメータにMACアドレスのみを指定すると通常のWOLアプリと同様にブロードキャストへマジックパケットを送信します。

ユニキャストでマジックパケットを送信できるアプリであれば「MagicPacket.exe」に拘る必要はありません。

これで、LANからもVPN接続からでも、同じアプリを使用して対象PCをWOL可能になります。

DDNSの自動更新機能は、デフォルトではOFFになっております。
ブラウザから「WOL Bridge」のIPアドレスを入力して設定画面を表示します。
「DDNS access」の「Change」リンクをクリックすると「Enable」になり、DDNSの自動更新機能が有効になります。
「Update DDNS url」の「Edit」リンクをクリックして、URLの入力画面を開きます。
DDNS更新用のURLを入力して「OK」リンクをクリックします。
画面上部の「WOL Bridge」リンクをクリックすると最初の画面に戻りますので「DDNS last update」の欄に異常ステータスが表示されていない事を確認します。
DDNSサービスのホームページにログインして、最終更新日が「WOL Bridge」の設定画面で表示されている「DDNS last update」の日時と一致しているか確認します。秒まで完全に一致する事は珍しいかもしれませんが、1分以内に収まっていれば成功しているものと判断して良いと思います。
「WOL Bridge」で対応するDDNSサービスは「ieServer.Net」と「Dynamic DO!.jp」の2つだけです。
他のDDNSサービスもURLでの更新に対応していれば利用可能ですが、更新の成功・失敗を判断するロジックが正常に働かない可能性があります。


仕様です・・・

・IPv4専用

ずいぶんと前からIPv4形式アドレスの枯渇問題が話題になっておりますが、当面は問題無いと判断しました。
W5100のハードウエア処理がIPv6に対応していない為、IPv6に対応するにはRAWソケットを使用してソフトウエアだけで処理しなければなりません。
AtMega328Pの容量で実現するのは難しいと思われます。

・WOLリピーター機能

設定ポートに届いたマジックパケットをLAN内にブロードキャストで送信します。
マジックパケット送信時にはLCDのバックライトが点滅してお知らせします。

・DDNS自動更新

10分毎にグローバルアドレスを確認して変化があればDDNS更新を実行します。
グローバルIPアドレスの変化が7日以上無い場合、7日目に強制的にDDNS更新を実行します。
デフォルトではグローバルIPアドレスの取得に「http://npyo.net/checkip.cgi」を使用します。

・内部時計の自動時刻合わせ

NTPサーバーより時刻を12時間毎に取得します。デフォルトでは「ntp.nict.jp」を使用します。

・ネットワークパラメータの自動設定

DHCPサーバーからネットワークパラメータを自動取得します。
手動でネットワークパラメータを設定して、IPアドレスを固定する事も可能です。

・LCDバックライトの輝度設定

通常画面表示時に左右ボタンを押すことでLCDバックライトの輝度を10段階で設定可能です。

※「WOL Bridge」は一般家庭での動作を想定しておりブロードバンドルーターがDHCPサーバー機能を提供している事が前提となります。
 一部のプロバイダーではリースされるIPアドレスがプライベートIPアドレスの場合があり、この場合は「WOL Bridge」の機能を使用できません。


実際の使用感・・・

東京へ連泊する用事があり、ビジネスホテルのインターネット回線と、親戚の家のインターネット回線から「WOL Bridge」の動作を確認してみました。
ビジネスホテルのインターネット回線からは自宅ルーターへVPN接続できませんでした。ホテル側でVPNパススルーに対応していないか接続を規制している様です。
親戚の家からは問題なくVPN接続で「WOL Bridge」へマジックパケットを送信する事が出来ました。設定画面のブラウザ表示も問題ありません。

iPhoneのLTE回線からのVPN接続は問題ありませんが、パケット転送量に制限があるため、動画のストリーミングは止めておいた方が無難です。
LTE回線からVPN接続を行い「AcePlayer」を使用して自宅サーバーPCから動画のストリーミングを受信しましたが、2時間の動画で1.2GBytes以上のパケット転送が発生してしまい、翌日には速度規制されてしまいました。

VPN接続により自宅「ひかり電話」の子機としてiPhoneを使用する事が可能です。LTE回線でVPN接続するとクリアな音声で「ひかり電話」を利用でき、通話料金も安くなるので便利です。
携帯電話による通話よりも音質が良いので積極的に利用したいです。ちなみに使用したアプリは「AGEphone for iPhone」です。

「WOL Bridge」のDDNS自動更新とWOLリピーターは使い方次第で、色々と役立ちそうです。


「WOL Bridge」を使用した事によるネットワーク障害、情報漏洩、情報の消失などいかなる障害について、一切の責任を負いかねます。興味を持って頂いた方は自己責任で試用願います。



【HOME】