Este ejemplo muestra cómo hacer una petición HTTP usando un Escudo o una placa MKR1000. Devuelve una búsqueda en Google para el término "Arduino". Los resultados de esta búsqueda se pueden ver como HTML a través de la ventana de su monitor serie del Software Arduino (IDE).
Este ejemplo está escrito para una red mediante cifrado WPA. Para la WEP o WPA, cambie Wifi.begin () llamándola en consecuencia.
Hardware necesario
Escudo Wifi Arduino
Placa Arduino o Genuino Zero
o
Placa MKR1000
Circuito
El pin digital 7 se utiliza como un pin de diálogo entre el escudo WiFi 101 y la placa, y no debe ser utilizado.
Usted debe tener acceso a una red inalámbrica 802.11b/g que se conecte a internet para este ejemplo. Tendrá que cambiar la configuración de red en el programa para que se corresponda con su red SSID particular.
Para redes que utilizan WPA / WPA2 Personal, necesita el SSID y la contraseña. El escudo no se conecta a las redes que utilizan el cifrado WPA2 Enterprise. Las contraseñas de red WEP son cadenas hexadecimales conocidas como claves. Una red WEP puede tener 4 claves diferentes; a cada clave se le asigna un valor "Key Index". En redes WEP cifradas, necesita el SSID, la clave y el número clave.
En la imagen superior, la placa Arduino o Genuino Zero se apilan debajo del escudo WiFi.
Código
// Cliente web
// Este programa se conecta a un sitio web (http://www.google.com)
// usando un escudo WiFi. Este ejemplo está escrito para una
// red mediante el cifrado WPA. Para WEP o WPA, cambiar
// Wifi.begin () llamandolo en consecuencia.
// Circuito:
// * Wi-Fi escudo conectado
// creado el 13 de Julio de 2010 por DLF (Metodo2 srl) // modificado el 31 de de mayo de 2012 por Tom Igoe
#include <SPI.h>
#include <WiFi101.h>
char ssid[] = "yourNetwork"; // su red SSID (nombre)
char pass[] = "secretPassword"; // your network password (use for WPA, or use as key for WEP)
int keyIndex = 0; // your network key Index number (needed only for WEP)
int status = WL_IDLE_STATUS;
// si no desea utilizar DNS (y reducir el tamaño del programa)
// utilizar la IP numérica en lugar del nombre del servidor:
// Dirección IP del servidor (74,125,232,128);
// IP numérica para Google (sin DNS)
char server[] = "www.google.com"; // dirección del nombre de Google (utilizando DNS)
// Inicializar la biblioteca cliente Ethernet
// Con la dirección IP y el puerto del servidor
// al que desea conectarse (puerto 80 es por defecto para HTTP):
WiFiClient client;
void setup() {
// Inicializar el puerto serie y esperar a que se abra el puerto:
Serial.begin(9600);
while (!Serial) {
; // Espera para que el puerto serie se conecte.
// Necesario para el puerto USB nativo solamente
}
// comprobar la preseencia del escudo:
if (WiFi.status() == WL_NO_SHIELD) {
Serial.println("Escudo WiFi no presente");
// no continua:
while (true);
}
// intenta conectar con una red Wifi:
while (status != WL_CONNECTED) {
Serial.print("Intentando conectar con SSID: ");
Serial.println(ssid);
// Conectarse a la red WPA / WPA2. Cambie esta línea si se utiliza una red abierta o WEP:
status = WiFi.begin(ssid, pass);
// espera 10 segundos para la conexión:
delay(10000);
}
Serial.println("Conectado a wifi");
printWifiStatus();
Serial.println("\nIniciando conexión con el sevidor...");
// si se obtiene una conexión, informa a través del monitor serie:
if (client.connect(server, 80)) {
Serial.println("Conectado al servidor");
// Make a HTTP request:
client.println("GET /search?q=arduino HTTP/1.1");
client.println("Host: www.google.com");
client.println("Conexión cerrada");
client.println();
}
}
void loop() {
// Si hay bytes entrantes disponibles
// desde el servidor, leerlos e imprimirlos:
while (client.available()) {
char c = client.read();
Serial.write(c);
}
// si el servidor se desconecta, detener el cliente:
if (!client.connected()) {
Serial.println();
Serial.println("Desconectado del servidor.");
client.stop();
// no hacer nada:
while (true);
}
}
void printWifiStatus() {
// Imprime el SSID de la red a la que esta conectado:
Serial.print("SSID: ");
Serial.println(WiFi.SSID());
// imprime la direccionIP del escudo WiFi:
IPAddress ip = WiFi.localIP();
Serial.print("Dirección IP: ");
Serial.println(ip);
// imprime la potencia de la señal recibida:
long rssi = WiFi.RSSI();
Serial.print("Potencia de la señal (RSSI):");
Serial.print(rssi);
Serial.println(" dBm");
}
// Este programa se conecta a un sitio web (http://www.google.com)
// usando un escudo WiFi. Este ejemplo está escrito para una
// red mediante el cifrado WPA. Para WEP o WPA, cambiar
// Wifi.begin () llamandolo en consecuencia.
// Circuito:
// * Wi-Fi escudo conectado
// creado el 13 de Julio de 2010 por DLF (Metodo2 srl) // modificado el 31 de de mayo de 2012 por Tom Igoe
#include <SPI.h>
#include <WiFi101.h>
char ssid[] = "yourNetwork"; // su red SSID (nombre)
char pass[] = "secretPassword"; // your network password (use for WPA, or use as key for WEP)
int keyIndex = 0; // your network key Index number (needed only for WEP)
int status = WL_IDLE_STATUS;
// si no desea utilizar DNS (y reducir el tamaño del programa)
// utilizar la IP numérica en lugar del nombre del servidor:
// Dirección IP del servidor (74,125,232,128);
// IP numérica para Google (sin DNS)
char server[] = "www.google.com"; // dirección del nombre de Google (utilizando DNS)
// Inicializar la biblioteca cliente Ethernet
// Con la dirección IP y el puerto del servidor
// al que desea conectarse (puerto 80 es por defecto para HTTP):
WiFiClient client;
void setup() {
// Inicializar el puerto serie y esperar a que se abra el puerto:
Serial.begin(9600);
while (!Serial) {
; // Espera para que el puerto serie se conecte.
// Necesario para el puerto USB nativo solamente
}
// comprobar la preseencia del escudo:
if (WiFi.status() == WL_NO_SHIELD) {
Serial.println("Escudo WiFi no presente");
// no continua:
while (true);
}
// intenta conectar con una red Wifi:
while (status != WL_CONNECTED) {
Serial.print("Intentando conectar con SSID: ");
Serial.println(ssid);
// Conectarse a la red WPA / WPA2. Cambie esta línea si se utiliza una red abierta o WEP:
status = WiFi.begin(ssid, pass);
// espera 10 segundos para la conexión:
delay(10000);
}
Serial.println("Conectado a wifi");
printWifiStatus();
Serial.println("\nIniciando conexión con el sevidor...");
// si se obtiene una conexión, informa a través del monitor serie:
if (client.connect(server, 80)) {
Serial.println("Conectado al servidor");
// Make a HTTP request:
client.println("GET /search?q=arduino HTTP/1.1");
client.println("Host: www.google.com");
client.println("Conexión cerrada");
client.println();
}
}
void loop() {
// Si hay bytes entrantes disponibles
// desde el servidor, leerlos e imprimirlos:
while (client.available()) {
char c = client.read();
Serial.write(c);
}
// si el servidor se desconecta, detener el cliente:
if (!client.connected()) {
Serial.println();
Serial.println("Desconectado del servidor.");
client.stop();
// no hacer nada:
while (true);
}
}
void printWifiStatus() {
// Imprime el SSID de la red a la que esta conectado:
Serial.print("SSID: ");
Serial.println(WiFi.SSID());
// imprime la direccionIP del escudo WiFi:
IPAddress ip = WiFi.localIP();
Serial.print("Dirección IP: ");
Serial.println(ip);
// imprime la potencia de la señal recibida:
long rssi = WiFi.RSSI();
Serial.print("Potencia de la señal (RSSI):");
Serial.print(rssi);
Serial.println(" dBm");
}
Este ejemplo muestra cómo hacer una petición HTTP usando un Escudo o una placa MKR1000. Devuelve una búsqueda en Google para el término "Arduino". consejoscomunales.net/primer-militarismo/
ResponderEliminar