Diferencia entre revisiones de «WebClient»
De ArduWiki
(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: | ||
− | + | 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 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | == Codigo == | ||
+ | <syntaxhighlight lang="c++"> | ||
#include <SPI.h> | #include <SPI.h> | ||
#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() { | |
− | + | // 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> | ||
− | + | == Vea también == | |
− | + | <categorytree mode=all>Libreria Ethernet</categorytree> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | == Referencias == | |
− | + | * [https://www.arduino.cc/en/Reference/EthernetClient Ethernet Client] | |
− | |||
− | |||
− | |||
− | + | [[Category:Ejemplos]] | |
− | + | [[Category:Libreria Ethernet]] | |
− | |||
− | |||
− |
Revisión actual del 23: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