Diferencia entre revisiones de «WebClientRepeating»
De ArduWiki
(Página creada con «== Web Client Repeating == Este ejemplo muestra cómo realizar solicitudes HTTP repetidas utilizando un escudo Ethernet. Este ejemplo utiliza DNS, asignando al cliente Eth...») |
(→Codigo) |
||
(No se muestran 10 ediciones intermedias de 2 usuarios) | |||
Línea 1: | Línea 1: | ||
− | |||
− | |||
Este ejemplo muestra cómo realizar solicitudes HTTP repetidas utilizando un escudo Ethernet. Este ejemplo utiliza DNS, asignando al cliente Ethernet una dirección MAC, una dirección IP y una dirección DNS. Se conecta a http://www.arduino.cc/latest.txt. El contenido de la página se puede ver a través de la ventana serie de Arduino. | Este ejemplo muestra cómo realizar solicitudes HTTP repetidas utilizando un escudo Ethernet. Este ejemplo utiliza DNS, asignando al cliente Ethernet una dirección MAC, una dirección IP y una dirección DNS. Se conecta a http://www.arduino.cc/latest.txt. El contenido de la página se puede ver a través de la ventana serie de Arduino. | ||
− | < | + | == 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}; //Asigna una MAC al modulo | |
− | byte mac[] = { | + | IPAddress ip(192, 168, 1, 177); //Asigna un IP libre |
− | + | IPAddress myDns(1, 1, 1, 1); //Asigna tu servidor DNS | |
− | }; | ||
− | // | ||
− | |||
− | IPAddress ip(192, 168, 1, 177); | ||
− | + | EthernetClient client; //Inicializa cliente | |
− | |||
− | |||
− | // | ||
− | |||
char server[] = "www.arduino.cc"; | char server[] = "www.arduino.cc"; | ||
//IPAddress server(64,131,82,241); | //IPAddress server(64,131,82,241); | ||
− | unsigned long lastConnectionTime = 0; | + | unsigned long lastConnectionTime = 0; //Ultima conexion |
− | const unsigned long postingInterval = 10L * 1000L; // | + | const unsigned long postingInterval = 10L * 1000L; //Retardo entre actualizaciones |
− | |||
void setup() { | void setup() { | ||
− | + | Serial.begin(9600); | |
− | + | delay(1000); | |
− | + | Ethernet.begin(mac, ip, myDns); //Inicia conexion Ethernet | |
− | + | Serial.print("Mi direccion IP: "); | |
− | + | Serial.println(Ethernet.localIP()); | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
} | } | ||
void loop() { | void loop() { | ||
− | + | if (client.available()) { | |
− | + | char c = client.read(); | |
− | + | Serial.write(c); | |
− | + | } | |
− | + | if (millis() - lastConnectionTime > postingInterval) { | |
− | + | httpRequest(); | |
− | + | } | |
− | + | } | |
− | |||
− | |||
− | |||
− | |||
− | |||
+ | void httpRequest() { | ||
+ | client.stop(); //Cierra conexion y libera socket | ||
+ | if (client.connect(server, 80)) { | ||
+ | Serial.println("conectando..."); | ||
+ | client.println("GET /latest.txt HTTP/1.1"); //Envia requerimiento HHTTP GET | ||
+ | client.println("Host: www.arduino.cc"); | ||
+ | client.println("User-Agent: arduino-ethernet"); | ||
+ | client.println("Connection: close"); | ||
+ | client.println(); | ||
+ | lastConnectionTime = millis(); | ||
+ | }else{ | ||
+ | Serial.println("conexion fallo."); | ||
+ | } | ||
} | } | ||
+ | </syntaxhighlight> | ||
− | + | == Vea también == | |
− | + | <categorytree mode=all>Libreria Ethernet</categorytree> | |
− | |||
− | |||
− | |||
− | + | == Referencias externas == | |
− | + | * [http://www.arduino.cc/en/Tutorial/WebClientRepeating Web Client Repeating] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | [[Category:Ejemplos]] | |
− | + | [[Category:Libreria Ethernet]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Revisión actual del 22:55 30 may 2019
Este ejemplo muestra cómo realizar solicitudes HTTP repetidas utilizando un escudo Ethernet. Este ejemplo utiliza DNS, asignando al cliente Ethernet una dirección MAC, una dirección IP y una dirección DNS. Se conecta a http://www.arduino.cc/latest.txt. El contenido de la página se puede ver a través de la ventana 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}; //Asigna una MAC al modulo
IPAddress ip(192, 168, 1, 177); //Asigna un IP libre
IPAddress myDns(1, 1, 1, 1); //Asigna tu servidor DNS
EthernetClient client; //Inicializa cliente
char server[] = "www.arduino.cc";
//IPAddress server(64,131,82,241);
unsigned long lastConnectionTime = 0; //Ultima conexion
const unsigned long postingInterval = 10L * 1000L; //Retardo entre actualizaciones
void setup() {
Serial.begin(9600);
delay(1000);
Ethernet.begin(mac, ip, myDns); //Inicia conexion Ethernet
Serial.print("Mi direccion IP: ");
Serial.println(Ethernet.localIP());
}
void loop() {
if (client.available()) {
char c = client.read();
Serial.write(c);
}
if (millis() - lastConnectionTime > postingInterval) {
httpRequest();
}
}
void httpRequest() {
client.stop(); //Cierra conexion y libera socket
if (client.connect(server, 80)) {
Serial.println("conectando...");
client.println("GET /latest.txt HTTP/1.1"); //Envia requerimiento HHTTP GET
client.println("Host: www.arduino.cc");
client.println("User-Agent: arduino-ethernet");
client.println("Connection: close");
client.println();
lastConnectionTime = millis();
}else{
Serial.println("conexion fallo.");
}
}
Vea también