Clase GMSClient | La clase cliente crea clientes que pueden conectarse a los servidores y enviar y recibir datos. |
GMSClient | El cliente es la clase base para todas las llamadas basadas cliente GPRS. No se llama directamente, sino que invoca cada vez que se utiliza una función que depende de él. |
FUNCIONES |
|
ready() |
|
Descripción | Obtiene el estado del último comando |
Sintaxis | client.ready() |
Parámetros | Ninguno |
Retornos | En el modo asíncrono, ready () devuelve 0 si el último comando se sigue ejecutando, 1 si tuvo éxito, y > 1 si hay un error. En el modo síncrono, devuelve 1 si el anterior comando fué ejecutado con éxito, y 0 si no lo tiene. |
_________________ | ________________________________________________________________________________ |
connect() |
|
Descripción | Se conecta a una dirección IP y a un puerto especificado. El valor de retorno indica el éxito o el fracaso. |
Sintaxis | client.connect(ip, port) |
Parámetros | - IP: la dirección IP a la que el cliente se
conectará (serie de 4 bytes) - port: el puerto al que el cliente se conectará al (int) |
Retornos | boolean: Devuelve true si la conexión se realiza correctamente, false en caso contrario. |
Ejemplo | Ver al final |
_________________ | ________________________________________________________________________________ |
beginWrite() |
|
Descripción | Le dice al cliente el servidor que está conectado para empezar a escribir en el. |
Sintaxis | client.beginWrite() |
Parámetros | Ninguno |
Retornos | Ninguno |
_________________ | ________________________________________________________________________________ |
Write() |
|
Descripción | Escribe datos en el servidor desde el cliente que está conectado a el. |
Sintaxis | - client.write(data) - client.write(buffer) - client.write(buffer, size) |
Parámetros | - data: el valor a escribir (byte
or char) - buffer : una matriz de satos (byte or char) a escribir - size : tamaño del byffer a escribir (byte) |
Retornos | byte - write () devuelve el número de bytes escritos. No es necesario leer esto. |
_________________ | ________________________________________________________________________________ |
endWrite() |
|
Descripción | Detiene la escritura de datos a un servidor |
Sintaxis | client.endWrite() |
Parámetros | Ninguno |
Retornos | Ninguno |
_________________ | ________________________________________________________________________________ |
connected() |
|
Descripción | Devuelve si el cliente está conectado o no. 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 | boolean - Devuelve true si el cliente está conectado, false si no lo está. |
Ejemplo | Ver al final |
_________________ | ________________________________________________________________________________ |
read() |
|
Descripción | Lee el siguiente byte recibido desde el servidor al cliente que está conectado a el (después de la última llamada a read()).read () hereda de la clase Stream. |
Sintaxis | client.read() |
Parámetros | Ninguno |
Retornos | int - El siguiente byte (o carácter), o -1 si no hay ninguno disponible. |
Ejemplo | Ver al final |
_________________ | ________________________________________________________________________________ |
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). available () hereda de la clase Stream. |
Sintaxis | client.available() |
Parámetros | Ninguno |
Retornos | El número de bytes disponibles. |
Ejemplo | Ver al final |
_________________ | ________________________________________________________________________________ |
peek() |
|
Descripción | Devuelve el siguiente byte (carácter) de un mensaje borrándolo después del mensaje. Es decir, las llamadas sucesivas a PEEK () devolverá el mismo carácter, será como la siguiente llamada a read (). peek () hereda de la clase Stream. |
Sintaxis | client.peek() |
Parámetros | Ninguno |
Retornos | int - el siguiente byte en un mensaje entrante. |
_________________ | ________________________________________________________________________________ |
flush() |
|
Descripción | Descarta los bytes
que se han escrito para el cliente, pero aún no leídos. flush () hereda de la clase Stream. |
Sintaxis | client.flush() |
Parámetros | Ninguno |
Retornos | Ninguno |
_________________ | ________________________________________________________________________________ |
stop() |
|
Descripción | Se desconecta del servidor. |
Sintaxis | client.stop() |
Parámetros | Ninguno |
Retornos | Ninguno |
Ejemplo | Ver al final |
_________________ | ________________________________________________________________________________ |
Ejemplo |
// Cliente Web
// Este programa se conecta a un sitio web a través de un escudo GSM. //Específicamente, este ejemplo se descarga de la URL "http://arduino.cc/" //y lo imprime en el monitor de serie. // Circuito: // * Escudo GSM conectado a un Arduino // * Tarjeta SIM con un contrato de datos // creado 8 Mar 2012 // por Tom Igoe // http://arduino.cc/en/Tutorial/GSMExamplesWebClient // bibliotecas #include <GSM.h> // Numero de PIN #define PINNUMBER "" // Datos APN #define GPRS_APN "GPRS_APN" // reemplace con su GPRS APN #define GPRS_LOGIN "login" // reemplace con su nombre de usuario GPRS #define GPRS_PASSWORD "password" // reemplace con su password GPRS // inicializa la biblioteca GSMClient client; GPRS gprs; GSM gsmAccess; // URL, ruta y puerto (por ejemplo: arduino.cc) char server[] = "arduino.cc"; char path[] = "/"; int port = 80; // el puerto 80 es el puerto por defecto para HTTP void setup() { // inicializa la comunicacion serie Serial.begin(9600); Serial.println("Iniciando cliente web Arduino."); // estado de la conexion boolean notConnected = true; // Después de iniciar el módem con GSM.begin () // Conectar el escudo a la red GPRS con el APN, nombre de usuario y contraseña while(notConnected) { if((gsmAccess.begin(PINNUMBER)==GSM_READY) & (gprs.attachGPRS(GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD)==GPRS_READY)) notConnected = false; else { Serial.println("No conectado"); delay(1000); } } Serial.println("Conectando..."); // si se obtiene una conexión, informa de vuelta a través del puerto serie: if (client.connect(server, port)) { Serial.println(Cconectado"); // Hace una peticion HTTP: client.print("CONSEGUIDO "); client.print(path); client.println(" HTTP/1.0"); client.println(); } else { // si o se consigue una conexion con el servidor: Serial.println("Conexion fallida"); } } void loop() { // Si hay bytes entrantes disponibles // desde el servidor, leerlos e imprimirlos: if (client.available()) { char c = client.read(); Serial.print(c); } // si el servidor se desconecta, detener al cliente: if (!client.available() && !client.connected()) { Serial.println(); Serial.println("Desconectando..."); client.stop(); // no hace nada mas for(;;) ; } } |
Clase GSMClient
Suscribirse a:
Entradas (Atom)
No hay comentarios:
Publicar un comentario