Este ejemplo muestra cómo realizar peticiones HTTP reptidas usando un Escudo WiFi101 o una placa MKR1000. Se conecta a http://www.arduino.cc/latest.txt. El contenido de la página se puede ver a través de la ventana del monitor serie de Arduino Software (IDE).
Este ejemplo está escrito para una red cifrada WPA. Para la WEP o WPA, cambie Wifi.begin () en consecuencia.
Hardware necesario
Escudo Arduino Wifi
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
// Repetición de llamadas a cliente Web Wifi // Este programa se conecta a un servidor de una red y hace una solicitud // usando un escudo Arduino Wifi. // Circuito: // * Escudo WiFi conectado a los pines SPI y al pin 7 // Creado el 23 de Abril de 2012 // modificado el 31 de de Mayo de 2012 por Tom Igoe // modificado el 13 de Enero de 2014 por Federico Vanzati // http://arduino.cc/en/Tutorial/WifiWebClientRepeating // Este código es de dominio público. #include <SPI.h> #include <WiFi101.h> char ssid[] = "yourNetwork"; // your network SSID (name) char pass[] = "secretPassword"; // your network password int keyIndex = 0; // your network key Index number (needed only for WEP) int status = WL_IDLE_STATUS; // Initializa la biblioteca client Wifi WiFiClient client; // direcion del servidor: char server[] = "www.arduino.cc"; //Direccion IP del servidor (64,131,82,241); unsigned long lastConnectionTime = 0; // última vez que se conecto al servidor, en milisegundos const unsigned long postingInterval = 10L * 1000L; // tiempo entre actualizaciones, en milisegundos 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); } // ahora eta conectado, puede impimir su estado: printWifiStatus(); } void loop() { // Si hay bytes entrantes disponibles // desde el servidor, leerlos e imprimirlos: while (client.available()) { char c = client.read(); Serial.write(c); } // si han pasado 20 segundos desde la ultima conexion, // conectar de nuevo y enviar los datos: if (millis() - lastConnectionTime > postingInterval) { httpRequest(); } } // este método hace una conexión HTTP con el servidor: void httpRequest() { // Cerrar cualquier conexión antes de enviar una nueva solicitud. // esto liberará el conector del escudo WiFi client.stop(); // si la conex´on se hace con exito: if (client.connect(server, 80)) { Serial.println("Conectando..."); // send the HTTP PUT request: client.println("GET /latest.txt HTTP/1.1"); client.println("Host: www.arduino.cc"); client.println("User-Agent: ArduinoWiFi/1.1"); client.println("Conexión errada"); client.println(); // tenga en cuenta el momento en que se realizó la conexión: lastConnectionTime = millis(); } else { // si no se puede conectar: Serial.println("Fallo de conexión"); } } void printWifiStatus() { // imprime el SSID de su red conectada: Serial.print("SSID: "); Serial.println(WiFi.SSID()); // imprimir la direccion IP del escudo WiFi: IPAddress ip = WiFi.localIP(); Serial.print("IP Address: "); 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"); }
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. https://consejoscomunales.net/cultura-tiahuanaco/
ResponderEliminar