213691743 Wifly RN XV Guia de Usuario

59
1 MANUAL DE USUARIO Y COMANDOS DE REFERENCIA 802.11 B/G MODULO INALÁMBRICO LAN WIFLY GSX RN-131G, RN-131C, RN-134, RN-121, RN-123, RN-125, RN-370 WIFLY EZX RN-171, RN-174, RN-XV

Transcript of 213691743 Wifly RN XV Guia de Usuario

1

MANUAL DE USUARIO Y COMANDOS DE REFERENCIA

802.11 B/G MODULO INALÁMBRICO LAN

WIFLY GSX

RN-131G, RN-131C, RN-134, RN-121, RN-123, RN-125, RN-370

WIFLY EZX

RN-171, RN-174, RN-XV

2

1. INTRODUCCIÓN:

La siguiente guía es aplicable para el modulo RN-131 y el RN-171 y productos terminados diseñados por Roving Networks usando estos módulos. Mientras que hay ciertas diferencias de hardware, el mismo set de comandos ASCII es aplicado para el modulo RN-131 y el modulo RN-171. El RN-XV es construido usando el modulo RN-171 y como tal todas las características de hardware del RN-171 se aplican al modulo RN-XV.

En términos de “FIRMWARE”, ciertos comandos específicos que se aplican también del modulo RN-131 y el modulo RN-171.

2. VISIÓN GENERAL:

El modulo de radio “WiFLY” es un completo conjunto de tarjetas con acceso a dispositivos inalámbricos LAN. El dispositivo tiene una tarjeta con pila TCP/IP y aplicaciones, requiriendo solamente 4 pines (Power, Tx, Rx y Tierra), para diseñar. Una vez la configuración inicial es aplicada, el radio puede automáticamente tener acceso a redes Wi-Fi y enviar o recibir datos sobre UART.

Enteramente calificado y certificado como radio transmisor receptor sobre Wi-Fi 2.4 GHz IEEE 802.11b/g.

Ultra-baja potencia: o RN-131: 4uA dormido, 35 mA Rx, 210mA Tx y 18dBm. (La potencia de TX no es

configurable). o RN-171: 4uA dormido, 35 mA Rx, 185mA Tx y 12dBm. (La potencia de TX no es

configurable).

Pequeño, compacto sobre el modulo de montaje.

Opciones de antenas: o RN-131: En la tarjeta cerámica una antena chip y un conector U.FL para una

antena externa. o RN-171: una almohadilla RF.

8 Mbit de memoria Flash y 128 KB de memoria RAM.

Interfaz de hardware esclavo para UART y SPI.

10 propósitos generales digitales I/O.

8 entradas análogas (14 bits, 400 mV).

Tiempo real para despertar y para ordenar/guardar datos.

3

Acepta 3.3V regulados o 2-3V de baterías con una tarjeta impulsadora regulada.

Soporta Adhoc y conexiones de modo infraestructura.

Se oprime el botón modo WPS para fácil configuración de red.

Contiene pila TCP/IP.

Certificado para WPA2-PSK por la alianza Wi-Fi.

Tiene certificado ICS/CE/FCC y RoHS Dócil.

2.1. CARACTERÍSTICAS:

Datos de índice de entrada sobre 1Mbps para UART, 2 Mbps sobre esclavo SPI.

Memoria de 1218 KB de RAM, 2Mb para ROM, 2KB de memoria de batería de apoyo, 8Mbit de memoria Flash.

Inteligente, construido con el manejo de poder de manejo con despierte programable.

Puede ser alimentado desde una fuente de 3.3 VDC regulados o de 2.0 a 3.0 V desde baterías.

Maneja tiempos reales para sellar, auto-dormir y auto-despertar.

Posee configuración sobre UART o una interfaz inalámbrica usando comandos simples de ASCII.

Autenticación de seguridad Wi-Fi WEP-128, WPA-PSK (TKIP), WAP2-PSK (AES).

Construye en aplicaciones de redes: cliente DHCP, cliente DNS, ARP, ping ICMP, FTP, TELNET, HTTP, UDP, TCP.

Poder de guardado de 802.11 y funciones de roaming.

3. CONFIGURACIÓN

3.1. Modo entrada de comandos:

Hay dos modos en el modo WiFLY, es decir el modo de Datos y el modo Comandos. En el modo Datos, el modulo esta listo para aceptar conexiones entrantes o iniciar conexiones externas. Para configurar los parámetros y/o revisar la configuración actual, el modulo debe estar en el modo comando (también llamado modo de configuración). En cualquier momento, el modulo puede estar en el modo Comando o en el modo Datos.

Al encenderse el dispositivo estará en el modo de Datos. Para entrar en el modo Comandos, exactamente la secuencia de escape (tres caracteres, $$$ por default) deben ser enviados. El dispositivo responderá con CMD indicando que este esta en modo Comandos.

Nota: esto no retorna ningún acarreo (<CR>) luego de $$$ para entrar al modo de Comandos.

Por ejemplo: para entrar al modo Comandos desde el modo Datos, usted necesita enviar:

$$$ //El modulo responderá con CMD indicando que esta en modo Comando.

$$$<CR> //El modulo pudo no entrar en modo Comando.

4

Nota: Este dura unos 250 ms cargando antes y después de la secuencia de escape . Si algún carácter es enviado antes o después de la secuencia de escape dentro del intervalo de los 250ms, el modulo WiFLY tratara estos como datos y los pasara sobre el socket de TCP o UDP. Este no entrara en el modo Comando.

Mientras este en modo Comando, el dispositivo aceptara bytes ASCII como Comandos. Cada comando terminara con una carga de retorno <CR>. Para salir del modo Comando, se envía “exit<CR>”. El dispositivo responderá con EXIT indicando que este ha salido del modo Comando y cambiado a modo Datos.

Parámetros, tales como el SSID, Canal, Dirección IP, Opciones de Puerto Serial, y todos los otras opciones pueden ser vistas y configuradas en el modo Comando.

Los caracteres ASCII pueden ser enviados a través de un terminal emulador conectado a la UART o vía Telnet. Cuando usamos la interface UART, las opciones de comunicación deberían ser las de defecto que usa el modulo WiFLY. El estándar es 9600 baudios, 8 bits, no paridad, 1 bit de parada, y el control de flujo de hardware deshabilitado.

Por favor NO use hyperterminal. Use TeraTerm como su emulador terminal. TeraTerm puede ser descargado usando nuestra página: http://www.rovingnetworks.com/support

Ingresando $$$ en el terminal emulador, usted debería ver CMD como respuesta. Esto verificara que su cable y configuración común son correctos. La mayor parte de los comandos validos retornaran con una respuesta AOK, y algunos inválidos retornaran con una descripción EER.

Para salir del modo Comando, escribimos “exit”<CR>.

Nota: usted puede entrar al modo Comandos localmente sobre la interface UART en cualquier tiempo cuando no esta conectado, y también puede conectarse si las configuraciones apropiadas están habilitadas.

Cuando el modulo WiFLY GSX es prendido, este prueba auto conectarse con algún Access Point guardado en sus configuraciones. Si por alguna razón el modulo no puede encontrar el Access Point, por default este ira a un modo de auto-asociación y obtener un rápido escaneo y probara conectarse a la red. Esto puede causar que el UART llegue a ser insensible por un corto periodo de tiempo y usted podría perder los datos enviados por el modulo mientras el modulo este en el estado “No Asociado” haciendo difícil entrar al modo Comando y Configurar el modulo.

La versión del Firmware 2.21 y posteriores están arreglados. La característica de Auto-Unión esta deshabilitada cuando esta en Modo Comando. Esto hace fácil configurar el modulo. El Auto-Unión será re-habilitada cuando usted salga del modo Comando.

Otra alternativa es colocar el modulo en modo Adhoc para usar el salto de retorno PIO9 Adhoc/fabrica. Si esto este esta encendido, el modulo no se asociara a ninguna red; esto se usara en el modo temporal Adhoc. Cuando este en el modo Adhoc, usted podrá configurar las opciones de red.

3.2. Configuración remota usando el modo ADCHOC:

Usando el modo Adhoc para configurar el dispositivo se elimina la necesidad del modulo de asociarse con un punto de acceso a una red. En el modo Adhoc el modulo crea la solicitud de red que usted puede conectar hacia el computador que usted quiera o hacia alguna otra red.

Para activar el modo Adhoc vía hardware configuramos en alto (3.3V) el PIO9. En la tarjeta de desarrollo RN-134, GPIO9 es el bloque de salto J1. En la tarjeta de desarrollo RN-174, GPIO9 es el

5

bloque de salto J8. Cuando el modulo se enciende con el PIO9 en alto, el modulo WiFLY crea una red Adhoc con lo siguiente:

SSID: WiFLY-GSX-XX, donde XX son los dos bytes finales de la dirección MAC del dispositivo.

Canal: 1.

DHCP: apagado.

Dirección IP: 169.254.1.1

Mascara de Red: 255.255.0.0

Con el salto del Adhoc en lugar de las opciones anteriores pasan sobre la corriente guardando las opciones de configuración.

Desde su computador, puedes conectar la red WiFLY-GSX-XX. Esta abre una red que no requiere frase de paso o llave de paso. Normalmente el WiFLY solamente soporta el modo ABIERTO para crear una red Adhoc.

Nota: esto puede tomar un par de minutos para la IP automática de Windows asignarla a la dirección IP y conectar la red. Usted puede revisar la dirección IP de su computador Windows colocando el comando ipconfig en la ventana de comandos. Si se hizo conexión este comando le mostrara la dirección OP y la mascara de red de su computadora.

La dirección IP asignada automáticamente debe ser de la subred 169.254.X.Y de otra manera el modulo WiFLY GSX no será accesible.

Nota: si su maquina tiene ambas, alambrica e inalámbrica interface de hardware usted necesita deshabilitar la interfaz LAN alambrica antes de conectar la red Adhoc. Si la LAN alambrica esta habilitada, el computador puede asignar una dirección IP que no esta en la misma subred del modulo WiFLY.

Una vez conectado y que tengas una buena dirección IP, en telnet en el puerto 2000.:

Telnet 169.255.1.1 2000

Deberías ver la respuesta HELLO.

Usted puede ahora entrar en el modo comando entrando la secuencia de escape $$$ y configurar el modulo.

Nota: En la versión de la Firma Digital 2.28 y posteriores, la configuración remota puede ser deshabilitada. Esto puede ser requerido en algunas aplicaciones por razones de seguridad.

Para deshabilitar la configuración remota, use el bit 4 en el modo de registro TCP por emisión del set ip tcp-mode 0x10.

4. COMANDOS DE REFERENCIA DEL WIFLY

4.1. Sintaxis de los Comandos:

Para configurar los diferentes parámetros del modulo, este necesita estar en el modo comando (Modo de Configuración). Esto se hace por envío de secuencias con símbolo de tres símbolos de dólar $$$.

6

Después de ver el modulo estas secuencias, este responderá con un CMD indicando que este esta en el Modo Comando.

Nota: la secuencia de escape $$$ es única. Esta no habrá ningún retorno de línea o avances de interlineas después de los tres signos de dólar. Una vez se esta en el Modo Comando, todos los comandos terminaran con un retorno de línea.

Los comandos empiezan con una palabra clave, y tienen parámetros opcionales adicionales, generalmente delimitados por espacios. Los comandos y las opciones son sensibles a cambios. Las entradas de datos Hexadecimales pueden ser la más grande o la más baja. Los datos tipo String, tales como SSID también son sensibles.

El primer comando es descifrado completamente y debe ser completo. Otros parámetros de comandos puedes ser recortado usando solamente el primer carácter.

Por ejemplo:

Set uart baudrate 115200 es valido.

Set uart b 112500 es también valido.

Set u b 115200 es también valido, sin embargo, o S uart baudrate 112500, NO ES VALIDO.

Los números pueden ser enteros como también decimales, (Como superiores 115200) o Hexadecimales. Para entrar Hexadecimales, use 0x<valor>. Por ejemplo, el valor Hexadecimal FF podría ser ingresado como “0xFF”.

4.2. Comandos de Organización:

Los comandos caen en 5 categorías generales:

Comandos de Ingreso (SET): Toman efecto inmediatamente, permanentemente (cuando guardar comando es emitido).

Comandos de Petición (GET): Recupera la información permanentemente guardada para mostrarla al usuario.

Comandos de Estatus (STATUS): Ve que esta pasando con la interface, estado de IP etc.

Comandos de Acción (ACTION): Permite acciones tales como escanear, conectar, desconectar, etc.

Comandos de Entrada/Salida de Archivos (FILE IO): Actualiza, carga y guarda configuraciones, borra archivos, etc.

Nota: usted debe guardar algunos cambios hechos o el modulo cargara las configuraciones antes de reiniciar o encender el modulo. La configuración es guardada usando el comando “SAVE”.

Cuando el sistema arranca, todos los datos de configuración son cargados en diferentes RAM desde los archivos llamados “config”. El grupo de comandos actualmente solo modifica las copias RAM de las variables del sistema. En general las opciones de la IP, WLAN y UART necesitan guardarse y reiniciarse para tomar efecto, desde que operan hasta el tiempo de reinicio.

La mayor parte de los otros comandos toman efecto inmediatamente como las opciones COMM y Timers. Esto permite cambios temporalmente de los parámetros “en el vuelo” para prueba de características, minimizar poder usado y guardar ráfagas de ciclos reescritos.

7

Una vez toda la configuración esta completada, el usuario debe guardar los cambios usando el comando Save para almacenar los datos configurados, de otra manera estos no tomaran efecto cuando se reinicie el modulo. Múltiples configuraciones pueden ser almacenadas usando el comando Save<File Name> y estas configuraciones podrán ser cargadas usando el comando Load<File Name>.

5. COMANDOS DE INGRESO (SET):

Estos comandos empiezan con “Set”. Aquí hay 6 categorías mayores:

Adhoc: Controla los parámetros de la Adhoc.

Broadcast: Controla los mensajes UDP de Broadcast Hello/Heartbeat.

COMM: Comunica y transfiere datos, Temporizadores y caracteres de igualación.

DNS: Dominios y Host DNS.

FTP: Direcciones de Host FTP y información de entrada al sistema.

IP: Configuraciones de IP.

OPTION: Opciones y parámetros no usados frecuentemente.

Sys: Configuraciones del sistema tales como temporizadores de dormida y despertadores.

Time: Configuraciones del Temporizadores del servidor.

UART: Configuraciones del puerto serial como baudios y paridad.

WLAN: Configuración de la interfaz inalámbrica, tales como SSID, Canal, y opciones de seguridad.

5.1. Parámetros Adhoc:

set adhoc beacon <ms>: Configura los intervalos de balizas en milisegundos. En default son 100 ms.

set adhoc probe <num>: Configuración de sondeos de tiempos en segundos. Ese es el número de segundos esperado para respuesta al sondeo antes de declarar, “ADHOC esta perdida” e inhabilitar la interfaz de la red. El default es 60.

5.2. Parámetros de Broadcast:

set broadcast address <addr>: Configura las direcciones al quien el mensaje UDP Hello/heartbeat es enviado. La dirección por default es 255.255.255.255.

set broadcast inverval <Value>: Configura los intervalos de envío del mensaje UDP Hello/Heartbeat. El intervalo es especificado en segundos. El valor es una mascara que es comparada con un temporizador libre que corre en segundos. Por ejemplo si el intervalo es (0x7) un paquete será enviado cada 8 segundos. El mínimo valor del intervalo es 1 (cada 2 segundos) y el máximo valor es 0xff (256 segundos). La configuración del valor del intervalo en cero deshabilita el envío del mensaje de Broadcast UDP. El valor por default es 7.

set broadcast port <port>: Configura el número de puerto a quien se envía el mensaje UDP Hello/Heartbeat. El puerto por default es el 55555.

8

5.3. Parámetros COMM:

set comm $<Char>: Configura los caracteres usados para entrar en el Modo de Comandos. Típicamente usado cuando “$$$” es una posible entradas de datos tipo String. La solicitud podría ser tomada cuando esta configuración note el nuevo carácter y una vez que esta configuración es guardada cada subsecuente reinicio ignorara “$$$” y buscara por “<char><char><char>. El default es “s”.

set comm close <string>: Configura el String ASCI que es enviado al UART local cuando el puerto TCP es cerrado. Si el String no es el deseado, usara “0” como el parámetro <String>. La longitud máxima del String es 32 caracteres. Por default es CLOS

set comm open <string>: Configura el String que es enviado al UART local cuando el puerto TCP es abierto. Si no es el String deseado, usa el “0” como el parámetro <String>. La máxima longitud del String es 32 caracteres. Por default es OPEN.

set comm remote <string>: Configura el String que es enviado al cliente remoto TCP cuando el puerto TCP es abierto. Si no es el String deseado, usa el “0” como el parámetro <String>. La longitud máxima del String es de 32 caracteres. Por default es HELLO.

set comm idle <secs>: Configura el valor del temporizador de inactividad. Este es un número de segundos donde no se transmite o se recibe datos sobre TCP antes de que la conexión se cierre automáticamente. Por default el valor es “0”, nunca se desconecte la inactividad.

set comm match <Value>: Configura el carácter de correspondencia. Un paquete IP sea enviado cada que el carácter de correspondencia aparezca en los datos. El valor puede ser entero como decimal (13) o Hexadecimal (0xd) o carácter ASCII. El valor default “0” deshabilita. El carácter de correspondencia es uno de tres caminos para controlar el transporte de paquetes TCP/IP.

set comm size <Value>: Configuración del tamaño máximo. Un paquete IP será enviado cada vez que un “Valor” de bytes sea recibido. Por default son 64 bytes. Es recomendado para enviar este valor lo mas grande posible para optimizar la configuración de TCP/IP. El máximo valor=1420 (en 9600) bytes.

o Nota: este valor es automáticamente configurado cuando los baudios son configurados, en un intento para optimizar el enlace. Este se asume como el más grande baudio igual al dato mayor y por lo tanto el tamaño máximo es incrementado.

Set comm time <Num>: Configura un paquete IP cuando será enviado si no hay Bytes adicionales de recepción para “num” en milisegundos. “num” es un intervalo de milisegundos. En default es 10 (Milisegundos). El valor de configuración “0” deshabilitara el transporte basado en el timer máximo.

5.4. Parámetros DNS:

set dns address <addr>: Configura la dirección IP del servidor DNS. Esta se auto-configura cuando se usa DHCP y necesita ser configurada en IP estática o en modo Auto-IP-

set dns name<String>: Configura el nombre del host para conexiones TCP/IP.

9

Set dns backup<String>: Configura el nombre del host de soporte para conexiones TCP/IP.

5.5. Parámetros FTP:

set ftp addr <addr>: Configura la dirección IP del servidor FTP. Por default, la dirección IP configurada por el servidor FTP de la red es (208.109.78.34)

set ftp dir <String>: Configura el directorio del uso del servidor FTP. En default es “publico”. Para leer/escribir en sub-carpetas, se usa el “\” para estructurar el directorio.

o Por ejemplo: Para leer/escribir la sub-carpeta “test” en el directorio “demo”, el comando es “set ftp dir demo\test.” Para el directorio raíz se usa el comando “.”. Para ir al directorio raíz, el comando es “set ftp dir.”

set ftp filename <file>: Configura el nombre de archivo a transferir cuando se emite el comando “set ftp user”. El archivo aquí se refiere a la imagen de la firma digital. Si algún otro archivo aparte del de la imagen de la firma digital es configurado, el modulo WiFLY descargara el archivo y entonces emitirá UPDATE FAIL=3 error desde esta, esta no es la imagen de la firma digital.

set ftp mode <mask>: Configura el modo FTP. N default esta en modo pasivo (0x0) la configuración (0x1) habilita el modo activo.

set ftp remote <port>: Configura el número puerto del servidor remoto FTP (en default es 21).

set ftp time <value>: Configura el valor de cierre de la ftp. Este temporizador es usado para automáticamente cerrar la conexión FTP. El temporizador es 1/8 del valor actual.

o Por Ejemplo: Para configurar un temporizador de 5 segundos, el comando seria “set ftp timer 40”. Para Configurar diez segundos seria “set ftp timer 80”.

set ftp user <name>: Configura el nombre del usuario para acceder al servidor FTP.

set ftp pass <pass>: Configura los password de acceso al servidor FTP. El password default es Pass123.

5.6. Parámetros de IP:

set ip address <addr>: Configura la dirección IP del modulo WiFLY GSX. Si se activa DHCP, la dirección IP es asignada y sobre-escrita durante la asociación con el punto de acceso. Las direcciones Ip están delimitadas por “.”.

o Por Ejemplo: “set ip address 10.20.20.1”

set ip backup <addr>: Configura una secundaria dirección de host IP. Si la primera dirección de host IP no accede al modulo, entonces se probara con la segunda dirección IP.

Set ip dhcp <value>: Habilita/Deshabilita el modo DHCP. Si se habilita, la dirección IP, Gateway, Mascara de Red y servidor DNS son requeridos y se configuran en la asociación con el punto de acceso. Cualquier valor corriente de la IP será sobre-escrito. El modo DHCP Cache pude reducir el tiempo que le toma al modulo despertar del sueño profundo y así guardar energía. En el modo cache, el tiempo de arrendamiento es chequeado y si no ha expirado, el modulo usa la IP previamente configurada. Si el tiempo de arrendamiento ha expirado el modulo intentara asociarse y usar DHCP para

10

obtener las configuraciones de la IP. La dirección IP DHCP almacenada no sobrevive un ciclo de poder o de reset.

set ip flags <value>: Configura las funciones de TCP/IP. Los valores es un bit de registro

combinado. Por default el valor es (“0x7”).

Nota: Cuando el enlace que esta asociado con el punto de acceso se caiga mientras la conexión TCP esta activa, la conexión TCP puede quedar colgado o en estado inconsistente. En algunos casos, la conexión TCP no regresara. En la versión 2.20 y posteriores, si el enlace al punto de acceso es recobrada entre los 60 segundos, la conexión TCP sobrevivirá.

Set ip Gateway <addr>: Configura la dirección IP de la puerta de enlace, si DHCP esta activado, la dirección IP de la puerta de enlace es asignada y sobre-escrita durante la asociación con el punto de acceso.

set ip host <addr>: Configura la dirección IP de host remoto. Este comando es usado para hacer conexiones desde el modulo WiFLY a un servidor TCP/IP con la dirección <addr>.

set ip localport <addr>: Configura el número de puerto local.

set ip netmask <value>: Configura la mascara de red. Si DHCP esta activado, la mascara de red es asignada y sobre-escrita durante la asociación con el punto de acceso.

set ip protocol <value>: Configura el protocolo IP. Para conectar el modulo WiFLY GSX sobre TCP/IP tal como Telnet el dispositivo debe tener en uso el Protocolo TCP/ bit 2 configurado. Para aceptar ambas TCP y UDP usamos el valor =3(bit 1 y bit 2 configurados).

11

set ip remote <value>: Configura el número del puerto del host remoto.

set ip tcp-mode <mask>: Un nuevo registro llamado TCOMODE es agregado a los parámetros IP en la versión 2.27 y posteriores. Este es un bid que enmascara registros y controla los tiempos de conexión TCP, preferencias DNS y opciones de configuración remota. El valor de default es 0 con todos estos parámetros no usados.

5.7. Parámetros Opcionales:

set opt jointmr <msecs>: El tiempo de unión es el tiempo en milisegundos que la función esperara para el proceso completo de asociación. Este tiempo es también el tiempo de salida del proceso WPA. En default es 1000.

set opt format <value>: Configuraciones para el Cliente/Servidor Web HTTP, el valor es un registro de bits combinados.

set opt replace <char>: Caracteres de reemplazo por espacios. Los caracteres de reemplazo por espacios son usados cuando entramos al SSID y partes de las frases incluyen espacios. Esto es usado por el analizador de comandos WiFLY solamente. Cada

12

ocurrencia el carácter de reemplazo es cambiado dentro del espacio. El valor por default es “$” (0x24).

set opt deviceid <string>: ID de dispositivo configurable – puede ser usado para almacenar números seriales, nombre de productos u otra información de los dispositivos. Esta información es enviada como parte de un paquete “Hola” de broadcast que es enviada como un UDP. El valor corriente puede ser mostrado con el comando “get option” o “show deviceid”. El máximo tamaño del string es de 32 bytes. El valor de default es “WiFly-GSX”.

set opt password <string>: Contraseñas de conexión a TCP. Provee una mínima autenticación para el requerimiento de alguno dispositivo remoto que este conectado envié o pida alguna demanda <string>. Cuando se configura, todas las conexiones recientemente abiertas deben primero enviar los caracteres exactos que iguale la contraseña guardada de otra manera en el modulo WiFly cerrando la conexión. Cuando se configura la contraseña el modulo WiFly envía la cadena “PASS?” al host remoto. Todos los caracteres en la cadena deben ser enviados en un paquete TCP. El máximo tamaño de la cadena es de 32 bytes. Para deshabilitar las características de contraseña use string=0 que es el valor default.

5.8. Parámetros del Sistema:

set sys autoconn <value>: Modo TCP: Configura los tiempos de auto conexión. Este comando causa el modulo periódicamente se conecte al host de almacenamiento remoto. El temporizador <value> determina con que frecuencia se conecta al host de almacenamiento remoto. El valor de default es =0.

Nota: Para usar el temporizador automático de conexión, la dirección IP del host remoto y el puerto deben ser almacenados en el modulo WiFly usando los comandos set ip host <IP address> y set ip remote <port>.

set sys autosleep <value>: Configura el tiempo de auto-sueño en el modo UDP. Si el protocolo esta configurado con el protocolo UDP solamente, este temporizador es usado como una función de rápida sueño. El dispositivo se dormirá <value> milisegundos después de la transmisión del primer paquete de UDP. Configurando el valor a “0” deshabilita el temporizador de auto-sueño.

13

set sys iofunc <value>: Configura las funciones alternas del puerto de entrada y salida. Los valores son bits combinados.

set sys mask <mask>: Configura la dirección de la mascara del puerto de entrada y salida. Los valores son bits combinados.

set sys printlvl <value>: Controla los mensajes de depuración que se imprimen en pantalla. Este configura los mensajes de depuración impresos por el modulo WiFly desde el UART. El valor default es “1”.

set sys output <value><mask>: Configura los pines GPIO en Alto o Bajo. Estos son valores de bits combinados. La mascara opcional solamente configura un subconjunto de pines.

o Por Ejemplo: Para acomodar el GPIO8 los comandos son: set sys mask 0x21f0 //Configura el GPIO8 como punto de salida. set sys output 0x0100 0x0100 //Configura el GPIO8 en Alto. set sys output 0x000 0x0100 //Configura el GPIO8 en Bajo.

set sys sleep <value>: Configura los tiempos de sueño. El tiempo de sueño es el tiempo en segundos luego de que el modulo se duerma. Este tiempo es habilitado durante la conexión abierta a TCP. Cuando la conexión TCO es cerrada, el modulo hará cuenta regresiva y colocara el modulo en estado de sueño basado en el valor (en segundos). La configurando el valor en “0” deshabilita el contador de sueño y el modulo no entrara en sueño basado en este contador. Nota: Esté seguro de la configuración del tiempo a despertar si no esta usando una señal despertadora externa antes de emitir el tiempo de sueño o el modulo nunca despertara.

set sys trigger <value>: El modulo puede despertar del estado de sueño usando en la entrada del sensor 0, 1, 2 y 3. Este comando configura la salida(s) del sensor a despertarse en (0-3 segundos). Esto es un valor de bits combinados. Configurando el valor en “0”, deshabilita el despertar en las entradas del sensor.

14

La siguiente tabla describe el como el modulo WiFly puede despertar desde la entrada del sensor.

Configurando el valor de disparo (despierte) a 0x20, se habilitara colocando el modulo en modo sueño cuando el GPIO8 este colocado en alto. Para activar esta característica el comando es “set sys trigger 0x20”. Este comando hace que el GPIO8 sea un pin interruptor y coloca el modulo en modo sueño tan pronto como este se coloque en alto indiferente del estado en el que el modulo este. Au si el modulo esta unido a una red o tiene activada una conexión TCP, este no se dormirá inmediatamente. Este comando es usado en casos tal como cuando el modulo este fallando en unirse a una red porque ésta está fuera de rango (o alguna otra razón) o si se requiere colocar el modulo en estado de sueño realmente rápido. Nota: EL GPIO8 debe estar en bajo al encenderse y permanecer bajo hasta que se desee colocar el modulo en sueño. Nota: Configurando el sistema de disparo al valor 0x10 habilita la funcionalidad WPS. WPS esta deshabilitada por default.

set sys value <hex value>: configura por default el valor de los puntos de salida del GPIO sobre la encendida. El GPIO que están configurados como puntos de salida pueden también ser pasados a Alto o a Bajo en el encendido o cuando el modulo despierte del sueño. El valor por default al encenderse puede ser solamente configurado por la configuración GPIO como salida. Configurando el valor del GPIO como “1” configura el estado del GPIO al encenderse como alto y con valor “0” como bajo. Para configurar el GPIO como saluda, usamos el comando “set sys mask <value>.

o Por Ejemplo: Para configurar al encenderse el estado del GPIO8 (como salida por default) los comandos son:

15

“set sys value 0x0100” //Configura el GPIO8 como Alto al encenderse. “set sys value 0x000” //Configura el GPIO8 como Bajo al encenderse.

Nota: el GPIO 4, 5 y 6 son usados por la firma-digital para el estado de parpadeo de los LED. Para configurar en estado default al encender para estos GPIO, estos usan la firma-digital para deshabilitar primero usando el comando “set sys iofunc 0x7”.

set sys wake <secs>: Configura el tiempo-automático para despertarse. El tiempo para despertarse es el numero de segundos después que el modulo despierte del estado de sueño. Configurando el valor =0 lo habilita.

5.9. Parámetros del Tiempo del Servidor:

set time address <addr>: Configura la dirección del servidor de tiempos. (sNTP server).

set time port <num>: configura el número de puerto del servidor de tiempos. El valor default es 123, que es al menos siempre el puerto del servidor sNTP.

set time enable <value>: Habilita o deshabilita el tiempo de arranque del un especifico servidor de tiempos sNTP. El valor en default es =0, y es deshabilitado. Un valor de “1” toma tiempos solamente una vez que se encienda. Algún valor >1 toma tiempos continuamente cada <value> minutos.

5.10. Parámetros UART:

Set uart baud <rate>: Configura la velocidad en baudios del UART. Las configuraciones validas son (2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600).

o Por Ejemplo: “set u b 9600” configura la velocidad de baudios en 9600 baudios.

Set uart instant <rate>: Este comando cambia inmediatamente los baudios. Este es usado cuando se testea la configuración de baudios, o se cambia los baudios “en el aire” remotamente mientras hay una conexión TCP (Telnet). Estas instrucciones no afectan la configuración. Se retorna la respuesta AOK, y entonces este comando saldrá del modo comando. En la firma-digital de la versión 2.22 y posteriores, arreglamos unos errores donde el modulo WiFly no retornaba una respuesta AOK sobre Telnet. Ahora cuando este comando es usado, este retorna un AOK sobre Telnet y no sale del modo comando. Si es usado en el modo loca, la velocidad de baudios cambiara y el AOK vendrá con la nueva velocidad de baudios. Esto es posible si el host cambia a la nueva velocidad de baudios inmediatamente pudiendo ver la cadena AOK (con la nueva velocidad de baudios).

set uart raw <rate>: Configura los valores de RAW UART. Usado para configurar velocidades no estándares. La más baja velocidad de baudios posible es 2400. Usando valores de velocidades de baudios no estándar (con flujo de control de hardware) puede ser más útil con velocidades que la interfaz del micro-controlador pueda ser capas de manejar menor con velocidades UART y obtener buenos resultados. La siguiente son velocidades de baudios que son soportadas:

16

set uart flow <0.1>: Configura el modo de flujo de control. El valor por default es “0” y

el estado es deshabilitado. El valor en 1=hardware RTS/CTS. Nota: Una vez que el flujo de control esta habilitado, este es importante de manejar el pin CTS (se habilita en Bajo). Si CTS esta en alto, los datos no serán enviados fuera de la UART, y además la configuración en el modo comandos será problemática como no respuesta a la recepción.

set uart mode <value>: configura el modo de registro UART. Estos son valores combinados de bits.

El funcionamiento del bit 4 ha cambiado en la versión 2.27 y posteriores. Ahora, cuando una conexión TCP esta cerrada, si hay datos en el RX en el receptor del UART, estos se limpiaran por default. Para habilitar este bit usamos el comando “set uart mode 0x10”, mantendrá los datos de la uart en el buffer hasta:

1. Entren más caracteres, en este caso se limpiaran. 2. No entren más caracteres y una nueva conexión sea hecha, entonces los

caracteres serán adelantados.

Set uart tx <0.1>: Deshabilita o habilita el pin de TX=PIO10 del UART. Deshabilite la configuración del PIO10 en una ENTRADA con una caída débil.

17

Nota: Debido a un asunto en el hardware del UART, el UART no soporta aun paridad impar.

5.11. Parámetros de WLAN:

set wlan auth <value>: Configura el modo de autenticación. No es necesario a menos que se use la auto unión en modo 2. Nota: Durante la asociación el modulo WiFly interroga el Punto de Acceso y automáticamente selecciona el modo de autenticación. La siguiente relaciones de la firma digital del WiFly que soportan estos modos de seguridad:

WEP-64 y WEP-128 (Modo abierto solamente, no con el modo compartido).

WAP2-PSK (AES solamente).

WAP1-PSK (TKIP solamente).

WAP-PSK en modo mezclado (algunas AP, no son soportadas).

set wlan channel <value>: Configura los canales WLAN, del 1-13 están validados en rangos de canales fijos. Si 0 es configurado, entonces el escaneo es ejecutado, usando la SSID, para todos los canales la configuración es en la mascara de canal.

set wlan ext_antenna <0.1>: Determina que antena es activada, se usa el “0” para la “Antena Chip”. El 1 para el “Conector UF.L”. el valor en default es “0”. Solamente una antena es activada al tiempo y el modulo debe reiniciarse luego de cambiar las antenas. Nota: este comando aplica solamente para RN-131. Este comando no es aplicado al RN-171. Emitir este comando en el RN-171 mostrara un mensaje de error como el siguiente: “ERROR: Bad Args”.

set wlan join <value>: Configura la política para automáticamente Unirse/Asociarse con un punto de acceso a una red. Esta política es usada cuando el modulo se enciende, incluyendo cuando despierta del estado de sueño.

18

set wlan hide <0.1>: Oculta la llave WEP y las contraseñas WPA. Cuando se configura, muestra las configuraciones de la wlan como ****** por los campos. Para mostrar nuevamente las contraseñas o las llaves, se reingresa la llave o contraseña usando los comandos “set wlan key” o “set wlan passphrase”. El valor por default “0”, no oculta nada.

set wlan key <value>: Configura la clave WEP de 128 bits. Si se esta usando WPA o WPA2 se debería entrar la contraseña con el comando “set wlan passphrase”. La llave debe ser EXACTAMENTE de 13 bytes (26 caracteres ASCII). Los datos son mostrados en formato HEX, “0x” no deberían ser usados aquí.

o Ejemplo: “set wlan key 112233445566778899AABBCCDD”. El modulo WiFly GSX solamente soporta modo “abierto” de llaves, una llave de 128 bits para WEP.

set wlan linkmon <value>: Configura el umbral de tiempo de salida del enlace del monitor. Si se configura como “1” o mas, el WiFly escaneara una vez por segundo todos los AP que estén asociados con el. El valor es el umbral de escaneo fallidos antes de que el modulo WiFly declare “AP perdida”. El WiFly reintentara la asociación basado en la política de unión variable. Un valor de 5 segundos es recomendado, ya que algún AP no siempre responderá a las pruebas. El valor default “0” es deshabilitado. Sin esta característica no podrían detectarse AP hasta que no se este disponible nuevamente.

set wlan mask <value>: Configura la mascara del cana wlan usada para escanear canales que se unan automáticamente con políticas 1 o 2, usadas cuando el canal esta configurada en “0”. El valor tiene bits combinados, donde bit 0 =canal 1. La entrada para este comando puede ser ingresada en decimales o Hexadecimales si se usa el 0x. El valor por default es 0x1FFF (Todos los canales).

set wlan num <value>: Configura el la llave default WEP para usa. Los rangos validos son de 1-4.

o Ejemplo: “set w n 2”, Configura el valor default de la llave en 2.

19

set wlan phrase <string>: Configura los password para los modos de seguridad WAP y WAP2. Tiene de 1-64 caracteres. El Password puede ser alfa numéricos, y este es usado junto con el SSID para generar un único valor de 32 bits pre-combinado (PSK), el cual desarrollara en un número de 256 bits. Cambiar también el SSID o este valor recalcula y almacena el PSK. Si exactamente 64 caracteres son ingresados, este es asumido como que esta entrada es ya una representación ASCII HEX de 32 bytes PSK y el valor es simplemente almacenado. Para contraseñas que contienen espacios se reemplaza con el carácter $. Por ejemplo “my pass word” podría ser ingresado como “my$pass$word”. El reemplazo del carácter puede ser cambiado usando el comando opcional set opt replace <char>.

Set wlan rate <value>: Reduce el índice de datos inalámbricos. Bajando el índice incrementa el rango efectivo del modulo WiFly-GSX. El valor ingresado es combinado de acuerdo con la siguiente tabla:

set wlan ssid <string>: configura la ssid asociada a la wlan de 1-32 caracteres. Nota: Si la contraseña o el ssid contienen espacios (“ “), estos pueden ser ingresados sustituyendo con el carácter “&”. Por ejemplo, si el ssid de un AP es “yellow brick road”, usted podría ingresar “yellow&brick&road”. Usando el comando “get w” proporcionara un display con el valor: SSID=yellow brick road.

set wlan tx <value>: Configura el poder de transmisión Wi-Fi. Acepta valores desde 1-12 correspondientes de 1dBm a 12 dBm. El valor por default es 12dBm (máximo poder de transmisión). La configuración el valor de 0 a 12 configura el poder de transmisión de 12dBm.

20

Nota: este comando aplica solamente al modulo RN-171 y no al RN-131. La transmisión de poder en el modulo RN-131 es arreglada a 18dBm. Arrojar este comando en el modulo RN-131 proporcionara un mensaje de error, ERR: Bad Args.

set wlan window <value>: Configura la IP máxima de carga del tamaño de la ventana. El valor en default es 1460 bytes.

5.12. Parámetros de Sensor:

set q sensor <mask>: El valor de mascara de bit que determina cual es el pin de muestra cuando se envían datos con el paquete de broadcast UDP, o la función auto muestra de HTTP. Nota: La variable del pin del sensor ha sido cambiada de “set option sensor <mask>” a “set q sensor <mask>” en la versión 2.23.

set q power <value>: Este registro es usado automáticamente para encender el poder de los sensores. Este tiene 8 bits de registros con 4 bits

6. COMANDOS DE RETORNO (GET)

Estos comandos comienzan con “get”. Ellos muestran los valores actuales.

get adhoc: Muestra todas las configuraciones adhoc.

get broadcast: Mostrara la dirección de broadcast UPD, puerto e intervalo.

get com: Muestra las configuraciones comm.

get dns: Muestra las configuraciones DNS.

get everything: Muestra todas las configuraciones, útil para detección de errores.

get ftp: Muestra las configuraciones de FTP.

get ip: Muestra la dirección IP y la configuración de numero de puertos. Parámetros opcionales solo retornan el valor de la dirección IP actual.

get Mac: Muestra la dirección MAC del dispositivo.

get option: Muestra las opciones de configuración como ID del dispositivo.

Get sys: Muestra la configuración de los sistemas, sueño, despertadores, etc.

get time: Muestra la dirección del servidor de tiempo UDP y el numero de puerto.

get wlan: Muestra el ssid, chan, y otras configuraciones wlan.

get uart: Muestra las configuraciones UART.

Ver: retorna la versión del software libre.

7. COMANDOS DE ESTADO

Estos comandos comienzan con “show” y ellos regresan los valores actuales de las variables en el sistema. En algunos casos, por ejemplo en las direcciones IP, los valores actuales son recibidos de la red, y pueden no copiar los valores guardados.

show battery: Muestra el voltaje actual de las baterías. (Solamente valida para baterías Roving producidas con el RN-370 y sensores de temperatura y el ISENSOR-CB).

show Connection: Muestra el estado de las conexiones en este formato HEX: 8XYZ.

21

show io: Muestra los niveles de los pines GPIO en este formato HEX: 8ABC. o Ejemplo: show i retorna el indicador 8103 GPIO 0, donde 1 y 8 son altos.

show net <n>: Muestra los estados actuales de las redes, asociaciones, autenticaciones, etc. Parámetros opcionales muestran solamente la dirección MAC y los AP actualmente asociados.

show rssi: Muestra la ultima actualización de la última intensidad de señal recibida.

show time: Muestra el numero de segundos desde el ultimo inicio hasta el reinicio.

show q <0-7>: Muestra el valor en una interface análoga de los pines 0 a 7. Este valor regresara con el formato 8xxxxx donde xxxxx es el voltaje en micro-voltios de muestreo en el canal requerido con el 8 en el frente como un marcador de inicio.

Show q 0x1 <mask>: Muestra múltiples valores de interfaces análogas al instante. Los canales mostrados son controlados por los bit de la mascara, quien es procesado por un 0x1xx donde la mascara xx es el bit de mascara de los canales. Por ejemplo, para leer canales 0,1 y 7, enviamos: Show q 0x183.

o Esto retorna 8<chan0>, 8<chan1>, 8<chan7>, r\n\

8. COMANDOS DE ACCION

$$$: Entra en el modo comando. X caracteres son PASADOS sobre hasta que esta exacta secuencia es enviada. Si algún bit es enviado antes de estos caracteres, o luego de estos luego de 250ms, el modo de comando no será ingresado y estos bits serán pasados a otro lugar.

close: Desconecta la conexión TCP.

exit: Sale del modo comando. Al salir de modo comando “EXIT” será mostrado.

factory RESET: carga los valores default de fabrica en la configuración de la RAM. Hay que notar que el RESET debe ser capitalizado. Este comando también escribe las configuraciones fuera de los archivos de configuración estándar. Luego de este comando el modulo necesita ser reiniciado para que las nuevas configuraciones tomen efecto.

join <ssid>: Adiciona una red <ssid>. Si la red tiene la seguridad habilitada se deberá configurar la contraseña con el comando set wlan phrase previo a la emisión del comando join. Nota: Este comando no trabajará si el ssid tiene un carácter de espacio.

join #<num>: Une una red de una lista de escaneo. <num> es el número de entrada en la lista de escaneo que regresa del comando de escaneo. Si la seguridad esta activada se

22

deberá configurar la contraseña con el comando set wlan phrase antes de el comando join.

leave: Desconecta el modulo de alguna asociación actual de los AP.

lites: Adaptador serial del parpadeo de LED en la tarjeta RN-134 y RN-370. Se coloca el mismo comando para detener el parpadeo de los LED.

lookup<hostname>: Ejecuta una petición de DNS basada en el nombre del host.

Open <addr><port>: Abre una conexión TCP al puerto y dirección IP dada. Si ningún argumento se provee, el dispositivo intentara unirse a los las direcciones IP y números de puertos almacenados remotamente. <addr> puede también ser un DNS de un hostname y resolver esto si es ingresado.

ping <g|h|i|addr><num>: Hace ping a un host remoto. Por default envía 1 paquete. la Opción <num> envía <num> ping por segundo.

o Ejemplo: ping 10.20.20.12 10 – Realiza pings a la dirección IP por 10 segundos. ping g: Realiza ping a la puerta de enlace, la dirección IP de la puerta de

enlace se carga si DHCP esta activado, de otra manera esta deberá configurarse con el comando set ip Gateway<addr>.

ping h: Realiza ping a las direcciones IP de los host almacenadas, la dirección IP de los host pueden ser configuradas con el comando set ip host<addr>.

ping i: Realiza ping a un servidor conocido en internet como www.neelum.com para determinar la primera URL (confirma que el DNS este trabajando y provee la conectividad a internet a los dispositivos.

ping 0: Termina el comando ping.

reebot: Fuerza a reiniciar el dispositivo (similar a un ciclo de poder).

Scan<time><P>: Ejecuta una prueba activa de escaneo de Access Point de los 13 canales. Regresa la dirección MAC, fuerza de la señal, nombre de la SSID, modo de seguridad. El tiempo de escaneo por default es 200ms/canal =alrededor de 3 segundos.

Nota: time es un parámetro opcional, este es el tiempo en ms por canal.

o Por Ejemplo: “scan 30” reduce el total del tiempo de escaneo alrededor de 1 segundo. Este comando también puede trabajar en el modo Adhoc. Si el parámetro opcional P es ingresado, el modulo ejecutara un escaneo pasivo, y listara todas las AP que son vistas en modo pasivo.

sleep: Coloca el modulo en el modo sueño. El modulo puede volver del modo sueño enviando algún carácter sobre el uart o usando algún despertador.

time: Configura el reloj de tiempo real para sincronizarlo con el tiempo del servidor especificado y con el tiempo de los parámetros del servidor. Este comando envía un paquete de requerimiento de tiempo al servidor UDP.

9. COMANDOS DE ENTRADA Y SALIDA DE ARCHIVOS.

del<name><num>: Elimina archivos. La opción<num> pasa por alto el nombre y usa el número del sector mostrado con el primer comando.

Load<name>: Carga un nuevo archivo configurable.

Is: muestra los archivos en el sistema.

23

save: Guarda la configuración en “config” (Carpeta por default).

Save<name>: Guarda los datos de configuración en un nuevo archivo.

Boot image<num>: Crea archivos <num> como nueva imagen de arranque.

ftp update<name>: Elimina la imagen de respaldo, recobrando una nueva imagen y actualizando el puntero de arranque en la nueva imagen.

10. CARACTERISTICAS Y CONFIGURACIONES AVANZADAS:

Este capitulo describe las características y configuraciones del modulo WiFly. Este describe las técnicas d3 colocar el modulo en modo dormido, despertarlo del sueño y métodos para abrir una conexión TCP cuando despierte. También discutiremos el control de flujo uart, las funciones alternativas GPIO y el Reloj de Tiempo Real.

La tabla de abajo describe los posibles métodos para colocar el modulo en sueño.

Para despertar el modulo del sueño, las siguientes opciones están disponibles:

Cuando el modulo despierta del sueño, este toma cierta cantidad de tiempo (en milisegundos) para inicializar el hardware interno. Durante este tiempo, cualquier dato que sea enviado al modulo WiFly sobre la uart no será procesado. Usted puede monitorizar ciertas señales que indican que el modulo esta listo para aceptar datos. Estos son descritos abajo:

24

Una vez que el modulo esta despierto usted puede hacer una conexión a un host remoto por un numero de caminos descritos abajo. El host remoto puede ser configurado usando los siguientes comandos:

set ip host <IP address>OR set dns name<string> //Configura la dirección IP o el URL del host.

set ip remote<port number> // Configura el numero de puerto que el host esta escuchando.

save // guarda las configuraciones en un archivo.

reboot //reinicia el modulo para que las configuraciones tengan efecto.

10.1. Sistema de Temporizadores y Auto – Conexión de Temporizadores.

El modulo WiFly usa un Reloj de Tiempo Real para generar temporizadores. El RTC (Real Time Clock) esta activo aun cuando el modulo WiFly este dormido. Este hace posible colocar el modulo a dormir y despertarlo del sueño basado en intervalos de tiempo usando temporizadores.

El modulo WiFly tiene los siguientes temporizadores disponibles:

Temporizador de Sueño: Usado para colocar el modulo WiFly en modo de sueño.

Temporizador para Despertar: Usado para despertar el modulo WiFly del sueño.

Temporizador para Auto-Conexión: Usado para abrir automáticamente una conexión TCP.

Temporizador Inactivo: Usado automáticamente para cerrar una conexión TCP.

25

Entre estos hay dos temporizadores que pueden ser usados para colocar el modulo en sueño y despertarlo de el. Si el temporizador de sueño esta inhabilitado, el modulo automáticamente ira del modo de sueño profundo al modo de bajo poder una vez la cuenta del temporizador llegue a cero. El temporizador de sueño esta deshabilitado si el modulo tiene una conexión IP, o el modulo esta en el modo COMANDO.

El temporizador de despierte (que es el tiempo que dura el modulo WiFly en despertarse) son 22 bit numero de segundos que es el tiempo máximo de sueño que son 1165 horas.

El temporizador de sueños es configurado con el comando: set sys sleep<time>, time= decimal en segundos.

El temporizador de despierte traerá al modulo del sueño profundo.

El temporizador de despierte es configurado con: set sys wake<time>, time=decimal en segundos.

Por ejemplo, si quieres que el modulo despierte, unirse a una red y estar disponible para aceptar una conexión TCP por 30 segundos cada dos minutos, se podría configurar el temporizador tal que:

Set wlan ssid my_net

Set wlan passphrase my_pass

Set sys sleep 30

Set sys wake 90

Save

Reboot

El siguiente diagrama muestra la transición entre el estado de sueño y el estado de despertado basado en los temporizadores de sueño y de despierte.

10.1.1. Sueño de UDP y Temporizador de Conexiones:

Solamente en el modo de protocolo UDP (set ip protocolo 1), los temporizadores de auto conexión serán usados como temporizadores para el auto-sueño. Luego del inicio de la transmisión del primer paquete de datos UDP este temporizador hará cuenta abajo, luego el modulo se dormirá.

26

set sys autosleep <value>: Modo Solamente UDP: configura los temporizadores de auto-sueño. La configuración con valor=0 deshabilita el temporizador de auto-sueño. El temporizador de auto-sueño UDP es configurado usando dos variables. El intervalo de tiempo es un producto de un valor de auto-sueño y el tiempo de común (en milisegundos). El tiempo es minimizado cada producto” en milisegundos. Por ejemplo, si necesitas un temporizador de sueño UDP de 40 milisegundos, necesitas configurar las siguientes variables: Set sys autosleep 4 // Configura el auto-sueño con valor 4. Set comm timer 10 // Configura el temporizador común en 10 ms (valor default). El resultado del temporizador UDP será 4*10 ms=40 ms. Usted también puede usar una combinación para el auto-sueño=2 y el temporizador común=20 ms que ejecuta el mismo efecto. Usando el mínimo valor de 2 (cuando el valor de tiempo por default=10) es recomendado para asegurarse que el paquete UDP sea transmitido. Para paquetes largos el valor debería ser incrementado.

10.1.2. Temporizadores de Conexión TCP:

Abriendo una Conexión TCP:

En el modo de Cliente-TCP, el temporizador de Auto-Conexión controla el establecimiento de una conexión. Cuando se configura, el dispositivo automáticamente intenta periódicamente establecer una conexión cuando el tiempo expire.

Set sys autoconn<secs>:

Este comando causa que el modulo periódicamente se conecte a un host. El tiempo <secs> determina cuan a menudo se conecta a un host remoto almacenado. Si se configura con 1, el modulo solamente hará un intento de auto-conectarse al encenderse. Si se configura con 2 o mayor la auto conexión se reabrirá la conexión antes de que esta fuera cerrada. El valor default 0= deshabilita.

Para temporizadores de auto-conexión para trabajar, la dirección IP de los host y el numero de puerto necesita ser configurado en el modulo WiFly RN-XV.

Cerrando una Conexión TCP:

En el modo Cliente-TCP y Servidor-TCP (modo por default) allí hay también un temporizador de desconexión. Este temporizador puede ser usado automáticamente para cerrar una conexión TCP luego de un específico número de segundos que no transmita o reciba datos.

Set comm idle <secs>: Por ejemplo, para cerrar la conexión TCP luego de 5 segundos de inactividad, se usa el comando set comm idle 5. El valor por default de tiempo de inactividad común es 0, nunca la desconecte en inactividad.

10.2. Despertar de Entrada de Sensores:

La entrada al Sensor de 0 a 3 despierta el modulo del sueño. Estos pines tienen una pequeña fuente de corriente que es activada en el modo sueño. Esta fuente es de aproximadamente 100nA, y causa que en la entrada suba hasta cerca de los 1.2 VDC. SENSE1 por ejemplo, esta habilitado, colocando SENSE1 el pin tierra despertara el dispositivo.

27

Para habilitar el despertar del modulo, se usa el comando set sys trigger<mask>. El valor es un bit-combinado configurado para cada sensor. Para despertar un sensor pin 2, se usa set sys trig 4. Configurar el valor en 0 deshabilita todos los pines de sensores.

La tabla de abajo describe el valor para despertar una entrada de sensor individual.

PELIGRO: Bajo ninguna condición podría el voltaje o ninguna entrada de sensor exceder los 1.2VDC. Daño permanente podría ser el resultado al modulo.

La entrada del sensor tiene un rango máximo de 1.2VDC. Se debe usar una resistencia divisoria cuando se conduzca de un pin sensor a otro pin de 3V tal como RX. Una resistencia divisoria en una red con un mínimo de 24k en serie y 10k de tierra desde la UART RX a pin CTS debería ser usada.

En fuente abierta FET es buena para un dispositivo que se una al pin SENSE. El umbral es alrededor de 500mV. Adicionalmente pullup puede ser usada si el circuito tiene una impedancia (debido a una fuga de corriente) o menor que 5 Mohms (500mv/100nA). SENSE de 0 al pin 3 que no son usados deberían ser desconectados.

10.3. Despertar la UART:

Cuando el modulo esta en el modo de sueño, la UART por si sola se deshabilita. Sin embargo, despertar la UART puede ser realizado por la conexión de los pines SENSE al RX de datos o al pin CTS.

Las tarjetas de desarrollo RN-134 y RN-174 tienen en su construcción una resistencia divisoria SENSE 0 y SENSE 1 al RXD y CTS respectivamente. Esto permite despertar RX y CTS usando una señal de 3.3V.

Nota: No aplique directamente 3.3V a SENSE 0 y SENSE 1. Bajo ninguna condición debería prender o colocar alguna entrada con voltaje superior a 1.2VDC. El daño permanente al modulo podría darse como resultado.

Nota: el la tarjeta RN-134 REV 2 el paquete resistor que conecta la señal RX y CTS no esta correctamente conectado a los sensores. Para despertar la UART RX coloque un puente del pin 3 de la cabecera de la tarjeta de evaluación al pin 2 de la cabecera del sensor.

Para habilitar el despertar de RXD, use el comando set sys trig 1.

Este debería notar que el primero (o posiblemente múltiples) bytes enviados dentro del modulo probablemente serán perdidos, para diseño se debería tener cuidado para enviar previamente un byte para despertar el modulo antes de enviar bytes que contienen valores o

28

datos. Un mejor camino para hacer esto es usar la entrada de CTS para despertar el modulo, y esperar sobre este que este listo para aceptar el dato.

Para habilitar eso, se usa el comando set sys trig 2.

10.4. Receptor de UART, Control de Flujo de Hardware RTS/CTS.

El buffer del receptor UART es aproximadamente 1500 bytes, y el flujo en baudios (menor que 115k) que el sistema puede enviar sobre TCP/IP sin necesidad de control de flujo de datos.

Dependiendo de la frecuencia y la cantidad de datos que se comienzan a enviar, los parámetros comunes optimizaran el desempeño de Wi-Fi para especificaciones cuando el sistema envíe paquetes IP. Para minimizar la latencia y sobre carga en TCP/IP se usa el tamaño de flujo o pareja de caracteres a enviar datos en un único paquete IP. En muchos casos se querrá configurar el temporizador de flujo a un número más grande para evitar la fragmentación. Para casos de rendimiento alto incremente los baudios en la UART, configure el tamaño de flujo a 1460 y el temporizador de flujo al valor mas largo para llenar los paquetes IP que se envían.

Usted puede controlar el paquete siguiendo 3 caminos:

Set comm match<value>: configura el valor del paquete terminal. Cada vez que el conjunto de caracteres es visto y el paquete IP será enviado. “set comm match 0xd” por ejemplo para transmitir una vez que el carácter 0xd sea visto.

Set comm size<value>: Configura el tamaño de flujo, el tamaño es el número de bytes recibidos antes de transmitir. El valor máximo es =1460 bytes que es el tamaño de una sencilla estructura de Ethernet.

Set comm time<value>: Configura el temporizador de flujo, este es usado para hacer segura que ninguna sesión de datos parcial de carga de transmisión si no son datos adicionales sea vista por un “valor” de milisegundos. Por ejemplo set comm time 1000 esperaría por 1 segundo luego ningún dato será enviado.

Cuando se envía más que unos pequeños cientos de miles de bytes en una simple transmisión se debería habilitar el control de flujo de hardware. Su hardware necesitara activar el monitor CTS.

El flujo de control no esta habilitado por default. El flujo de control es configurado usando el siguiente comando.

Set uart flow 1

Esto posibilita operar baudios altos (mayores que 115k) sin el control de flujo si los paquetes son uniformes y el protocolo de aplicación es usado para asegurar que cada paquete de datos es dado en un sitio remoto antes del envío del siguiente paquete.

Sin embargo, dada la incertidumbre de los retrasos de los paquetes en una red TCP/IP y los efectos de interferencia y retrasos inherentes en una red inalámbrica, el control de flujo es usualmente requerido siempre que grandes, cantidades contiguas de datos sean enviados o escritos en la UART que garantice que los datos no se pierdan.

10.5. Configuración de la Dirección GPIO, Funciones Alternativas e Inhabilitación de LEDs.

La dirección del GPIO puede ser controlada con la mascara GPIO usando el comando set sys mask<value> para configurar el pin de dirección GPIO. El valor puede ser un número entero

29

como Hexadecimal. Si necesita configurar solamente un bit en la mascara se necesita leer, enmascarar y configurar el valor. De otra manera usted puede sobre la escritura previa configurar el GPIO.

El valor Hex representa un bit de mascara que controla cada pin donde 1=salida y 0= entrada. Por ejemplo, set sys mask 0x0 configura todos los pines de entrada.

Para configurar solamente el GPIO 6 y 7 por ejemplo, se debería ingresar set sys mask 0xc0.

El valor de la mascara por default para el RN-131 =0x20f0, que tiene GPIO 13, 7, 6, 5, 4 como salida.

El valor de la mascara por default para el RN-171= 0x21f0, con la configuración:

GPIO 0-3: Son usados internamente en el modulo.

GPIO 4, 5, 6 son LEDs.

GPIO9 es reservado como fabrica ARM de modo reset/adhoc, (lectura al iniciar) y en otro caso para propósitos generales de detección de pines de entrada.

GPIO 10,11 son los pines UART RX, TX y TX no necesita tener mascara como salida.

GPIO 12 es CTS (entrada) si es usado.

GPIO 13 es RTS (salida) si es usado.

Nota: Para configurar el GPIO como entrada o salida instantáneamente, se usa el comando set sys mask 0xABCD 1. Esto no requiere reinicio.

Los LEDs en el RN-134 son conectados al GPIO 4, 5 y 6. Para deshabilitar los LEDs, habilite las funciones alternativas de los LEDs (set sys iofunc 0x7).

Nota: Los LEDs amarillo, rojo y verde pueden apagarse. El LED azul en el RN-134 es el de encendido y no puede apagarse.

El LED azul en el RN-174 es conectado al GPIO7 que es salida por default. Este LED no es conducido por la tarjeta RN-174 como el poder de estado default del GPIO7 como bajo.

El comando get sys mostrara la configuración de la mascara GPIO.

<2.21> get sys

Sleep Tmr=….

IoFunc=0x0

IoMask=0x21f0

La tabla de abajo muestra el uso de los pines con sus estados en default y funcionalidades.

Nota: El LED azul es conectado al GPIO7 en el adaptador serial WiFi (Rn-370) y en la tarjeta de desarrollo RN-174. El LED azul no se conecta en el GPIO7 en la tarjeta RN-134. Esto no se puede conectar al poder del LED azul en el la tarjeta RN-134 como se conecta directamente al poder.

30

10.5.1. Configuraciones de las Funciones Alternas de GPIO.

Las funciones por default de GPIO 4, 5, 6 es controlar la funcionalidad LED. Estas funcionalidades por default pueden ser sobrellevadas para seguir usuarios programables de IO o funcionalidades alternas de IO por el uso de el comando set sys iofunc<mask>. el valor es un numero entero como hexadecimal.

El valor hexadecimal representa un bit de mascara que controla cada bit en la <mask> representando un pin particular del GPIO. Si un bit es 0, entonces este GPIO es conducido/leído por la firma para la función por default.

La función IO<mask> es codificada tal como:

Nota: Los bits 0-3 son mutuamente exclusivos con los bits 4-6. i.e. 0x77 es un valor ilegal.

Si los LEDs son deshabilitados usando los bits 0, 1, 2 arriba, puedes cuando se use el comando show i leer ese GPIO.

<2.21> show i retornara

31

Port=30.

Por ejemplo, para usar las funciones alternativas de los LEDs, la secuencia de comandos debería ser:

Set sys iofunc 0x70 // Habilita las funciones alternas para GPIO 6, 5 y 4.

Save // Guarda la Configuración.

Reboot // Reinicia el Modulo.

Nota: Corrientemente, las funciones alternativas no están disponibles en el modo adhoc.

10.5.2. Controlando las Conexiones con GPIO.

En aplicaciones embebidas esto es usado para monitorizar y controlar el estatus de la conexión TCP/IP. Esto puede ser hecho para habilitar las funciones alternativas del GPIO 4, 5 y 6.

Con la función alternativa para estas configuraciones del GPIO, el modulo se conectara a una dirección IP y puerto de un host remoto almacenado, cuando el GPIO-5 este conducido a alto y se desconectara cuando se conduzca a bajo.

El estatus de la conexión TCP/IP puede ser monitorizado por la lectura del GPIO-6, en alta=conectado, en bajo=desconectado.

Aquí se muestra como configurar el modulo para conexiones usando GPIO-5 y GPIO-6.

<2.21> set ip host<addr> // Configura la dirección IP del host remoto.

<2.21> set ip remote<port> // Configura el puerto IP del host remoto.

<2.21> set sys iofunc 0x70 // Configura las funciones alternas para GPIO 4, 5 y 6.

<2.21> save // Guarda las configuraciones en un archivo de configuración.

<2.21> reboot// Reinicia el modulo.

En el host remoto corre tu aplicación o algún otro software que abre y escucha el <port>.

Conecte el GPIO-5 a tu proceso embebido o al control de otra señal. Cuando el GPIO-5 es conducido a alto, la conexión será probada. Cuando la conexión GPIO-5 sea conducida a baja la conexión será cerrada.

Nota: no conduzca el GPIO con mas de 3.3 VDC o el daño permanente daño podrá ocurrir al modulo.

Si la conexión al host remoto es exitosa el GPIO-6 ira a alto. Si los caracteres COMM OPEN y REMOTE son configurados debería verse el mensaje OPEN en la UART y el mensaje HELLO en el host remoto.

32

10.6. Configuración de Niveles de Registros de Depuración.

Estos son números de funciones impresas que pueden ser habilitadas para asistir a la depuración de la operación y el estatus del modulo. Los siguientes comandos son usados para controlar estos registros.

Set sys printlvl<value> Configura las funciones de registros adicionales. El valor es un bit-combinado que controla cada registro de mensajes que son enviados a la UART.

10.6.1. Habilitando un Nuevo Formato de Escaneo.

La firma versión 2.22 y superiores soportan un nuevo comando de formato de delimitación de salida de escaneo. Este formato es entendido para analizar la información RSSI por el microprocesador.

33

Este nuevo comando de escaneo de formato de salida es:

El modo de campo seguridad para el nuevo formato de escaneo es descrito abajo:

10.6.2. Mensajes latentes de UART.

En la versión 2.22 y posteriores el modulo WiFLY puede mostrar mensajes latentes de UART de salida. El mensaje de bit-compartido es sacado periódicamente mientras se este en el modo comando.

El mensaje latente codifica el estado del modulo WiFLY para el microprocesador. Basado en el mensaje latente, el microprocesador puede elegir cambiar la configuración para entrar al modo comando.

Para habilitar los mensajes latentes, se usa el comando set sys printlvl 0x10. La salida en este modulo es:

*8b30*8b30*8b30…

El formato de bits de salida se muestra en la siguiente tabla:

34

10.7. Usando las Funciones del Reloj de Tiempo Real.

El reloj de tiempo real en el modulo mantiene corriendo el numero de segundos desde que el modulo se enciende y el tiempo actual cuando se sincroniza con el temporizador del servidor sNTP. El default el modulo mantiene corriendo el tiempo pero no se sincroniza con el tiempo del servido para esto se requiere asociar con una red que pueda acceder al servidor sNTP.

El reloj de tiempo real lee el tiempo en segundos desde 1970. Esto corresponde al tiempo de Unix.

En la versión 2.23, esto es ahora posible configurar el valor RTC en segundos usando el comando set time rtc<value> desde la consola.

El valor del servidor sNTP es con:

ADDR=129.6.15.28:123

ZONE=7. //(GM -7)

Si se usa el comando show time para ver el tiempo actual y el tiempo activo.

<2.23> show t

Time NOT SET

UpTime=8s.

<2.23> time

<2.23> show t

Time=08:51:31

UpTime=15s.

Nota: El modulo WiFLY debe por éxito asociarse con una red para que el modulo haga contacto con el servidor sNTP.

Alternamente, el modulo puede ser configurado para obtener el tiempo siempre que este encendido, para configurar el tiempo habilite a 1. Ningún valor mayor que 1 tirara el tiempo continuamente cada <value> minutos.

Para configurar el modulo WiFLY para obtener el tiempo al encenderse.

<2.23> set time enable 1.

AOK

<2.23>get time

ENA=1

ADDR=129.6.15.28:123

ZONE=7 Para ver una lista completa de las variables de tiempo usamos el comando:

<2.23> show t t

Time=09:02:10

UpTime=653s

RTC=1293567548

Restarts=1

Wake=6

RAW=2345ab

35

Nota: EL valor RAW es Hex de 64 bits, el valor RAW del RTC con 32768 Hz.

10.8. Paquetes de Tiempo de Sellado.

Esta característica puede ser usada automáticamente para añadir 8 bytes a los paquetes TCP o UDP.

Set ip flags 0x87 (Habilita el tiempo de sellado y mantiene otras configuraciones por default).

Los 8 bytes representan el valor de los 64 bits del registro de Reloj de Tiempo Real. Este dato es añadido antes de calcular la toma de control del TCP así que esta pasara a través de la pila de TCP correctamente. Este registro contiene cerca de 32768Hz. Si la función del tiempo del servidor esta habilitada, el RTC debe exactamente reflejar el tiempo real. Este registro esta también en conteo mientras esta en modo sueño.

11. ENVÍO DE DATOS USANDO UDP

11.1. Visión General.

UDP es un protocolo sin conexión. Este no inicia el “apretón de manos” entre los hosts para configurar la conexión UDP. Este no admite envíos por el receptor para paquetes UDP que este reciba. Esto hace al UDP un protocolo poco serio, como este no garantiza que los datos sean correctamente dados. Sin embargo, debido a su naturaleza sin conexión, el UDP es propio para aplicaciones que no toleran mucha latencia pero pueden tolerar algunos errores en los datos. La transmisión de video debería ser un buen ejemplo para aplicaciones con UDP.

Para usar el UDP en el modulo WiFLY-GSX, necesitas habilitar el protocolo UDP usando el comando “set ip proto 1”. Usted necesitara también especificar la dirección IP del host remoto y el puerto local y remoto que será usado para la comunicación UDP.

Los comandos para habilitar la transferencia de datos UDP son:

Asociarse a una red:

Set wlan ssid<string> //Configura el nombre de la red.

Set wlan phrase <string> //Configura la contraseña para el modo WPA y WPA2.

Configurar el protocolo y número de puerto:

Set ip proto 1 //Habilita UDP como el protocolo.

Set ip host <ip address> //Configura la dirección IP del host remoto.

Set ip remote <port> //Configura el numero de puerto que el host este escuchando.

Set ip local <port> //Configura el numero de puerto que el modulo WiFLY escuchara.

Save //Guardara la configuración en un archivo.

Reboot //Reiniciara el modulo para que los cambios tomados hagan efecto.

36

Note: Si se intenta enviar datos por caracteres típicos físicamente por el teclado o si su micro-controlador no envía datos bastante rápido, el modulo WiFLY enviara paquetes con menor bytes de datos. Para evitar esto, se configura el flujo de tiempo al valor más alto. Por default este esta configurado en 10 milisegundos. Usted puede elegir también inhabilitar el transporte basado en el flujo de tiempo (use “set comm. Time 0”) o configure este con el valor mas alto.

Desde que UDP sea un protocolo sin conexión, los datos empiezan fluir tan pronto que el modulo es reiniciado. A diferencia de TCP, este no requiere que usted “ABRA” la conexión para ser establecida. El modulo WiFLY-GSX actúa como una guía de datos, así que los datos serán enviados sobre el enlace Wi-Fi vía protocolo UDP (en este caso) y los datos vendrán sobre el enlace Wi-Fi (vía Protocolo UDP en este caso) para ser enviados a la UART.

11.2. Auto Apareamiento UDP.

La característica de auto apareamiento temporalmente almacena la dirección IP del primero dispositivo remoto que envíe un paquete UDP dentro del modulo. Esta dirección IP del host será almacenada en la RAM que no sobrevivirá a un ciclo de sueño o de poder.

Esta característica permite al modulo WiFLY hacer devolución de eco a algún cliente que envíe un paquete UDP. Para usar esta característica, se debe configurar las direcciones IP y las IP de las banderas.

Set ip host 0.0.0.0

Set ip flags 0x40

11.3. Reintento de UDP.

Esta característica adiciona un nivel de rehabilitación para el protocolo sin adicionar los gastos generales del protocolo TCP. Cuando se habilita, el modulo espera por una respuesta cada que paquete UDP es enviado, (Ningún paquete UDP entra). Si el paquete responsable no es recibido en aproximadamente 250 ms, el mismo paquete UDP es descartado.

Esto continúa hasta también:

Una respuesta UDP es vista, o

Un nuevo paquete UDP es enviado desde el modulo y es generalmente reconocido.

11.4. Usando la Función de UDP de Broadcast.

El modulo WiFLY puede ser configurado para automáticamente generar paquetes UDP de broadcast. Esto es útil por un número de razones:

Algunos Access Point desconectaran dispositivos que holgazaneen y no envíen paquetes luego de un tiempo. Usando el broadcast de UDP informara al AP que el WiFLY esta vivo y se quiere mantener asociado.

Esta característica puede ser usada para programas de aplicación de auto-descubrimiento y auto-configuración del modulo WiFLY. Si una aplicación es escuchada por el broadcast UDP, un número de parámetros útiles serán presentados en el paquete que pueden ser usados para auto-descubrimiento. Por ejemplo, la dirección IP

37

y el numero de puerto del WiFLY son ambos parte del paquete, y así el modulo WiFLY puede ser conectado y configurado remotamente con esta información.

La dirección MAC de la AP asociada, canal y valor de RSSI están disponibles en este paquete, así habilitar una locación simple y rastrear basado en esta función.

Por default el modulo WiFLY ahora envía un broadcast UDP de 255.255.255.255 con puerto 55555 con un intervalo programable. La dirección de broadcast, puerto e intervalo son configurados usando los comandos “set broadcast”.

El formato de este paquete es 110 bytes de datos.

Bytes Tamaño

0-5 6 //Dirección MAC del AP que asociaremos (Para localización).

6 1 //Canal que usaremos.

7 1 //RSSI.

8 2 //Puerto# TCP local (Para conectarse dentro del WiFLY.

10 4 //Valor RTC (MSB primero a LSB después).

14 2 //Voltaje de la Batería del pin 20 en mili-voltios.

16 2 //Valor del pin GPIO.

18 13 //Tiempo ASCII.

32 26 //Versión con código de datos.

60 32 //Carácter de ID del dispositivo programable.

92 2 //Ambos tiempos en mili-segundos.

94 16 //Lectura del voltaje del sensor 0 así como el 7.

Nota: Para adicionar un dato de sensor a el mensaje broadcast UDP, el sensor tiene que estar habilitado usando la mascara del sensor. El comando set q sensor 0xff habilita todos los sensores.

12. UNIENDO REDES Y HACIENDO CONECCIONES.

Configurar el modulo para hacer conexiones es hacer dos procesos de configuración. Primero se necesita asociar con un Access Point (AP) y segundo se necesita abrir una conexión.

Para configurar el modulo sobre un enlace WiFi es un problema. El modulo debe estar asociado a una red para conectarse a ella y programar las configuraciones de red. Este problema puede ser solucionado configurando el modulo desde la UART o sobre el aire usando el modo adhoc.

Si se configura el modulo usando el modo adhoc, ver la sección 0. Una vez que el modo adhoc se abrirá una ventana de Windows con la dirección IP 169.254.1.1 con puerto 2000.

Si configuramos el modulo usando el modo UART también usando el RS232 o una tarjeta de desarrollo, abrirá un terminal emulador el puerto COM asociado con este dispositivo. La tasa de baudios por default son 9600, 8 bits sin paridad.

12.1. Asociación con una Red Access Point.

38

De adentro de la ventana del terminal, coloque el modulo WiFLY GSX en modo comando colocando los caracteres $$$ en la terminal. Usted debería obtener una confirmación del CDM al entrar en modo comando.

Ingresar show net muestra las siguientes configuraciones de red:

Ahora para encontrar todas las redes disponibles con el comando scan:

Si la red a la cual usted se esta conectando esta abierta, usted simplemente usa el comando de unión para asociarse con el Access Point. De la lista de escaneo mostrada arriba usted puede ver que “Roving 1” es una un punto de acceso a la red abierto. Escribir join roving1 asociara con este Access Point.

Usted también podría especificar el acceso a la red Roving 1 usando el comando join #1.

39

Si la seguridad en el Access Point esta habilitada se necesitara configurar la contraseña previa usando el comando Join. El modulo RN-131G intentara indagar y determinar el protocolo de seguridad del Access Point así que usted no tendrá que configurar en el modo autenticación.

Para configurar la contraseña por WPA use el comando set wlan phrase<string>. Para configuración WEP la llave a usar es el comando set wlan key<num>.

Una vez que se haya asociado a la red la SSID del Access Point será almacenada. Esto junto con la contraseña pueden ser guardadas en el archivo “config” para que el modulo pueda asociarse con la red cada vez que desee.

12.2. Haciendo Conexiones.

Para hacer una conexión el modulo simplemente abre un espacio IP y la conecta a la dirección IP del modulo. Telnet es un simple camino para realizar esta conexión. Desde Telnet se puede escribir “open<addr><port>. En el ejemplo de arriba el comando telnet mostrara algo como open 10.20.20.62 2000. Una vez abierto usted puede escribir caracteres en la ventana UART y verlos en la ventana de Telnet o viceversa.

Para hacer una conexión desde el modulo usted necesita la dirección IP y numero de puerto de su servidor de aplicación. Un simple programa que testee esta funcionalidad es un puerto redirector COM. Este software abre un puerto IP y transfiere todos los datos recibidos a un puerto COM especifico en su maquina. Un programa de redirección de puerto libre COM esta disponible en http://www.pura.cz/eng/puracom.htm

Luego de instalar y empezar este programa, note que la dirección IP de la maquina este sobre este. Esto puede ser encontrado por el comando de la ventana de Windows running ipconfig.

Con el modulo WiFLY-GSX en modo comando, escribir open<addr><port>. El servidor reportara la conexión que este abierta y se podrá escribir caracteres y verlos en el servidor de Windows o viceversa.

12.3. Establecimiento de Conexiones Automáticas.

A menudo, se desea que al encenderse se conecte automáticamente a un servidor remoto, envíe datos, y entonces se desconecte. Esto puede ser configurado para hacerse automáticamente.

En el siguiente ejemplo se asume una red SSID y la seguridad ha sido configurada correctamente y la unión automática esta configurada a 1. Esta también trabajaría en el modo adhoc (unión automática 4), sin embargo allí habrá un retraso en la conexión a la red adhoc desde el computador remoto así que se debe configurar un temporizador de sueño bastante grande para permitir que la red obtenga la configuración y establezca la auto-conexión TCP.

Cuando el modulo despierte o se encienda el temporizador causara que el modulo intente una conexión con una dirección IP y puerto almacenado remotamente. Mientras esta conexión este abierta el temporizador de sueño no decrementarà. Mientras los datos estén fluyendo el tiempo de inactividad no decrementarà. Una vez los datos se detengan por 5 segundos la conexión será cerrada. El temporizador de sueño se activara y colocara el modulo en sueño profundo. Finalmente el temporizador de despertar comenzara mientras el ciclo total otra vez un minuto después.

Set ip host X.X.X.X (configure la dirección ip de la maquina remota).

Set ip remote_port num (configura el puerto IP de la maquina remota).

40

Set sys autoconn 1 (automáticamente desconecta después READY).

Set com idle 5 (desconecta luego de 5 segundos de inactividad de datos).

Set sys sleep 2 (duerme 2 segundos luego de que la conexión este cerrada).

Set sys wake 60 (despierta luego de 1 minuto de sueño).

UART data TRIGGER mode. Este modo automáticamente realizara una conexión TCP/HTTP bajo entrada de datos UART.

Set uart mode 2.

12.4. Control de las Conexiones Usando PIO5 y PIO6.

PIO5 puede ser usado para controlar la conexión TCP. Una vez configurado con el sistema de IO de comandos el modulo intentara hacer una conexión con una dirección IP y Puerto almacenados cuando se configure en alto y se desconectara cuando se configure en bajo.

set sys io 0x20. (configura el PIO5 como conexión/desconexión).

Se puede monitorizar el estatus de la conexión por medio de PIO6. En alto indica que una conexión esta abierta, en bajo indica que no hay conexión. Use el comando de configuración del sistema IO para habilitar PIO6.

Set sys io 0x40. (configura el PIO6 para representar el estatus de la conexión). 12.5. Uso de las Configuraciones DNS.

El modulo WiFLY contiene un constructor de cliente DNS. Si la dirección IP de el host no es específica el protocolo DNS será usado. El modulo WiFLY automáticamente intentara resolver la dirección del host almacenado con el comando:

Set dns name<string>: Configura el nombre del host para la conexión TCP/IP.

Una vez la dirección es resuelta una conexión automática será realizada.

Para revisar la dirección IP de un host, use el comando:

Lookup<string>: “string” es el nombre del host.

12.6. Utilizando la Función de Respaldo de la Conexión/Dirección IP.

El modulo WiFLY contiene características para auto-recuperación y redundancia. Si la primera conexión a la dirección IP del host falla, el respaldo de IP será usado (si se configura). Si este falla (o no es configurado) entonces el primer nombre DNS será usado. Si este falla (o no es configurado) entonces el respaldo del nombre del DNS será usado.

Para configurar el respaldo de dirección IP, usamos:

Set ip backup<address>.

Para configurar el respaldo del nombre DNS, usamos:

Set dns backup<string>.

13. USO DE LAS CARACTERISTICAS DE CLIENTE HTML.

41

El modulo WiFLY GSX tiene un constructor en cliente HTML. Cuando se habilitado, el modulo WiFLY es capaz de obtener o informar datos a un servidor web. Usando el cliente HTML. Usando el cliente HTML, es ahora posible postear series y/o datos de sensor a un host servidor web. Esta característica hace posible proveer capacidades Wi-Fi a aplicaciones tales como unidades GPS, sensores remotos, estaciones climáticas, etc.

Por ejemplo: El usuario que quiere recuperar datos desde un servidor web con este formato:

o http://www.webserver.com/ob.php?obvar=WEATHER

set ip proto 18 //habilita el cliente HTML.

set dns name www.webserver.com //nombre del servidor web.

Set ip address 0 //el WiFLY user DNS.

Ser ip remote 80 //Puerto de estándar webserver.

Para hacer conexión el comando seria:

Open.

En las líneas open usted puede escribir www.webserver.com80. El usuario del microprocesador debería escribir en la UART:

o GET/ob.php?obvar=WETHER \n\n

Donde el comando \n es la línea de alimentación, carácter decimal o hexadecimal. Dos líneas de alimentación son requeridas para un servidor web conocido como la pagina esta completa.

13.1. Modo Cliente Constructor HTML.

La tarjeta WiFLY puede ser configurada automáticamente para informar datos y para obtener datos desde un servidor web sin ningún host CPU externo. Las características avanzadas web son habilitadas usando el comando “set option format<mask>”. Este es un bit de registro combinado. La función de los bits es descrita en la siguiente tabla:

o Set option format<mask> Valores Combinados.

La razón valor para despertar esta descrita en la siguiente tabla:

42

o Por ejemplo: o Para enviar automáticamente el titulo de datos HTML, el comando es set option

format 1. o Para añadir datos de sensores en formato hex ASCII, el comando es set option

format 7. o Para añadir todas las llaves valores pares para datos de sensor, el comando es

set option format 11. o

13.2. Conexión Automática a un Servidor Web.

El modulo WiFLY puede ser configurado automáticamente para informar datos a un servidor web. Las características de auto-conexión están habilitadas por el comando set auto<seconds>. Por ejemplo, el modulo WiFLY puede ser configurado para conectarse a un servidor web cada 10 segundos usando el comando set sys auto 10.

El ejemplo siguiente ilustra los comandos para configurar el modulo WiFLY para conectarse a un servidor web cada 30 segundos.

o Set com remote GET$/ob.php?obvar=WEATHER //configuración string. o Set sys auto 30 // auto-conecta cada 30

segundos. o Set option format 1 //auto envía la cabecera

una vez esta abierta la conexión. o Set ip proto 18 // cambia el modo

HTTP=0x10 + modo TCP=0x2.

Nota1: Cuando el modo HTTP es configurado, el modulo WiFLY automáticamente añadirá el \n\n al final del paquete.

Nota2: Si la cabecera HTML contiene espacios, el $ será requerido cuando sean caracteres. El espacio es el comando de limitante. Cuando el lector de comandos vea el $ convertirá esto a un carácter de espacios.

13.3. Conexión Automática a un Servidor Web con Datos UART.

43

El modulo WiFLY soporta un modo en el que puede conectarse a un servidor web cuando este recibe un dato UART. En este modo, la conexión al servidor web será desatada por el dato UART.

Por ejemplo:

Set ip proto 18. //Coloca en modo HTTP=0x10 + modo TCP0x2

Set dns name www.webserver.com //Nombre del servidor web.

set ip host 0 //Para que el WiFLY use el DNS.

Set ip remote 80 //puerto estándar para servidores web.

Set com remote GET$/userprog.php?DATA= //Ejemplo de aplicación de servidor.

Set uart mode 2 //automáticamente conecta usando el modo TRIGGER.

Luego cuando el dato serial UART entra, el WiFLY se auto-conecta al servidor web y automáticamente enviara:

GET/userprog.php? DATA=<users serial data> \n\n

Nota: Si en su intento por enviar datos por caracteres físicos como el teclado o si el micro-controlador no esta enviando datos los suficientemente rápido, el modulo WiFLY enviara un pequeño paquete de datos (este enviara muchos paquetes MTU de pequeño peso). Para evitar esto, se configura el temporizador de flujo en un valor alto. Por default esta en 10 milisegundos. Se puede extender el valor a el valor mas grande posible (5000 milisegundos).

13.4. Enviando datos Binarios.

Los servidores Web guardan datos ASCII, así si los datos de un usuario son binarios, el modulo WiFLY convertirá los datos Binarios a ASCII, formato antes de enviarse al servidor web.

Por ejemplo;

Set ip proto 18

Set dns name www.webserver.com

Set ip host 0

Set ip remote 80

Set com remote GET$/userprog.php? DATA=

Set option format 1 //Convierte los datos del usuario en datos ASCII de formato hex.

Si dentro de los datos UART hay 6 bytes de datos binarios con valores hex 0x01 0xAB 0x03 0xFF 0x05 0x06 el modulo enviara este carácter al servidor web:

GET/userprog.php? DATA=01AB03FF0506 \n\n

13.5. Auto-Informe de Datos del Sensor.

El modulo WiFLY puede enviar el valor del GPIO y de los pines de sensores:

44

El dato vendrá como 18 bytes de formato ASCII HEX: <2 bytes GPIO><canal 0 a través de 7 sensor data>

set ip proto 18

set dns name www.webserver.com

set ip host 0

set ip remote 80

set com remote GET$/userprog.php? DATA=

set q sensor 0xff //Configura al modulo WiFLY a mostrar los 8 canales de sensores.

Set sys auto 30 //Automáticamente hace que la conexión sea cada 30 segundos.

Set option format 7 //Envía una cabecera adicional para mostrar el formato de cambio binario a ASCII.

El carácter resultante para enviar al servidor será:

GET$/userprog.php? DATA=0F3000001111222233334444555566667777\n\n.

En el ejemplo siguiente el format es:

13.6. Ejemplos Usando el Cliente HTML.

Ejemplo 1: Auto-Informe de los Datos de Sensores:

En este ejemplo, conectaremos al servidor www.rovingnetworks.com/server.php?value= y enviaran los datos del sensor a un portal web con el servidor cada 60 segundos.

Las conexiones de red son como se venían trabajando. Los otros parámetros que se necesitan son descritos de la siguiente manera:

Set dns name www.rovingnetworks.com //Configura el URL del servidor.

Set ip host 0 //Instruye al RN-370 de usar la dirección DNS del host servidor.

Set ip remote 80 //Puerto estándar de servidor web.

Set ip proto 18 //Habilita los protocolos HTTP y TCP.

Set com remote GET$/server.php? value= //Configura los caracteres.

Set sys auto 10 //Realiza Auto-conexión cada 10 sg.

Set option format 7 //Envía la cabecera y ejemplo binario para convertir a formato ASCII.

Set q sensor 0xFF //configura la mascara de sensor para mostrar todos los canales.

Save //Guarda la configuración en el archivo file.

45

Reboot //Reinicia para que las configuraciones hechas tengan efecto.

El resultado:

Se recibirá un “200 K” del servidor web como es visto en la imagen siguiente:

Ejemplo 2: Informando datos UART a un servidor web

El modulo WiFLY es capaz de auto informar datos seriales UART en formato ASCII o Binario. En este ejemplo se configura el modulo WiFLY tales que cuando los datos serla entren, el modulo WiFLY se conectara y enviara los datos al servidor web, en el siguiente formato:

GET /server.php?value=<user serial data>\n\n Los otros parámetros que se necesitan para configurarse están descritos abajo:

Set dns name www.rovingnetworks.com //Configura el URL del servidor.

46

Set ip host 0 //Instruye al RN-370 para usar la dirección del host servidor.

Set ip remote 80 //Puerto estándar web.

Set ip proto 18 //Habilita los protocolos HTTP y TCP.

Set com remote GET$/server.php?value= //Configura los caracteres.

Set sys auto 10 //Se auto-conecta cada 10 segundos.

Set option format 1 //Envía la Cabecera de HTML

Set uart mode 2 //Automáticamente conecta usando el modo Trigger.

Save //Guarda la configuración en un archivo Config.

Reboot //Reinicia para que los cambios tomen efecto.

Con las anteriores configuraciones habilitadas, el modulo WiFLY se conectara a un servidor web cada tiempo que este reciba una línea RX. Los datos seriales son enviados al servidor web de acuerdo con el temporizador de flujo y el tamaño de flujo.

Nota: Usted no puede añadir la muestra de dato del sensor a los datos UART. Habilitar “option format 7” junto con “set uart mode 2” resultara en error en el envío de datos.

14. ACTUALIZACION DE FIRMWARE BAJO TCP.

El modulo WiFLY tiene un sistema de archivos para almacenar el firmware y los archivos de configuración. Use el comando “1s” para ver los archivos. El tamaño del archivo es mostrado en sectores y la imagen activa también es identificada en el mensaje final.

FL# SIZ FLAGS

11 18 3 WiFLY_GSX-2.21

29 1 10 Config

190 libres, raíz=11, soporte=0.

Múltiples imágenes de Firmware y archivos de configuración pueden ser almacenados en el archivo del sistema.

Nota: El archivo flash es usado únicamente para almacenar el Firmware y los archivos de configuración. Corrientemente el archivo del sistema no puede ser usado para almacenar archivos de datos.

14.1. Carga y Actualización FTP.

El modulo WiFLY contiene un contiene un cliente FTP para obtener archivos y actualizaciones del firmware. El cliente usa el modo pasivo FTP, que permite operar a través del firewalls y el internet.

Para actualizar el último parche del firmware de Roving Networks la siguiente configuración es requerida:

FTP username=Roving

FTP password=Pass123

47

FTP filename= wifly-GSX.img

FTP Directory=. /public (este parámetro no puede ser modificado).

Nota: Para usar FTP para actualizar el firmware, el modulo WiFLY tiene que asociarse con un Access Point con conectividad a internet.

Para actualizar el firmware, se emite el siguiente comando:

ftp update<string>: (string es una opción de nombre de archivo, use para evitar el valor default del archivo firmware.

El comando de actualización ftp mostrara el archivo e intercambiara la imagen raíz con el nuevo archivo.

<2.20>ftp update

<2.20>FTP Conectando a 208.109.78.34

FTP archivo=30

…………………..

FTP ok.

Nota: Luego de que el modulo reinicie con el nuevo firmware, es recomendado formatear el modulo a los parámetros de fabrica usando el comando “R”. El no hacer esto podría resultar en que algunas variables sean inicializadas con valores aleatorios.

El anterior firmware venia con la imagen de soporte. Aquí esta un ejemplo de lo que se debería ver luego de una actualización completa:

FL# SIZ FLAGS

11 18 3 WiFLY_GSX-2.20

29 1 10 config

30 18 3 WiFLY_GSX-2.21

208 libre. Raíz=30, Soporte=11

El firmware chequea la imagen (y compara con el valor guardado en el archivo) antes de guardar esta en la memoria Flash y actualizar la raíz antes de descargarla. Si el chequeo falla el firmware muestra “UPDATE FAILED=X” y borra la imagen.

Nota: El modulo debe ser reiniciado para usar el nuevo firmware. Para una raíz diferente se usa el siguiente comando:

Boot image<num>: Configura la corriente de la imagen raíz<num>

Por ejemplo para la imagen de la raíz previa de sobre uso

<2.20>boot image 11

Set Boot image 11, OK.

15. CLIENTE FTP.

Roving Networks añade la capacidad de cliente FTP para este firmware estándar que habilita el modulo WiFLY para obtener y colocar archivos en un servidor FTP. Antes, el FTP era usado por el modulo para actualizar el firmware solamente. Ahora, con el reciente firmware versión 2.22,

48

este es capaz de obtener y colocar archivos en un servidor FTP y adicionalmente actualizar el firmware del modulo.

15.1. Configurando el Modulo WiFLY Para Conectar a un Servidor FTP.

Por default, el modulo WiFLY esta configurado para obtener el ultimo Firmware del servidor FTP de Roving Networks. Para configurar el modulo WiFLY para conectarse con su servidor FTP, ciertos parámetros necesitan ser cambiados. Estos parámetros son descritos abajo:

Set ftp address<IP address> //Configura la dirección IP del servidor FTP. El default es el servidor FTP de Roving Networks.

Set ftp dir<string> //Configura el directorio en el servidor FTP. El valor default es público.

Set ftp user<string> //Configura el nombre de usuario del servidor FTP.

Set ftp pass<string> //Configura la contraseña del servidor FTP.

Save

Reboot.

Los comandos de arriba configuran al modulo WiFLY a conectarse con un servidor FTP. Se asume que el servidor FTP esta correctamente conectado y configurado. El modulo WiFLY es configurado para asociarse con una red inalámbrica.

15.2. Creación y Recuperación de Formas de Archivo FTP Usando el Modulo WiFLY

15.2.1. Creación de Archivos en el Servidor FTP.

Una vez que el modulo esta configurado para conectarse al servidor FTP tal como se describe en la sección 15, este puede crear archivos en el servidor FTP y recuperar archivos del servidor FTP.

Para crear un archivo en el servidor FTP, el comando es:

ftp put<filename>:

Esto creara un archivo en el servidor FTP con el nombre de archivo e imprime el string abierto en la UART. Por default el carácter abierto es OPEN. Se puede ver el OPEN en el UART, y se puede escribir datos en el archivo.

Por favor note que el nombre de archivo puede ser superior a 64 bytes.

Hay dos opciones para cerrar un archivo. Un archivo puede ser cerrado también enviando el carácter de cerrado. Por default el string close esta CLOSE. El segundo método para cerrar el archivo es usando un temporizador de cierre FTP set ftp timer<value>. Una vez finalice la escritura del archivo, este temporizador empezara la cuenta abajo y cerrara el archivo cuando el tiempo llegue a cero. El temporizador es 1/8 del valor actual. Por ejemplo, para configurar un temporizador de 5 segundos, el comando es:

set ftp timer 40 Las cadenas de abrir y cerrar son configurables usando los siguientes comandos:

set comm open<string>

set comm close<string>

49

15.2.2. Recuperando un Archivo del Servidor FTP.

Al recuperar archivos del servidor FTP no se almacenan en la memoria flash del modulo WiFLY. El modulo WiFLY actúa como un transporte y lleva el archivo sobre la interface UART mientras el archivo esta siendo transferido.

Para recuperar un archivo del servidor FTP usualmente el siguiente comando se hace desde el modulo WiFLY:

ftp get<filename>

Esto entonces escribirá el carácter OPEN en el UART y entonces el archivo será transferido desde el servidor FTP al modulo WiFLY. Una vez el archivo se transferido es completado, el modulo WiFLY imprimirá el carácter CLOSE indicando que el archivo esta completamente transferido y la conexión FTP estará cerrada.

Por ejemplo, para recuperar el archivo demo.txt el comando es:

ftp get demo.txt

16. CONFIGURACION DE PROTECCION WI-FI (WPS)

16.1. Introducción a WPS

Configuración de protección Wi-Fi es un estándar para fácil y seguro establecimiento de una red inalámbrica de hogar, creada por la alianza Wi-Fi y oficialmente lanzada en enero8 de 2007.

La meta del protocolo WPS es simplificar el proceso de configuración de seguridad en las redes inalámbricas. El protocolo tiene las intenciones de permitir a usuarios de casa conocen poco sobre seguridad inalámbrica y puedan ser intimidados por las opciones disponibles de seguridad para configurar un acceso Wi-Fi protegido, que es soportado por todos los nuevos dispositivos Wi-FI (pero no los viejos dispositivos Wi-FI).

El modo mas común del WPS es el modo “PUSH BUTTON” (PBC) en el que el usuario simplemente oprime un boto un en ambos, el Access Point y en el Cliente Inalámbrico (Modulo WiFLY de Roving Network)

50

Las características del WPS están soportadas en la versión 2.28 y posteriores del firmware. Para instrucciones de cómo actualizar el modulo a la versión 2.28 y descargar la aplicación WPS, referirse a la nota de aplicación WPS.

Nota: El modulo que tiene la versión 2.28 tiene la aplicación WPS. Esto puede ser verificado usando el comando “1s”.

16.2. Lanzamiento de la Aplicación WPS.

Una vez el modulo esta actualizado en la versión 2.28 (o posterior) y la aplicación WPS este instalada, hay dos modos de invocar las funciones de WPS:

Desde consola, usando el comando “WPS”.

Por uso del reset GPIO de ADHOC/fabrica.

En este modo, la aplicación WPS es invocada cuando el GPIO viene de bajo a alto. Esto puede ser logrado en las tarjetas RN-134 y RN-174 instalando y removiendo el pin de reset Adhoc/fabrica.

Antes de usar este modo, la función WPS debe tener habilitado el GPIO9. WPS en GPIO9 es deshabilitado por default para evitar invocaciones accidentales de la función WPS. Para habilitar el GPIO9, el comando que se emite es

Set System trigger 0x10

Nota 1: Cuando la Aplicación WPS exista, esta reiniciara el modulo para asociarse con la WPS habilitada en el Access Point. Si pasado este tiempo, el GPIO9 esta alto, el modulo entrara en el modo adhoc. Se debe tener cuidado con llevar el GPIO9 a bajo antes de reiniciar el modulo. Una buena señal es el LED rojo en la tarjeta RN-134 y RN-174. Cuando esté parpadeando, el modulo esta escaneando para habilitar el WPS en el Access Point. Este es un buen momento para llevar a bajo el GPIO9.

Nota 2: Por default, el código de WPS imprimirá un mensaje en la UART para que este escanee los canales, detecte Access Point y complete el WPS. Estos mensajes pueden ser deshabilitados usando el comando “set sys print 0”.

16.3. Estado de los LED Durante el Proceso WPS.

51

En el modo WPS, el LED rojo y amarillo parpadearan de la siguiente manera:

LED Rojo: Brillara mientras el modulo este escaneando para habilitar el WPS en los Access Point.

LED Amarillo: Si el WPS en un Access Point habilitado es encontrado, el LED amarillo estará prendido mientras la negociación este en proceso. Una vez el proceso este completado, la aplicación WPS terminara y el modulo será reiniciado. Si el modulo esta configurado con las funciones estándar de GPIO (no funciones alternativas del GPIO4), el LED verde empezara a parpadear una vez por segundo. Si la función alternativa del GPIO4 esta habilitada, el LED verde será encendido.

16.4. Formato de Salida del Escaneo de Actualización a Mostrar con un WPS Habilitado en un Access Point.

El escaneo de salida esta modificado para mostrar los Access Point que soporten características de WPS. También, cuando un escaneo es ejecutado luego de oprimir el botón de WPS en el AP, el escaneo retornara una –A para indicar que el WPS en el AP esta en “Modo Activo”.

En el diagrama de arriba, los AP que soportan el WPS son listados con “WPSPB” en el campo de seguridad. Cuando el botón WPS es oprimido en el AP, este mostrara:

17. MODO DE RED ADHOC

52

17.1. Comparación entre Infraestructura y Adhoc.

Hay dos tipos de redes. La red más común es infraestructura en que un AP es el punto común de enlace con todos los dispositivos Wi-Fi. El AP mantiene descubierto la red local y los paquetes directos IP. En muchos casos el AP es también un Router y reenviara paquetes desde la red local o de otras redes y de internet. Es también muy común para el AP que este corriendo en un servidor DHCP que este enlazado y asigne direcciones IP.

Adhoc es considerada una red punto a punto en ésta cada dispositivo Wi-Fi es enlazado directamente con cada otro dispositivo Wi-Fi en una red Adhoc. Aquí no hay Access Point. Todos los dispositivos Wi-Fi en la red adhoc participan en mantener la red viva y en mantener activo el enlace con los otros dispositivos en la red mediante envío y recepción de balizas y paquetes de prueba. En muchos casis las direcciones IP son asignadas completamente con Auto IP, aunque uno de los dispositivos Wi-Fi puede ser configurado como un servidor DHCP.

17.2. Configuración del Modo ADHOC

El modulo WiFLY puede ser configurado para organizar una red adhoc. Este modo es usado para comunicaciones punto a punto. El dispositivo WiFLY cuando esta en el modo Adhoc examina cada Access Point para que otros dispositivos Wi-Fi se unan.

Nota: Corrientemente el modulo WiFLY solamente soporta el modo abierto para la creación de redes adhoc.

Para habilitar el modo adhoc vía hardware se usa:

Configurar en alto el PI09 en alto (3.3v) al encenderse. En el RN-134 PIO9 esta en el bloque de salto j1. Cuando el modulo se enciende en el modo adhoc el modulo WiFLY crea una red adhoc con las siguientes características:

SSID: WiFLY-GSX-XX donde XX son los dos bits finales de la MAC del dispositivo.

Canal= 1

DHCP= OFF

IP Address 169.254.1.1

Netmask= 255.255.0.0

Con el puente de adhoc en el puesto las configuraciones de arriba los cambios de la configuración serán guardados.

Para habilitar el modo adhoc desde software:

Desde el modo comando, el modulo es configurado para modo adhoc usando el comando join. También se puede necesitar configurar el SSID y el Canal.

Set wlan join 4

Set wlan ssid mi-red-adhoc

Set wlan channel 1

Colocar en off el DHCP y configurar la dirección IP y la mascara de red para que otros dispositivos sepan donde conectarse al adhoc WiFLY-GSX. Desde que se establece la auto IP los

53

primeros dos bytes de la dirección IP que se quiere usa la mascara de red de 255.255.0.0 o otros dispositivos que quieran conectarse al modulo puedan ser alcanzados. Alternativamente se puede configurar la mascara de subred como una pequeña subred si las direcciones IP de los otros dispositivos empezaron estáticamente a la misma subred como a los dispositivos adhoc.

Set ip address 169.254.1.1

Set ip netmask 255.255.0.0

Set ip dhcp 0

Para asegurarse guarde su configuración, cuando se reinicie el modulo estará en modo adhoc.

Para asociarse con una red adhoc de otro dispositivo WiFLY, usamos el comando:

Set wlan ssid my_adhoc_network

Reboot

O alternativamente se puede usar el comando join para asociarse con una red adhoc. Recuerde desasociarse usando el comando “leave” si previamente esta asociado con otra red.

Join my_adhoc_network

Si usted permite habilitar el servicio DHCP el dispositivo WiFLY obtendrá una dirección IP usando un auto IP cuando se asocie con la red adhoc. Por definición una IP establece los dos primeros bytes de una subred de 169.254.xxx.xxx. El dispositivo WiFLY toma cerca de dos o tres segundos para encontrar esta dirección IP.

Alternativamente usted puede usar una IP estática para deshabilitar el servicio de DHCP y adicionar explícitamente la dirección IP.

Set ip address 169.254.1.2

Set ip dhcp 0

Usted puede confirmar que el dispositivo se ha conectado correctamente a la red adhoc usando el comando de ping.

Ping 169.254.1.1 10

Para asociarse con una red WiFLY adhoc desde otro computador, se abre “Panel de Control/Redes y Recursos/Centro de Redes y Recursos” en vista o “Panel de Control/ Conexiones de Red” para Windows XP. Desde aquí, se ven las redes disponibles y se selecciona el nombre de la red adhoc.

Nota: Una vez asociado con la red adhoc, una vista automática de las IP puede tomar un par de minutos para alojar la dirección IP en su computador. Para trabajar alrededor de esto usted puede asignar una dirección IP estática en Menú de propiedades/TCP/IP/Configuraciones de Red.

Una vez asociado con la red adhoc usted puede abrir una conexión o una ventana de telnet y probar con una conexión empresarial.

Nota: El modulo no soporta el modo adhoc y modo red empresarial simultáneamente.

54

17.3. Escaneo de Access Point Para el Modo Adhoc.

El modulo WiFLY soporta el modo adhoc y el modo infraestructura de red. Sin embargo, este no soporta ambos modos simultáneamente. El escaneo para redes inalámbricas es una función del modo infraestructura. Para hacer esto, el modulo WiFLY tiene que deshabilitar el modo adhoc y escanear.

Con la actualización del firmware de versiones 2.22 y posteriores, es posible escanear desde el modo adhoc. Emitir el comando “scan” temporalmente deshabilita el modo adhoc mientras el modulo este escaneando. El modo adhoc es restaurado automáticamente cuando el escaneo este completo. Si se esta conectado al modulo sobre telnet, el resultado del comando de escaneo es enviado sobre telnet y entonces el modo adhoc es restaurado.

18. Capacidad de Sensores Análogos.

El modulo WiFLY-GSX tiene 8 entradas a sensores análogos que pueden ser llevadas entre 0 y 1.2 VDC. La entrada análoga es muestreada y el valor digital es leído usando el comando show q<channel>.

Peligro: Llevar estas entradas sobre 1.2 VDC causaría permanente daño.

Las especificaciones de hardware de las entradas analógicas son:

Rango de voltaje de entrada: 0-12 B, sin embardo el A2D satura hasta 400mV.

Resolución: 14 bits =12uV.

Frecuencia de Muestreo= 35Us

Exactitud= 5% sin-calibrar.

La exactitud de cada sensor análogo leído puede ser compensada por encima del 5% debido a variaciones de chip a chip. Para mejorar la exactitud es recomendado usar un voltaje referencia de precisión en una de las entradas analógicas para calcular la compensación.

La compensación será la misma para todas las entradas análogas.

Por ejemplo:

200mV de referencia de precisión de manejo en la entrada 4.

Se lee la entrada análoga 4 y se calcula la compensación.

Si usted lee 210mV usted podría saber que la compensación es de +10mV.

Cuando se lea en la entrada 5 podría suponer que también se tienen +10mV de compensación.

Para leer un pin sensor, se envía el siguiente comando:

Show q <channel>

Canal es la entrada de sensores análogos de 0 a 7. El valor para estas entradas de sensores inalámbricos es calculado en micro-voltios y es retornado como 8xxxxx. El 8 del frente es marcador de inicio.

Usted también puede muestrear múltiples canales usando un bit de mascara:

55

Show q 0x1<mask> //Donde la mascara es un bit de la mascara del canal.

Por ejemplo, para leer el canal 0, 1 y 7, se envía:

show q 0x183

Se retornaran valores en formato 8<canal0>,8<canal1>, 8<canal7>\r\n

18.1. Muestreo Automático de los Pin de Sensores:

Los pin de sensores pueden ser automáticamente muestreados y remitidos en 2 modos:

El paquete de Broadcast UDP contiene los valores de las muestras.

En el modo HTTP, el pin de muestreo de datos `puede ser remitido a otro servidor.

Para habilitar los modos de arriba se usa el comando:

Set q sensor<mask>

Por ejemplo, para muestrear todas las entradas de los sensores, se usa el comando:

Set q sensor 0xff

18.2. Usando el Constructor en el Sensor de Poder

El modulo WiFLY cuenta con un pin de poder de sensor en la tarja, que es controlado por el comando:

Q sensor <mask>: Valor de Bit que determina cual pin sensor se muestreara cuando se envíen datos usando el paquete de broadcast UDP, o el auto muestreo de la función HTTP. Nota: El pin del sensor variable ha sido cambiado de:

o “set option sensor<mask>”. o “set q sensor<mask>”.

Set q power <value>: Este es un nuevo registro añadido en la versión 2.23 para automáticamente cambiar el sensor de poder. Este es un registro de 8 bits con 2 niveles de 4 bits. Si el máximo de niveles es configurado, entonces el poder es aplicado sobre al iniciar y removido al dormir o apagarse.

Si el botón de nivel es configurado, entonces el poder es aplicado cuando el muestreo ocurra, por ejemplo:

El poder es removido inmediatamente después de que el muestreo este completo.

El valor usado para configurar el poder esta descrito en la tabla de abajo:

56

Ejemplo: Para configurar el poder a 1.2V automáticamente sobre el poder, el comando seria “set q power 0x20”. Para configurar el poder a 1.2V cuando se este muestreando, el comando es “set q power 0x02”.

Ejemplo: Para usar el poder a 3.3 V automáticamente sobre el poder, el comando seria “Set q power 0x40”. Para configurar el poder a 3.3V cuando se este muestreando, el comando es “set q power 0x04”.

19. CONFIGURACION POR DEFAULT EN LA VERSION 2.28 DEL FIRMWARE.

Parámetros ADHOC:

Beacon: 100 (Milisegundos).

Probe: 5 (Segundos para mirar las balizas antes de declarar que el adhoc esta perdido).

Reboot: 0(Inusual parámetro para futuros desarrollos, por favor permita este valor en default.

Parámetros de Broadcast:

IP address: 255.255.255.255.

Port: 55555.

Interval: 7 (Segundos).

Parámetros COMM:

Close string: *OPEN*.

Open string: *CLOS*.

Remote string: *HELLO*.

Fluzh Size: 64.

Match character: 0.

Flush timer: 10 (Milisegundos).

Idle timer: 0.

Cmd char: $.

Parámetros DNS:

Ip Address: 0.0.0.0

57

Name: server1

Backup: backup2

Parámetros FTP:

Server address: 208.109.78.34 (Servidor de Actualización por default, puerto 21).

File: WiFLY-GSX.img

User: roving

Password: Pas123.

Dir: Public.

Timeout: 40.

FTP_mode: 0x0.

Parámetros IP:

DHCP: ON (1=habilitado).

IP address: 0.0.0.0.

Net mask: 255.255.255.255.

Local port: 2000.

Gateway: 0.0.0.0.

Host: 0.0.0.0.

Remote port: 2000.

Protocol: 2(Servidor TCP y Cliente).

MTU: 1524.

Flags: 0x7.

TCP Mode: 0x0.

Backup: 0.0.0.0.

Parámetros Opcionales:

Device ID: WiFLY-GSX.

Join Timer/WPA timer: 1000.

Replacement char: $ (0x24).

Format: 0x00.

Password: “” (No hay contraseña impuesta)

Signal: 0.

Average: 5.

Parámetros del Sistema:

Sleep timer: 0.

Wake timer: 0.

Trigger: 0x (El Pin SENS0 despierta el dispositivo).

Auto connect: 0

IOfunc: 0x0 (no hay funciones alternativas).

IOmask: 0x20F0 (para RN-131) / 0x21F0 (para RN-171).

IOvalue: 0x0.

Print level: 0x1 (Impresiones habilitadas).

58

Debug Register: 0x0(Parámetro Inusual para desarrollos futuros. Por favor permita este valor por default).

Parámetros de tiempo de servidor:

Enable: 0 (Deshabilitado).

Server address: 129.6.15.28 (Arreglado para el puerto 123 – del protocolo SNTP).

Zone: 7 (Tiempo del pacifico de USA).

Parámetros de UART:

Baudrate: 9600.

Flow: 0 (Deshabilitado).

Mode: 0.

Parámetros de WLAN:

SSID: roving1

Channel: 0 (Escaneo Automático).

External antenna: 0 (el OFF se usa solamente en la tarjeta de chip de antena del RN-131).

Join mode: 1 (Automáticamente escanea y se une basado en el ssid).

Authentication mode: OPEN.

Mask: 0x1FFF (Todos los canales).

Rate: 12 (24 Mbit).

Linkmon: 0.

Passphrase: rubygirl.

TX Power: 0 (con implicaciones de 12 dBm). Aplicado solamente para el modulo RN-171 solamente.

19.1. Restitución de las Configuraciones Default.

Desde la interfaz de comandos usando el comando “Factory RESET” se restaura a los valores por default. Este comando automáticamente carga las configuraciones por default y ejecuta el comando “save”. Entonces se debe emitir el comando “reboot” para que el modulo reinicie y se cargue con las configuraciones por default.

Desde el hardware, configurar en alto el PIO9 enciende la función reset de fabrica y conmuta PIO9 (5 veces) luego causa que la configuración sea restaurada desde fabrica.

PIO9 es muestreada a cerca de 1 Hz, tal que si se esta usando una CPU que genera la señal, hace segura la transición de PIO9 de (H a L o L a H) en menos de un segundo.

Opción de Archivo de Usuario:

Como en la versión 2.10 se puede especificar la configuración de un usuario como las configuraciones de fábrica. Previo a esta liberación solamente el código de fábrica podía ser restaurado. Si se tiene un archivo con nombre “config”, este se lee en vez del valor default de fabrica o usando el códec default de fabrica. Si no se presenta el archivo “user”, el códec de fabrica default será usado.

59

El archivo de configuración “user” es creado usando el comando “save user”, que guarda la actual configuración en el archivo “user”.

Nota: El modulo debería ser reiniciado, o resteado con la línea reset para que las nuevas configuraciones tomen efecto.

20. Valores de Tiempo de Arranque.

21. Soporte de Puntos de Acceso.

Los puntos de acceso que son configurados en el modo Mixto (WPA1 y WPA2) pueden causar problemas durante la asociación porque algunos de estos incorrectamente reportan sus modos de seguridad.

Nosotros también no soportamos WPA2-Enterprice (Autenticación del servidor de radio, EAP-TLS).

El modulo WiFLY-GSX debería trabajar con cualquier Access Point estándar. Nosotros hemos testeado el modulo WiFLY-GSX con los siguientes Access Point:

Cisco Aeronet series.

Linksys.

Netgear WGN54.

DLINK dir-615.

Airlink 101.

Apple Airport express.

Buffalo networks.

Modo ADHOC (Apple Iphone, Microsoft Windows PC con XP, Vista, Ubuntu y Linux)