NOBのArduino日記!

NOBのArduino日記!

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

Arduino IDE(IPAddress関数の使い方)

■IPAddress関数
 IPAddressクラス※1のIPAddress関数は、IPアドレスを定義します。
 ローカルアドレスとリモートアドレスの両方を宣言するために使用できます。

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:IPAddressのクラスは、ローカルおよびリモートのIPアドレス指定で動作します。

■使用例
  Arduino IDEで使用するIPAddress関数の使い方は以下の通りです。
  例えば「Arduino Leonardo Ethernet」をPCにUSB接続し、またネットワークに接続されたLANケーブル接続して、ArduinoIDEの「ツール」→「ボード」→「Arduino Ethernet」を選択した状態にします。
 次に下記プログラムを実行すると、IPAddress関数によって4つのIPAddressがセットされます。

#include <SPI.h>
#include <Ethernet.h>
// ネットワーク設定:DNSサーバー・ゲートウェイ・及びサブネットはオプションです
// シールドのメディアアクセス制御(イーサネットハードウェア)アドレス
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

// DNSサーバIP
IPAddress dnServer(192, 168, 0, 1);
// ルータのゲートウェイアドレス
IPAddress gateway(192, 168, 0, 1);
// サブネット
IPAddress subnet(255, 255, 255, 0);
//IPアドレスはネットワークに依存します
IPAddress ip(192, 168, 0, 2);

void setup() {
   Serial.begin(9600);
   // イーサネットバイスを初期化する
   Ethernet.begin(mac, ip, dnServer, gateway, subnet);
   // IPアドレスをプリントアウトする
   Serial.print("IP = ");
   Serial.println(Ethernet.localIP());
}

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

■構文
 IPAddress(address);

■パラメータ
 address:アドレスを表す「,」で区切られたリスト。(4byte、例192,168,1,1)

■戻り値
 特に無し。

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

↩【ArduinoIDE reference】目次に戻る