wiki:ArduinoPingResponder

Arduinoを使ってpingのレスポンダを作る

VPN環境の導通確認をしていて、pingの応答するためだけにPCをつなげておくとかもったいないなあ、そもそも空いてるPCがそんなにないよ、というわけでArduinoで作ってみることにしました。

Ethernetシールドを使えばping応答については何もする必要がありません。 DHCPについてはArduino向けのライブラリを使えば簡単にできるはず。

LCDシールドを作る

想定する使い方はスイッチとケーブルで接続して、DHCPで割り振られたIPアドレスを確認。そのアドレスに対してpingの応答を確認する、というものです。

DHCPで割り振られたIPアドレスを確認するからには何か表示する手段が必要です。大阪オフィスで「LCD欲しい」とつぶやくとymasudaからSC1602の差し入れが!

エレキジャックの記事「 <8>mbed入門 ~LCDの接続に挑戦! その1~」や「 Arduino 日本語リファレンス」を参考に バニラシールドにはんだづけ。 Ethernetシールドが11〜13番PINを使うので、2〜8番にまとめました。

LCD Shield

あと、自宅には可変抵抗がなかったのでLCDの3番PIN(Cont)は適当に2kΩの抵抗をいれてGNDにつなぎました。 バニラシールドはたまたま自宅にあったので使ったのですが、Ethernetシールドにはそのまま載らないので邪魔な部分をカットして使っています。

動かしてみる

DHCP用のライブラリは  Arduino DHCP Library: Version 0.4 を使いました。このライブラリに含まれているExampleに取得したアドレス情報をシリアルに出力する部分があるので、出力先をLCDに変更してそのまま使います。

  • DHCPサーバのアドレス

DHCP Server

  • DNSサーバのアドレス

DNS Server

  • IPアドレス

IP Address

  • サブネットマスク

subnet mask

  • ゲートウェイ

gateway

リセットボタンを押したらアドレスを取得。後は延々上記の表示を繰り返しているだけ。

簡単な物だけれども導通試験には充分使い物になりそうです。

(2010/10/18 - imazu)

Attachments