Version of easy-connect with the u-blox cellular platforms C027 and C030 added.

Dependents:   HelloMQTT

Embed: (wiki syntax)

« Back to documentation index

ESP8266Interface Class Reference

ESP8266Interface Class Reference

ESP8266Interface class Implementation of the NetworkStack for the ESP8266. More...

#include <ESP8266Interface.h>

Public Member Functions

 ESP8266Interface (PinName tx, PinName rx, bool debug=false)
 ESP8266Interface lifetime.
virtual int connect ()
 Start the interface.
virtual int connect (const char *ssid, const char *pass, nsapi_security_t security=NSAPI_SECURITY_NONE, uint8_t channel=0)
 Start the interface.
virtual int set_credentials (const char *ssid, const char *pass, nsapi_security_t security=NSAPI_SECURITY_NONE)
 Set the WiFi network credentials.
virtual int set_channel (uint8_t channel)
 Set the WiFi network channel - NOT SUPPORTED.
virtual int disconnect ()
 Stop the interface.
virtual const char * get_ip_address ()
 Get the internally stored IP address.
virtual const char * get_mac_address ()
 Get the internally stored MAC address.
virtual const char * get_gateway ()
 Get the local gateway.
virtual const char * get_netmask ()
 Get the local network mask.
virtual int8_t get_rssi ()
 Gets the current radio signal strength for active connection.
virtual int scan (WiFiAccessPoint *res, unsigned count)
 Scan for available networks.

Protected Member Functions

virtual int socket_open (void **handle, nsapi_protocol_t proto)
 Open a socket.
virtual int socket_close (void *handle)
 Close the socket.
virtual int socket_bind (void *handle, const SocketAddress &address)
 Bind a server socket to a specific port.
virtual int socket_listen (void *handle, int backlog)
 Start listening for incoming connections.
virtual int socket_connect (void *handle, const SocketAddress &address)
 Connects this TCP socket to the server.
virtual int socket_accept (void *handle, void **socket, SocketAddress *address)
 Accept a new connection.
virtual int socket_send (void *handle, const void *data, unsigned size)
 Send data to the remote host.
virtual int socket_recv (void *handle, void *data, unsigned size)
 Receive data from the remote host.
virtual int socket_sendto (void *handle, const SocketAddress &address, const void *data, unsigned size)
 Send a packet to a remote endpoint.
virtual int socket_recvfrom (void *handle, SocketAddress *address, void *buffer, unsigned size)
 Receive a packet from a remote endpoint.
virtual void socket_attach (void *handle, void(*callback)(void *), void *data)
 Register a callback on state change of the socket.
virtual NetworkStack * get_stack ()
 Provide access to the NetworkStack object.

Detailed Description

ESP8266Interface class Implementation of the NetworkStack for the ESP8266.

Definition at line 29 of file ESP8266Interface.h.


Constructor & Destructor Documentation

ESP8266Interface ( PinName  tx,
PinName  rx,
bool  debug = false 
)

ESP8266Interface lifetime.

Parameters:
txTX pin
rxRX pin
debugEnable debugging

Definition at line 39 of file ESP8266Interface.cpp.


Member Function Documentation

int connect (  ) [virtual]

Start the interface.

Attempts to connect to a WiFi network. Requires ssid and passphrase to be set. If passphrase is invalid, NSAPI_ERROR_AUTH_ERROR is returned.

Returns:
0 on success, negative error code on failure

Definition at line 59 of file ESP8266Interface.cpp.

int connect ( const char *  ssid,
const char *  pass,
nsapi_security_t  security = NSAPI_SECURITY_NONE,
uint8_t  channel = 0 
) [virtual]

Start the interface.

Attempts to connect to a WiFi network.

Parameters:
ssidName of the network to connect to
passSecurity passphrase to connect to the network
securityType of encryption for connection (Default: NSAPI_SECURITY_NONE)
channelThis parameter is not supported, setting it to anything else than 0 will result in NSAPI_ERROR_UNSUPPORTED
Returns:
0 on success, or error code on failure

Definition at line 48 of file ESP8266Interface.cpp.

int disconnect ( void   ) [virtual]

Stop the interface.

Returns:
0 on success, negative on failure

Definition at line 115 of file ESP8266Interface.cpp.

const char * get_gateway (  ) [virtual]

Get the local gateway.

Returns:
Null-terminated representation of the local gateway or null if no network mask has been recieved

Definition at line 136 of file ESP8266Interface.cpp.

const char * get_ip_address (  ) [virtual]

Get the internally stored IP address.

Returns:
IP address of the interface or null if not yet connected

Definition at line 126 of file ESP8266Interface.cpp.

const char * get_mac_address (  ) [virtual]

Get the internally stored MAC address.

Returns:
MAC address of the interface

Definition at line 131 of file ESP8266Interface.cpp.

const char * get_netmask (  ) [virtual]

Get the local network mask.

Returns:
Null-terminated representation of the local network mask or null if no network mask has been recieved

Definition at line 141 of file ESP8266Interface.cpp.

int8_t get_rssi (  ) [virtual]

Gets the current radio signal strength for active connection.

Returns:
Connection strength in dBm (negative value)

Definition at line 146 of file ESP8266Interface.cpp.

virtual NetworkStack* get_stack (  ) [protected, virtual]

Provide access to the NetworkStack object.

Returns:
The underlying NetworkStack object

Definition at line 253 of file ESP8266Interface.h.

int scan ( WiFiAccessPoint *  res,
unsigned  count 
) [virtual]

Scan for available networks.

This function will block.

Parameters:
apPointer to allocated array to store discovered AP
countSize of allocated res array, or 0 to only count available AP
timeoutTimeout in milliseconds; 0 for no timeout (Default: 0)
Returns:
Number of entries in , or if count was 0 number of available networks, negative on error see nsapi_error

Definition at line 151 of file ESP8266Interface.cpp.

int set_channel ( uint8_t  channel ) [virtual]

Set the WiFi network channel - NOT SUPPORTED.

This function is not supported and will return NSAPI_ERROR_UNSUPPORTED

Parameters:
channelChannel on which the connection is to be made, or 0 for any (Default: 0)
Returns:
Not supported, returns NSAPI_ERROR_UNSUPPORTED

Definition at line 109 of file ESP8266Interface.cpp.

int set_credentials ( const char *  ssid,
const char *  pass,
nsapi_security_t  security = NSAPI_SECURITY_NONE 
) [virtual]

Set the WiFi network credentials.

Parameters:
ssidName of the network to connect to
passSecurity passphrase to connect to the network
securityType of encryption for connection (defaults to NSAPI_SECURITY_NONE)
Returns:
0 on success, or error code on failure

Definition at line 96 of file ESP8266Interface.cpp.

int socket_accept ( void *  handle,
void **  socket,
SocketAddress *  address 
) [protected, virtual]

Accept a new connection.

Parameters:
handleHandle in which to store new socket
serverSocket handle to server to accept from
Returns:
0 on success, negative on failure
Note:
This call is not-blocking, if this call would block, must immediately return NSAPI_ERROR_WOULD_WAIT

Definition at line 232 of file ESP8266Interface.cpp.

void socket_attach ( void *  handle,
void(*)(void *)  callback,
void *  data 
) [protected, virtual]

Register a callback on state change of the socket.

Parameters:
handleSocket handle
callbackFunction to call on state change
dataArgument to pass to callback
Note:
Callback may be called in an interrupt context.

Definition at line 296 of file ESP8266Interface.cpp.

int socket_bind ( void *  handle,
const SocketAddress &  address 
) [protected, virtual]

Bind a server socket to a specific port.

Parameters:
handleSocket handle
addressLocal address to listen for incoming connections on
Returns:
0 on success, negative on failure.

Definition at line 208 of file ESP8266Interface.cpp.

int socket_close ( void *  handle ) [protected, virtual]

Close the socket.

Parameters:
handleSocket handle
Returns:
0 on success, negative on failure
Note:
On failure, any memory associated with the socket must still be cleaned up

Definition at line 192 of file ESP8266Interface.cpp.

int socket_connect ( void *  handle,
const SocketAddress &  address 
) [protected, virtual]

Connects this TCP socket to the server.

Parameters:
handleSocket handle
addressSocketAddress to connect to
Returns:
0 on success, negative on failure

Definition at line 218 of file ESP8266Interface.cpp.

int socket_listen ( void *  handle,
int  backlog 
) [protected, virtual]

Start listening for incoming connections.

Parameters:
handleSocket handle
backlogNumber of pending connections that can be queued up at any one time [Default: 1]
Returns:
0 on success, negative on failure

Definition at line 213 of file ESP8266Interface.cpp.

int socket_open ( void **  handle,
nsapi_protocol_t  proto 
) [protected, virtual]

Open a socket.

Parameters:
handleHandle in which to store new socket
protoType of socket to open, NSAPI_TCP or NSAPI_UDP
Returns:
0 on success, negative on failure

Definition at line 163 of file ESP8266Interface.cpp.

int socket_recv ( void *  handle,
void *  data,
unsigned  size 
) [protected, virtual]

Receive data from the remote host.

Parameters:
handleSocket handle
dataThe buffer in which to store the data received from the host
sizeThe maximum length of the buffer
Returns:
Number of received bytes on success, negative on failure
Note:
This call is not-blocking, if this call would block, must immediately return NSAPI_ERROR_WOULD_WAIT

Definition at line 249 of file ESP8266Interface.cpp.

int socket_recvfrom ( void *  handle,
SocketAddress *  address,
void *  buffer,
unsigned  size 
) [protected, virtual]

Receive a packet from a remote endpoint.

Parameters:
handleSocket handle
addressDestination for the remote SocketAddress or null
bufferThe buffer for storing the incoming packet data If a packet is too long to fit in the supplied buffer, excess bytes are discarded
sizeThe length of the buffer
Returns:
The number of received bytes on success, negative on failure
Note:
This call is not-blocking, if this call would block, must immediately return NSAPI_ERROR_WOULD_WAIT

Definition at line 285 of file ESP8266Interface.cpp.

int socket_send ( void *  handle,
const void *  data,
unsigned  size 
) [protected, virtual]

Send data to the remote host.

Parameters:
handleSocket handle
dataThe buffer to send to the host
sizeThe length of the buffer to send
Returns:
Number of written bytes on success, negative on failure
Note:
This call is not-blocking, if this call would block, must immediately return NSAPI_ERROR_WOULD_WAIT

Definition at line 237 of file ESP8266Interface.cpp.

int socket_sendto ( void *  handle,
const SocketAddress &  address,
const void *  data,
unsigned  size 
) [protected, virtual]

Send a packet to a remote endpoint.

Parameters:
handleSocket handle
addressThe remote SocketAddress
dataThe packet to be sent
sizeThe length of the packet to be sent
Returns:
The number of written bytes on success, negative on failure
Note:
This call is not-blocking, if this call would block, must immediately return NSAPI_ERROR_WOULD_WAIT

Definition at line 262 of file ESP8266Interface.cpp.