Aquí tenim un exemple de com poder fer que el nostre Arduino UNO es connecti en xarxa amb un servidor, com per exemple, per bolcar dades d’un sensor a una base de dades en un servidor. Aquí teniu una imatge de com és:ethernet_shield_arduino2

Per fer-ho. utilitzarem una “ethernet shield”, basada en el xip  Wiznet W5100. Aquesta placa disposa d’una ranura per una tarja SD, de forma que també pot funcionar com a servidor.

Aquesta tarja va connectada directament al damunt de l’arduino, de forma que no perdem connexions i la connexió és bastant neta, tal com mostra la imatge de sota:

arduino_ethernet

 

El codi de programa bàsic és el següent: (extret de la pàgina oficial d’arduino).

Fixa’t que s’ha de carregar les llibreries Ethernet.h i SPI.h per a que sigui més senzill la programació


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


byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 10, 0, 0, 177 }; //ip del client
byte server[] = { 64, 233, 187, 99 }; // Google

EthernetClient client;

void setup()
{
  Ethernet.begin(mac, ip);
  Serial.begin(9600);

  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(;;)
      ;
  }
}
Comparteix això: