Diferencia entre revisiones de «WebClient»

De ArduWiki
Saltar a: navegación, buscar
(Página creada con «<big>Cliente web</big> Este ejemplo muestra cómo hacer una solicitud HTTP usando un escudo de Ethernet. Devuelve una búsqueda en Google del término "Arduino". Los resul...»)
 
(Vea también)
 
(No se muestran 5 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
<big>Cliente web</big>
+
Este ejemplo muestra cómo hacer una solicitud HTTP usando un modulo (sheald) de Ethernet. Devuelve una búsqueda en Google del término "Arduino". Los resultados de esta búsqueda se envían por monitor serie de Arduino.
 
 
Este ejemplo muestra cómo hacer una solicitud HTTP usando un escudo de Ethernet. Devuelve una búsqueda en Google del término "Arduino". Los resultados de esta búsqueda se pueden visualizar como HTML a través de la ventana serie de Arduino.
 
 
 
<pre>
 
/*
 
  Web client
 
 
 
This sketch connects to a website (http://www.google.com)
 
using an Arduino Wiznet Ethernet shield.
 
 
 
Circuit:
 
* Ethernet shield attached to pins 10, 11, 12, 13
 
 
 
created 18 Dec 2009
 
by David A. Mellis
 
modified 9 Apr 2012
 
by Tom Igoe, based on work by Adrian McEwen
 
 
 
*/
 
  
 +
== Codigo ==
 +
<syntaxhighlight lang="c++">
 
#include <SPI.h>
 
#include <SPI.h>
 
#include <Ethernet.h>
 
#include <Ethernet.h>
  
// Enter a MAC address for your controller below.
+
//Ethernet shield attached to pins 10, 11, 12, 13
// Newer Ethernet shields have a MAC address printed on a sticker on the shield
+
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };   //MAC del modulo
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
+
IPAddress ip(192, 168, 0, 177);                       //IP del modulo
// if you don't want to use DNS (and reduce your sketch size)
+
char server[] = "www.google.com";                     //Google (usar DNS)
// use the numeric IP instead of the name for the server:
+
//IPAddress server(74,125,232,128);                    //IP de Google (no usar DNS)
//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
+
EthernetClient client;                                 //Iniciar cliente
IPAddress ip(192, 168, 0, 177);
 
 
 
// 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() {
 
void setup() {
  // Open serial communications and wait for port to open:
+
  Serial.begin(9600);
  Serial.begin(9600);
+
  // start the Ethernet connection:
  while (!Serial) {
+
  if (Ethernet.begin(mac) == 0) {
    ; // wait for serial port to connect. Needed for native USB port only
+
      Serial.println("Failed to configure Ethernet using DHCP");
  }
+
      // 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 {
 +
    // if you didn't get a connection to the server:
 +
    Serial.println("connection failed");
 +
  }
 +
}
  
  // start the Ethernet connection:
+
void loop() {
  if (Ethernet.begin(mac) == 0) {
+
  // if there are incoming bytes available
    Serial.println("Failed to configure Ethernet using DHCP");
+
  // from the server, read them and print them:
    // try to congifure using IP address instead of DHCP:
+
  if (client.available()) {
    Ethernet.begin(mac, ip);
+
      char c = client.read();
  }
+
      Serial.print(c);
  // give the Ethernet shield a second to initialize:
+
  }
  delay(1000);
+
  // if the server's disconnected, stop the client:
  Serial.println("connecting...");
+
  if (!client.connected()) {
 +
      Serial.println();
 +
      Serial.println("disconnecting.");
 +
      client.stop();
  
  // if you get a connection, report back via serial:
+
      // do nothing forevermore:
  if (client.connect(server, 80)) {
+
      while (true);
    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 {
 
    // if you didn't get a connection to the server:
 
    Serial.println("connection failed");
 
  }
 
 
}
 
}
 +
</syntaxhighlight>
  
void loop() {
+
== Vea también ==
  // if there are incoming bytes available
+
<categorytree mode=all>Libreria Ethernet</categorytree>
  // 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:
+
== Referencias ==
  if (!client.connected()) {
+
* [https://www.arduino.cc/en/Reference/EthernetClient Ethernet Client]
    Serial.println();
 
    Serial.println("disconnecting.");
 
    client.stop();
 
  
    // do nothing forevermore:
+
[[Category:Ejemplos]]
    while (true);
+
[[Category:Libreria Ethernet]]
  }
 
}
 
</pre>
 

Revisión actual del 19:03 30 may 2019

Este ejemplo muestra cómo hacer una solicitud HTTP usando un modulo (sheald) de Ethernet. Devuelve una búsqueda en Google del término "Arduino". Los resultados de esta búsqueda se envían por monitor serie de Arduino.

Codigo

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

//Ethernet shield attached to pins 10, 11, 12, 13
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };   //MAC del modulo
IPAddress ip(192, 168, 0, 177);                        //IP del modulo
char server[] = "www.google.com";                      //Google (usar DNS)
//IPAddress server(74,125,232,128);                    //IP de Google (no usar DNS)

EthernetClient client;                                  //Iniciar cliente

void setup() {
   Serial.begin(9600);
   // start the Ethernet connection:
   if (Ethernet.begin(mac) == 0) {
      Serial.println("Failed to configure Ethernet using DHCP");
      // 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 {
     // if 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);
   }
}

Vea también


Referencias