Diferencia entre revisiones de «WebClient»
De ArduWiki
Línea 10: | Línea 10: | ||
Circuit: | Circuit: | ||
− | |||
created 18 Dec 2009 | created 18 Dec 2009 | ||
Línea 22: | Línea 21: | ||
#include <Ethernet.h> | #include <Ethernet.h> | ||
− | // | + | //Ethernet shield attached to pins 10, 11, 12, 13 |
− | + | 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 |
− | // | + | char server[] = "www.google.com"; //Google (usar DNS) |
− | + | //IPAddress server(74,125,232,128); //IP de Google (no usar DNS) | |
− | |||
− | char server[] = "www.google.com"; | ||
− | + | EthernetClient client; //Iniciar cliente | |
− | |||
− | |||
− | |||
− | |||
− | // | ||
− | |||
void setup() { | 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() { | 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); | |
− | + | } | |
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Vea también == | == Vea también == | ||
+ | * [https://www.arduino.cc/en/Reference/EthernetClient Ethernet Client] | ||
== Referencias == | == Referencias == | ||
[[Category:Ejemplos]] | [[Category:Ejemplos]] | ||
[[Category:Libreria Ethernet]] | [[Category:Libreria Ethernet]] |
Revisión del 23:01 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
/*
Web client
This sketch connects to a website (http://www.google.com)
using an Arduino Wiznet Ethernet shield.
Circuit:
created 18 Dec 2009
by David A. Mellis
modified 9 Apr 2012
by Tom Igoe, based on work by Adrian McEwen
*/
#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);
}
}