Ehternet(TEthernetクラス)
Ethernetを使用するためのライブラリです。使用する場合は、ライブラリとしてインポートして、#include <Ethernet.h>を記述してください。また、TEthernet Ethernet;と書いてインスタンスを作ってください。
begin
概要 |
イーサネットライブラリを開始します。パラメータとして指定しないIPアドレス、DNS、デフォルトゲートウェイ、サブネットマスクはDHCPで取得されます。 |
文法 |
int Ethernet.begin(mac[6])Ethernet.begin(mac[6], ip[4])Ethernet.begin(mac[6], ip[4], dns[4])Ethernet.begin(mac[6], ip[4], dns[4], gateway[4])Ethernet.begin(mac[6], ip[4], dns[4], gateway[4], subnet[4]) |
パラメータ |
mac: MACアドレスip: IPアドレスdns: ネームサーバーのアドレスgateway: デフォルトゲートウェイのアドレスsubnet: サブネットマスク |
戻り値 |
Ethernet.begin(mac[6])のみ成功したら1、失敗したら0を返す。 |
localIP
概要 |
自分のIPアドレスを文字列で受け取ります。 |
文法 |
char* Ethernet.localIP |
パラメータ |
なし |
戻り値 |
自分のIPアドレス |
isLinkup
概要 |
LANがリンクアップ(通信可能になっている)か調べます。 |
文法 |
bool Ethernet.isLinkup() |
パラメータ |
なし |
戻り値 |
成功したらtrue、失敗したらfalseを返します。 |
Ping
概要 |
ターゲットホスト名を指定してPingを送ります。 |
文法 |
bool Ethernet.Ping(const char* hostname)bool Ethernet.Ping(byte ip[4]) |
パラメータ |
Pingを送りたいホスト名かIPアドレス |
戻り値 |
1回でも成功したらtrueを返します。全て失敗したらfalseを返します。 |
gethostbyname
概要 |
DNSにアクセスして、ホスト名からIPアドレスを調べます。 |
文法 |
byte* Ethernet.gethostbyname(const char* hostname) |
パラメータ |
hostname: 調べたいホスト名 |
戻り値 |
成功したらIPアドレスが格納された配列を返します。失敗したら0.0.0.0が格納された配列を返します。 |
dhcp
概要 |
DHCPでIPアドレスやDNS、ゲートウェイ等の取得を再実行します。 |
文法 |
bool Ethernet.dhcp() |
パラメータ |
なし |
戻り値 |
成功したらtrue、失敗したらfalseを返します。 |
sendUDP
概要 |
UDPパケットを送ります。 |
文法 |
bool Ethernet.sendUDP(byte ip[4], short port, byte* buf, int len) |
パラメータ |
ip: 送信先のIPアドレスが格納された配列port: 送信先のポート番号送信したいデータが格納されたバッファ送信したいデータ長 |
戻り値 |
成功したらtrue、失敗したらfalseを返します。 |
registUdpHandler
概要 |
UDPを受信したときにコールバックされる関数を登録する。登録される関数はprocessPackets()の中から呼び出されるため、processPackets()を繰り返し呼び出さないと受信処理は行われません。 |
文法 |
Ethernet.registUdpHandler(func) |
パラメータ |
func: UDPを受信したときにコールバックされる関数 |
戻り値 |
なし |
processPackets
概要 |
Ethernetの受信処理を進める。この関数が呼び出されると、受信パケットの有無を調べ、パケットの内容に応じて受信処理を進めます。受信エラーの解除も行われます。 |
文法 |
Ethernet.processPackets() |
パラメータ |
なし |
戻り値 |
なし |
サンプルプログラム
編集中です。