2014-12-23 8 views
0

최근에 Arduino 이더넷 실드를 구입했지만 제대로 작동하지 않습니다.arduino 이더넷 실드가 작동합니까?

예제의 코드를 사용해 보았지만 작동하지 않았습니다. 나는 심지어 DHCP가없는 고정 IP를 얻으려고 시도해 왔으며, 항상 똑같은 문제가있다.

나는이 코드를 사용했습니다 :

#include <SPI.h> 
#include <Ethernet.h> 

// Enter a MAC address for your controller below. 
// Newer Ethernet shields have a MAC address printed on a sticker on the shield 
byte mac[] = { 0x90, 0xA2, 0xDA, 0x0F, 0xE1, 0xBF }; 
// if you don't want to use DNS (and reduce your sketch size) 
// use the numeric IP instead of the name for the server: 
//IPAddress server(74,125,232,128); // numeric IP for Google (no DNS) 
char server[] = "www.google.com"; // name address for Google (using DNS) 

// Set the static IP address to use if the DHCP fails to assign 
IPAddress ip(192,168,1,10); 

// Initialize the Ethernet client library 
// with the IP address and port of the server 
// that you want to connect to (port 80 is default for HTTP): 
EthernetClient client; 

void setup() { 
// Open serial communications and wait for port to open: 
    Serial.begin(9600); 
    while (!Serial) { 
    ; // wait for serial port to connect. Needed for Leonardo only 
    } 

    // start the Ethernet connection: 
    if (Ethernet.begin(mac) == 0) { 
    Serial.println("Failed to configure Ethernet using DHCP"); 
    // no point in carrying on, so do nothing forevermore: 
    // try to congifure using IP address instead of DHCP: 
    Ethernet.begin(mac, ip); 
    } 
    // give the Ethernet shield a second to initialize: 
    delay(1000); 
    Serial.println("connecting..."); 

    // if you get a connection, report back via serial: 
    if (client.connect(server, 80)) { 
    Serial.println("connected"); 
    // Make a HTTP request: 
    client.println("GET /search?q=arduino HTTP/1.1"); 
    client.println("Host: www.google.com"); 
    client.println("Connection: close"); 
    client.println(); 
    } 
    else { 
    // kf you didn't get a connection to the server: 
    Serial.println("connection failed"); 
    } 
} 

void loop() 
{ 
    // if there are incoming bytes available 
    // from the server, read them and print them: 
    if (client.available()) { 
    char c = client.read(); 
    Serial.print(c); 
    } 

    // if the server's disconnected, stop the client: 
    if (!client.connected()) { 
    Serial.println(); 
    Serial.println("disconnecting."); 
    client.stop(); 

    // do nothing forevermore: 
    while(true); 
    } 
} 

를 나는이 대답 있어요 : 내 이더넷 실드가 올바르게 작동하는지 확인 할 수있는 방법을

Failed to configure Ethernet using DHCP 
connecting... 
connected 

disconnecting. 

을 나는이 문제를 해결하는 방법 ?

답변

0

DHCP가 실패한 경우 "www.google.com"을 해결할 DNS 주소가 없습니다.
다음과 같이 코드를 수정하고 다시 시도하십시오.

IPAddress server(74,125,232,128); 
//char server[] = "www.google.com";