NOBのArduino日記!

NOBのArduino日記!

趣味は車・バイク・自転車・ラジコン・電子工作です。

Arduino IDE(Ethernet.localIP関数の使い方)

Ethernet.localIP関数
  Ethernetクラス※1のEthernet.localIP関数は、イーサネットシールドのIPアドレスを取得します。
 アドレスがDHCP経由で自動的に割り当てられる場合に役立ちます。

Arduino Leonardo EthernetArduino Leonardo(ATmega32u4搭載)とArduinoイーサネットシールド2をひとつに合わせたArduinoボードです。MACアドレスを書いたシールがボードに貼られています。このボードで開発をするためにはArduino IDE 1.7.2以降が必要です。(2015.04.30現在)PoE (Power over Ethernet)モジュールを追加すると、LANケーブル1本で電源供給と通信が可能です。IEEE802.3af の規格に準拠した環境下で動作します。
図1:Arduino Leonardo Ethernet
以下補足です

※1:Ethernetクラスのライブラリとは、Arduino Ethernet Shield(Ethernet.h)またはArduino Ethernet Shield 2とLeonardo Ethernet(Ethernet2.h)で動作するように設計されたライブラリです。このライブラリを用いる事によってArduinoボードをインターネットに接続することができます。ボードは、着信接続を受け付けるサーバーか、発信接続を確立するクライアントとして機能します。
 バージョン1.0では、ライブラリはDHCP※2をサポートしています。Ethernet.begin(mac※3)を適切なネットワーク設定で使用すると、イーサネットシールドは自動的にIPアドレス※4を取得します。これにより、スケッチサイズが大幅に増加します。必要に応じてDHCPリースが正しく更新されるように、Ethernet.maintain関数を定期的に呼び出してください。
※2:DHCP(英:Dynamic Host Configuration Protocol)とは、コンピュータがネットワーク接続する際に必要な情報を自動的に割り当てるプロトコルです。
※3:MACアドレス(英語: Media Access Control address)とは、ネットワーク上で、各ノードを識別するために設定されているLANカードなどのネットワーク機器のハードウェアに原則として一意に割り当てられる物理アドレスです。
※4:IPアドレス(英: Internet Protocol address)とは、IPにおいてパケットを送受信する機器を判別するための番号です。

 

■使用例
 Arduino IDEで使用するEthernet.localIP関数の使い方は以下の通りです。
  例えば「Arduino Leonardo Ethernet」をPCにUSB接続し、またネットワークに接続されたLANケーブル接続して、ArduinoIDEの「ツール」→「ボード」→「Arduino Ethernet」を選択した状態にします。
 次に下記プログラムを実行すると、着信メッセージをすべてに配信するシンプルなチャットサーバーが構築されます。
 この中でEthernet.begin関数はイーサネットライブラリとネットワーク設定の初期化を実行します。

#include <SPI.h>
#include <Ethernet.h>
// MACアドレスを入力、新しいイーサネットシールドには、シールド上のステッカーにMACアドレスが印刷されています
byte mac[] = {0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02 };
// イーサネットクライアントライブラリを初期化(サーバーのIPアドレスとポート番号)ポート80はHTTPのデフォルトです
EthernetClient client;

void setup() {
   Serial.begin(9600);// シリアル通信を開始
   if (Ethernet.begin(mac) == 0) {// イーサネット接続を開始
       Serial.println("Failed to configure Ethernet using DHCP");
       for (;;);
   }// 持ち運びには何のポイントもないので、永遠に何もしない
   Serial.println(Ethernet.localIP());
}// ローカルIPアドレスを出力します

void loop() {}
イメージ 1
図1:プログラム例

■構文
 Ethernet.localIP();

■パラメータ
 特に無し。

■戻り値
 IPアドレス

イメージ 1 イメージ 3
励みになりますのでよければクリック下さい(^o^)/

↩【ArduinoIDE reference】目次に戻る