Client()
client es la clase base para todas las llamadas basadas en cliente WiFi. No se llama directamente, sino que invoca cada vez que se utiliza una función que depende de él.
FUNCIONES
WifiClient()
Descripción:
Crea un cliente que puede conectarse a una dirección IP de Internet y el puerto como se define en client.connect ().
Sintaxis:
WiFiClient()
Parámetros:
Ninguno
Ejemplo:
#include <SPI.h>
#include <WiFi101.h>
char ssid[] = "myNetwork"; // su red SSID (nombr)
char pass[] = "myPassword"; // su password de red
int status = WL_IDLE_STATUS;
IPAddress server(74,125,115,105); // Google
// Initializa la biblioteca Client
WiFiClient client;
void setup() {
Serial.begin(9600);
Serial.println("Intentando conectar con una red WPA...");
Serial.print("SSID: ");
Serial.println(ssid);
status = WiFi.begin(ssid, pass);
if ( status != WL_CONNECTED) {
Serial.println("No se consigue conexion wifi");
// no hacer nada entonces:
while(true);
}
else {
Serial.println("Conectado a wifi");
Serial.println("\nIniciando conexion...");
// si se consigue una conexion, informar por el monitor serie:
if (client.connect(server, 80)) {
Serial.println("Conectado");
// Make a HTTP request:
client.println("GET /search?q=arduino HTTP/1.0");
client.println();
}
}
}
void loop() {
}
________________________________________________________________________
WifiSSLClient()
Descripción:
Esta clase le permite crear un cliente que siempre se conecta en SSL para la dirección IP y el puerto especificados, incluso si client.connect () se utiliza en lugar de client.connectSSL (). Esto es útil si usted tiene una biblioteca que sólo acepta clientes normales, pero quiere forzarlo a utilizar SSL, manteniendo los mismos nombres de los métodos que el cliente no SSL.
Sintaxis:
WiFiSSLClient()
Parámetros:
Ninguno
Ejemplo:
// En este ejemplo se crea un objeto cliente que se conecta y // transfiere datos utilizando siempre SSL. // Es compatible con los métodos normalmente relacionados // con las conexiones planas, como client.connect (host, puerto). // Escrito por Arturo Guadalupi // última revisión de Noviembre del año 2015 #include <SPI.h> #include <WiFi101.h> char ssid[] = "yourNetwork"; // su red SSID (nombr) char pass[] = "secretPassword"; // su password de red (usada para WPA, o usada como clave para WEP) int keyIndex = 0; // su numero clave Index de red (solo necesario para WEP) int status = WL_IDLE_STATUS; // Si no desea utilizar DNS (y reducir el tamaño de su programa) // utilice la IP numérica en lugar del nombre del servidor: // Dirección IP del servidor (74125232128); // IP numérica para Google (sin DNS) char server[] = "www.google.com"; // nombre de direccion Google (usando DNS) // Inicializa la biblioteca client Ethernet // con la dirección IP y el puerto del servidor // al que desea conectarse (puerto 80 es por defecto para HTTP): WiFiSSLClient client; void setup() { //Initializa el puerto serie y espera a que se abra: Serial.begin(9600); while (!Serial) { ; // espera la conexion del puerto serie. Solo para el puerto USB nativo } // comprueba la presencia del escudo: if (WiFi.status() == WL_NO_SHIELD) { Serial.println("Escudo WiFi no presente"); // no continua: while (true); } // intenta conectarse a una red Wifi: while (status != WL_CONNECTED) { Serial.print("Intentando la conexion con SSID: "); Serial.println(ssid); // Se conecta 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 conexion: delay(10000); } Serial.println("Conectado a wifi"); printWifiStatus(); Serial.println("\nIniciando la conexion al servidor..."); // si se conecta, informar por el monitor serie: if (client.connect(server, 443)) { 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("Conexion cerrada"); client.println(); } } void loop() { // si hay bytes entrantes disponibles // leerlos e imprimirlos: while (client.available()) { char c = client.read(); Serial.write(c); } // si el servidor se desconecta, desconetar el cliente: if (!client.connected()) { Serial.println(); Serial.println("Desconectado desde el servidor."); client.stop(); // no hacer nada entonces: while (true); } } void printWifiStatus() { // imprimir el SSID de la red a la que esta conectado: Serial.print("SSID: "); Serial.println(WiFi.SSID()); // imprimie la direccion IP del escudo WiFi IPAddress ip = WiFi.localIP(); Serial.print("Direccion 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"); }________________________________________________________________________
connected()
Descripción:
Si o no está conectado el cliente. Tenga en cuenta que un cliente se considera conectado si la conexión se ha cerrado, pero todavía hay datos leídos.
Sintaxis:
client.connected()
Parámetros:
Ninguno
Retornos:
Devuelve true si el cliente está conectado, false en caso contrario.
Ejemplo:
#include <SPI.h>
#include <WiFi101.h>
char ssid[] = "myNetwork"; // su red SSID (nombre)
char pass[] = "myPassword"; // su password de red
int status = WL_IDLE_STATUS;
IPAddress server(74,125,115,105); // Google
// Initializa la biblioyeca Client
WiFiClient client;
void setup() {
Serial.begin(9600);
Serial.println("Intentando conectar con una red WPA...");
Serial.print("SSID: ");
Serial.println(ssid);
status = WiFi.begin(ssid, pass);
if ( status != WL_CONNECTED) {
Serial.println("No se consigue una red wifi");
// no hacer nada:
while(true);
}
else {
Serial.println("Conectado a wifi");
Serial.println("\nIniciando conexion...");
// si se conecta, informar po el monitor serie:
if (client.connect(server, 80)) {
Serial.println("connected");
// Hace una peticion HTTP:
client.println("GET /search?q=arduino HTTP/1.0");
client.println();
}
}
}
void loop() {
if (client.available()) {
char c = client.read();
Serial.print(c);
}
if (!client.connected()) {
Serial.println();
Serial.println("Desconectando.");
client.stop();
for(;;)
;
}
}
________________________________________________________________________
connect()
Descripción:
Conecta a la dirección IP y el puerto especificado en el constructor. El valor de retorno indica el éxito o el fracaso. connect () también es compatible con las búsquedas de DNS cuando se utiliza un nombre de dominio (por ejemplo: google.com).
Sintaxis:
client.connect(ip, port)
client.connect(URL, port)
Parámetros:
ip: la dirección IP a la que el cliente se conectará al (serie de 4 bytes)
URL: el nombre de dominio del cliente al que se conectará (string, Por ejemplo:"arduino.cc ")
port: el puerto al que el cliente se conectará (int)
Retornos:
Devuelve true si la conexión se realiza correctamente, false en caso contrario.
Ejemplo:
#include <SPI.h>
#include <WiFi101.h>
char ssid[] = "myNetwork"; // su red SSID (nombre)
char pass[] = "myPassword"; // su password de red
int status = WL_IDLE_STATUS;
IPAddress server(74,125,115,105); // Google
// Initializa la biblioyeca Client
WiFiClient client;
void setup() {
Serial.begin(9600);
Serial.println("Intentando conectar con una red WPA...");
Serial.print("SSID: ");
Serial.println(ssid);
status = WiFi.begin(ssid, pass);
if ( status != WL_CONNECTED) {
Serial.println("No se consigue una red wifi");
// no hacer nada:
while(true);
}
else {
Serial.println("Conectado a wifi");
Serial.println("\nIniciando conexion...");
// si se conecta, informar po el monitor serie:
if (client.connect(servername, 80)) {
Serial.println("connected");
// Hace una peticion HTTP:
client.println("GET /search?q=arduino HTTP/1.0");
client.println();
}
}
}
void loop() {
if (client.available()) {
char c = client.read();
Serial.print(c);
}
if (!client.connected()) {
Serial.println();
Serial.println("Desconectando.");
client.stop();
for(;;)
;
}
}
________________________________________________________________________
connectSSL()
Descripción:
Conecta a la dirección IP y el puerto especificado en el constructor mediante el protocolo SSL. Se necesita el método connectSSL solo cuando el servidor proporciona conexiones HTTPS. Antes de utilizar este método, se necesita cargar el certificado SSL utilizado por el servidor en el Escudo WiFi 101 Arduino . El escudo viene ya cargado con los certificados y debe estar listo para su uso. Para cambiar o subir nuevos certificados SSL debe seguir los procedimientos que se ponen a disposición. connectSSL () también es compatible con las búsquedas de DNS cuando se utiliza un nombre de dominio (por ejemplo: google.com).
Sintaxis:
client.connectSSL(ip, port)
client.connectSSL(URL, port)
Parámetros:
ip: la dirección IP a la que el cliente se conectará al (serie de 4 bytes)
URL: el nombre de dominio del cliente al que se conectará (string, Por ejemplo:"arduino.cc ")
port: el puerto al que el cliente se conectará (int)
Retornos:
Devuelve true si la conexión se realiza correctamente, false en caso contrario.
Ejemplo:
// Este programa se conecta a un sitio web a través de una // conexión SSL usando un escudo WiFi.
// Este ejemplo está escrito para una red mediante el cifrado WPA.
Para WEP o WPA, cambiar Wifi.begin () llamanslo en consecuencia.
//Circuito:
//* Escudo WiFi101 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"; // su password de res (usar WPA, o usar como clave para WEP)
int keyIndex = 0; // su numero de clave Index (solo necesario para WEP)
int status = WL_IDLE_STATUS;
char server[] = "www.arduino.cc"; // nombre de direccion Arduino (usando DNS)
// Inicializa la biblioteca Client Wifi
// 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() {
//Initializa la conexion serie y espera a que abra el puerto:
Serial.begin(9600);
while (!Serial) {
; // espera a que el puerto se conecta. Solo necesario para Leonardo
}
// comprueba la presencia del escudo:
if (WiFi.status() == WL_NO_SHIELD) {
Serial.println("El escudo WiFi no esta presente");
// no continua:
while (true);
}
// intenta conectar con una red Wifi:
while (status != WL_CONNECTED) {
Serial.print("Intentando conestar con SSID: ");
Serial.println(ssid);
// Conecta con una 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 conexion:
delay(10000);
}
Serial.println("Conectado a wifi");
Serial.println("\nIniciando la conexion con el servidor...");
// si se conecta, informar por el puerto serie:
if (client.connectSSL(server, 443)) {
Serial.println("Conectado al servidor");
// Make a HTTP request:
client.println("GET /asciilogo.txt HTTP/1.1");
client.println("Host: www.arduino.cc");
client.println("Conexion cerrada");
client.println();
Serial.println("Peticion enviada");
}
}
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 desconecta, detener el cliente:
if (!client.connected()) {
Serial.println();
Serial.println("Desconectando del servidor.");
client.stop();
// no hacer nada:
while (true);
}
}
________________________________________________________________________
write()
Descripción:
Escribe datos en el servidor al que el cliente está conectado.
Sintaxis:
client.write(data)
Parámetros:
data: el byte o char a escribir
Retornos:
byte: el número de caracteres escritos.
_____________________________________________________________
print()
Descripción:
Imprime datos al servidor al que un cliente está conectado. Imprime los números como una secuencia de dígitos, cada uno como un carácter ASCII (por ejemplo, el número 123 es enviado como los tres caracteres '1', '2', '3').
Sintaxis:
client.print(data)
client.print(data, BASE)
Parámetros:
data: los datos a imprimir (char, byte, int, long o string)
BASE (opcional): la base en la que desea imprimir los números :
DEC para decimal (base 10),
OCT para octal (base 8),
HEX para hexadecimal (base 16).
Retornos:
byte: devuelve el número de bytes escritos
___________________________________________________________________
println()
Descripción:
Imprime datos, seguidos por un retorno de línea, al servidor al que un cliente está conectado. Imprime los números como una secuencia de dígitos, cada uno como un carácter ASCII (por ejemplo, el número 123 es enviado como los tres caracteres '1', '2', '3').
Sintaxis:
client.print(data)
client.print(data, BASE)
Parámetros:
data: los datos a imprimir (char, byte, int, long o string)
BASE (opcional): la base en la que desea imprimir los números :
DEC para decimal (base 10),
OCT para octal (base 8),
HEX para hexadecimal (base 16).
Retornos:
byte: devuelve el número de bytes escritos
________________________________________________________________________
available()
Descripción:
Devuelve el número de bytes disponibles para la lectura (es decir, la cantidad de datos que se ha escrito para el cliente por el servidor al que está conectado).
Sintaxis:
client.available()
Parámetros:
Ninguno
Retornos:
el número de bytes disponibles
Ejemplo:
#include <SPI.h>
#include <WiFi101.h>
char ssid[] = "yourNetwork"; // su red SSID (nombre)
char pass[] = "secretPassword"; // su password de res (usar WPA, o usar como clave para WEP)
int keyIndex = 0; // su numero de clave Index (solo necesario para WEP)
int status = WL_IDLE_STATUS;
char server[] = "www.arduino.cc"; // nombre de direccion Arduino (usando DNS)
// Inicializa la biblioteca Client Wifi
// 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() {
//Initializa la conexion serie y espera a que abra el puerto:
Serial.begin(9600);
while (!Serial) {
; // espera a que el puerto se conecta. Solo necesario para Leonardo
}
// comprueba la presencia del escudo:
if (WiFi.status() == WL_NO_SHIELD) {
Serial.println("El escudo WiFi no esta presente");
// no continua:
while (true);
}
// intenta conectar con una red Wifi:
while (status != WL_CONNECTED) {
Serial.print("Intentando conestar con SSID: ");
Serial.println(ssid);
// Conecta con una 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 conexion:
delay(10000);
}
Serial.println("Conectado a wifi");
Serial.println("\nIniciando la conexion con el servidor...");
// si se conecta, informar por el puerto serie:
if (client.connectSSL(server, 443)) {
Serial.println("Conectado al servidor");
// Make a HTTP request:
client.println("GET /asciilogo.txt HTTP/1.1");
client.println("Host: www.arduino.cc");
client.println("Conexion cerrada");
client.println();
Serial.println("Peticion enviada");
}
}
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 desconecta, detener el cliente:
if (!client.connected()) {
Serial.println();
Serial.println("Desconectando del servidor.");
client.stop();
// no hacer nada:
while (true);
}
}
________________________________________________________________________
read()
Descripción:
Lee el siguiente byte recibido desde el servidor al que el cliente está conectado (después de la última llamada a read()).
Sintaxis:
client.read()
Parámetros:
Ninguno
Retornos:
El siguiente byte (o carácter), o -1 si no hay ninguno disponible.
________________________________________________________________________
flush()
Descripción:
Descarta cualquiera de los bytes que se han escrito para el cliente, pero aún no leídos.
Sintaxis:
client.flush()
Parámetros:
Ninguno
Retornos:
Ninguno
_______________________________________________________________________
stop()
Descripción:
Desconecta del servidor
Sintaxis:
client.stop()
Parámetros:
Ninguno
Retornos:
Ninguno
Esta clase le permite crear un cliente que siempre se conecta en SSL para la dirección IP y el puerto especificados, incluso si client.connect. https://consejoscomunales.net/cultura-chincha/
ResponderEliminar