Medidor Online de Temperatura y Humedad de Bajo Consumo  1
Trabajo Fin de Carrera
Referencia del Archivo wifly.c

Implementación del driver WIFLY. Más...

#include <wifly.h>
#include <LPC17xx.h>
#include <FreeRTOS.h>
#include <type.h>
#include <task.h>
#include <uart.h>
#include <stdio.h>
#include <string.h>
#include <uartio.h>
#include <stdlib.h>
#include <semphr.h>
#include <config.h>
#include <sleep.h>

'defines'

#define RST_WIFLY_PIN   22
 
#define WF_COM_GET_IP   "get ip a"
 
#define WF_COM_GET_CHANNEL   "get wlan channel"
 
#define WF_COM_GET_RSSI   "show rssi"
 
#define WF_COM_GET_TIME   "show time"
 
#define WF_COM_GET_TX_POWER   "get wlan"
 
#define WF_COM_SET_WLAN_PHRASE__SKEY   "set wlan phrase %s"
 
#define WF_COM_SET_WEP_KEY__SKEY   "set wlan key %s"
 
#define WF_COM_SET_TX_POWER__DVALUE   "set wlan tx %d"
 
#define WF_COM_JOIN__SSSID   "join %s"
 
#define WF_COM_PING__SADDRESS   "ping %s"
 
#define WF_COM_OPEN__SADDRESS_DPORT   "open %s %d"
 
#define WF_RES_AOK   "AOK"
 

Funciones

bool WIFLY_EnterCommandMode ()
 
void WIFLY_ExitCommandMode ()
 
bool WIFLY_Initialize (uint32_t _uartId)
 
bool WIFLY_ConnectToWLAN (const char *ssid, WIFLY_SecurityType secType, const char *password)
 
uint32_t WIFLY_GetIP ()
 
uint8_t WIFLY_GetChannel ()
 
int8_t WIFLY_GetRSSI ()
 
uint32_t WIFLY_GetUptime ()
 
uint32_t WIFLY_Ping (char *address)
 
uint8_t WIFLY_GetTxPower ()
 
bool WIFLY_SetTxPower (uint8_t value)
 
bool WIFLY_Open (char *address, uint32_t port, uint8_t format, const char *remote)
 
void WIFLY_Close (bool waitForClose)
 
void WIFLY_Sleep ()
 

Variables

char message [BUFSIZE]
 
volatile uint32_t UART0Count
 
uint32_t uartId = -1
 Identificador del puerto UART usado por el WIFLY. Más...
 
xSemaphoreHandle mutex = NULL
 

Descripción detallada

Implementación del driver WIFLY.

Documentación de los 'defines'

#define RST_WIFLY_PIN   22
#define WF_COM_GET_CHANNEL   "get wlan channel"
#define WF_COM_GET_IP   "get ip a"
#define WF_COM_GET_RSSI   "show rssi"
#define WF_COM_GET_TIME   "show time"
#define WF_COM_GET_TX_POWER   "get wlan"
#define WF_COM_JOIN__SSSID   "join %s"
#define WF_COM_OPEN__SADDRESS_DPORT   "open %s %d"
#define WF_COM_PING__SADDRESS   "ping %s"
#define WF_COM_SET_TX_POWER__DVALUE   "set wlan tx %d"
#define WF_COM_SET_WEP_KEY__SKEY   "set wlan key %s"
#define WF_COM_SET_WLAN_PHRASE__SKEY   "set wlan phrase %s"
#define WF_RES_AOK   "AOK"

Documentación de las funciones

void WIFLY_Close ( bool  waitForClose)

Libera el mutex del WiFly una vez se ha realizado la acción de open y el envío de datos (si es necesario). Además si se le indica se pone a la espera del aviso de conexión cerrada.

Parámetros
waitForCloseIndica si es necesario esperar por el close emitido por el WiFly.
bool WIFLY_ConnectToWLAN ( const char *  ssid,
WIFLY_SecurityType  secType,
const char *  password 
)

Conecta el WiFly al punto de acceso indicado con los datos de conexión indicados.

Parámetros
ssidNombre del punto de acceso al que nos queremos conectar.
secTypeTipo de seguridad que usa el punto de acceso al que se conectará el WiFly.
passwordContraseña necesaria para conectar al punto de acceso.
Devuelve
true en el caso de que se haya podido conectar al punto de acceso, false en otro caso.
bool WIFLY_EnterCommandMode ( )

Pone el WiFly a la espera de recibir comandos. Además bloquea el mutex para que no se ejecute ninguna otra acción sobre el dispositivo WiFly.

Devuelve
true en el caso de que se haya podido enviar y confirmar el comando.
void WIFLY_ExitCommandMode ( )

Hace salir al WiFly del modo de recepción de comandos. Y libera el mutex.

uint8_t WIFLY_GetChannel ( )

Devuelve el canal que está usando el WiFly actualmente. Es necesario estar en modo comando.

Devuelve
El canal en uso.
uint32_t WIFLY_GetIP ( )

Obtiene el la IP del WiFly. Es necesario estar en el modo comandos.

Devuelve
Un entero sin signo de 32 que contiene la dirección IP. Cada octeto se corresponde a uno de los octetos que forman la dirección IP.
int8_t WIFLY_GetRSSI ( )

Devuelve el valor actual de RSSI. Es necesario estar en modo comando.

Devuelve
Valor RSSI actual.
uint8_t WIFLY_GetTxPower ( )

Devuelve el valor de la potencia de transmisión. Es necesario estar en modo comando.

Devuelve
El valor actual de potencia de transmisión.
uint32_t WIFLY_GetUptime ( )

Devuelve el tiempo que ha transcurrido desde que el WiFly se ha encendido. Es necesario encontrarse en modo comando.

Devuelve
Tiempo que lleva encendido el WiFly.
bool WIFLY_Initialize ( uint32_t  _uartId)

Inicializa el dispositivo WiFly conectado al puerto UART especificado.

Parámetros
_uartIdIdentificador del puerto UART al que está conectado el WiFly.
Devuelve
Devuelve true en el caso de que el dispositivo WiFly no esté inicializado, false en el caso contrario.
bool WIFLY_Open ( char *  address,
uint32_t  port,
uint8_t  format,
const char *  remote 
)

Realiza una conexión HTTP contra un servidor dado. Se puede configurar para realizar un envío de datos automático al realizar la conexión o activo dejando la conexión abierta tras realizar la conexión para enviar los datos manualmente. Es necesario estar en modo comando.

Parámetros
addressDirección a la que nos queremos conectar.
portPuerto al que se quiere conectar.
format0 si queremos enviar los datos manualmente tras abrir la conexión o 1 en el caso de que queremos que se envíen los datos especificados en el parámetro remote tras establecer la conexión.
remoteCadena a enviar automáticamente una vez realizada la conexión en caso de que queramos enviar datos manualmente enviar en este parámetro "".
Devuelve
true en caso de que se haya realizado la conexión correctamente, false en otro caso.
uint32_t WIFLY_Ping ( char *  address)

Realiza un ping a la dirección dada. Es necesario encontrarse en modo comando.

Parámetros
addressDirección a la que realizaremos el ping.
Devuelve
Tiempo de respuesta del comando ping en milisegundos. En caso de fallo se devolverá -1.
bool WIFLY_SetTxPower ( uint8_t  value)

Cambia el valor de la potencia de transmisión. Es necesario estar en modo comando.

Parámetros
valueEl nuevo valor de potencia de transmisión.
void WIFLY_Sleep ( )

Pone el WiFly a dormir, para que consuma menos energía.

Documentación de las variables

char message[BUFSIZE]
xSemaphoreHandle mutex = NULL
volatile uint32_t UART0Count
uint32_t uartId = -1

Identificador del puerto UART usado por el WIFLY.