イーサネット シールドの背面に印刷されているものに変更したファームウェア アドレス以外は変更せずに、Arduino ソフトウェアにバンドルされている Web クライアント用のサンプル イーサネット スケッチを使用しています。
Arduino をネットワークに接続してシリアル モニタを表示すると、「DHCP を使用してイーサネットを構成できませんでした」というメッセージしか表示されません。
Arduino Mega 2560 をイーサネット シールドでセットアップし、ポート 50 を MISO に、51 を MOSI に、52 を SCK に、10 を SS に正しく接続しました (イーサネット ボードに印刷されている ETHCS とも呼ばれます)。
この DHCP エラーが発生する理由がわかりましたか?
これが私のコードです:
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = { 0x90, 0xA2, 0xDA, 0x00, 0x73, 0xE4 }; //ethernet mac
IPAddress server(192, 168, 1, 9); //valid server IP in my network
EthernetClient client;
void setup() {
Serial.begin(9600);
if (Ethernet.begin(mac) == 0) {
Serial.println("Failed to configure Ethernet using DHCP");
for(;;)
;
}
delay(1000);
Serial.println("connecting...");
if (client.connect(server, 80)) {
Serial.println("connected");
client.println("GET /search?q=arduino HTTP/1.0");
client.println();
}
else {
Serial.println("connection failed");
}
}
void loop()
{
if (client.available()) {
char c = client.read();
Serial.print(c);
}
if (!client.connected()) {
Serial.println();
Serial.println("disconnecting.");
client.stop();
for(;;)
;
}
}