■Ethernet.localIP関数
Ethernetクラス※1のEthernet.localIP関数は、イーサネットシールドのIPアドレスを取得します。
アドレスがDHCP経由で自動的に割り当てられる場合に役立ちます。
以下補足です
※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関数を定期的に呼び出してください。
※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:プログラム例
■構文
Ethernet.localIP();
■パラメータ
特に無し。
■戻り値
IPアドレス
励みになりますのでよければクリック下さい(^o^)/