Wifi Cliente web

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");
 }
  

1 comentario:

  1. 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