EthernetUDP.remoteIP関数
この関数は、UDP.parsePacket関数の後に呼び出さなければなりません。
※1:EthernetUDPのクラスは、UDPメッセージの送受信が出来ます。
#include <SPI.h>
#include <Ethernet.h>
#include <EthernetUdp.h>
// 下のコントローラのMACアドレスとIPアドレスを入力します
// IPアドレスはローカルネットワークに依存します
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192, 168, 1, 177);
unsigned int localPort = 8888; // 待機するローカルポート
// UDP経由でパケットを送受信できるようにするEthernetUDPインスタンス
EthernetUDP Udp;
void setup() {
// イーサネットとUDPを開始します。
Ethernet.begin(mac,ip);
Udp.begin(localPort);}
void loop() {
int packetSize = Udp.parsePacket();
if(packetSize){
Serial.print("Received packet of size ");
Serial.println(packetSize);
Serial.print("From IP : ");
IPAddress remote = Udp.remoteIP();
//リモート接続のIPアドレスを出力する
Serial.print(remote);
Serial.print(" on port : ");
//リモート接続のポートをプリントアウトする
Serial.println(Udp.remotePort());}}
#include <Ethernet.h>
#include <EthernetUdp.h>
// 下のコントローラのMACアドレスとIPアドレスを入力します
// IPアドレスはローカルネットワークに依存します
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192, 168, 1, 177);
unsigned int localPort = 8888; // 待機するローカルポート
// UDP経由でパケットを送受信できるようにするEthernetUDPインスタンス
EthernetUDP Udp;
void setup() {
// イーサネットとUDPを開始します。
Ethernet.begin(mac,ip);
Udp.begin(localPort);}
void loop() {
int packetSize = Udp.parsePacket();
if(packetSize){
Serial.print("Received packet of size ");
Serial.println(packetSize);
Serial.print("From IP : ");
IPAddress remote = Udp.remoteIP();
//リモート接続のIPアドレスを出力する
Serial.print(remote);
Serial.print(" on port : ");
//リモート接続のポートをプリントアウトする
Serial.println(Udp.remotePort());}}
図2:プログラムの内容