WiFi Station

group wifi_sta

Control and monitoring of WiFi station interface.

Note
The WiFi station interface provides client access to a WiFi network. Control of WiFi connection including WiFi SSID and password and IP address, DHCP, etc.
See
WiFi Access Point
See
WiFi Events Interface

Typedefs

typedef Delegate<void(bool success, BssList &list)> ScanCompletedDelegate

Scan complete handler function.

typedef Delegate<bool(SmartConfigEvent event, const SmartConfigEventInfo &info)> SmartConfigDelegate

Smart configuration handler function.

Parameters
  • event:
  • info:
Return Value
  • bool: return true to perform default configuration

typedef Delegate<bool(WpsStatus status)> WPSConfigDelegate

WPS configuration callback function.

Parameters
  • status:
Return Value
  • bool: return true to perform default configuration

Enums

enum StationConnectionStatus

WiFi station connection states.

Values:

eSCS_Idle

Connection idle.

eSCS_Connecting

Connecting.

eSCS_WrongPassword

Wrong password.

eSCS_AccessPointNotFound

AP not found.

eSCS_ConnectionFailed

Connection failed.

eSCS_GotIP

Got IP address.

enum SmartConfigType

Smart configuration type.

Values:

SCT_None = -1
SCT_EspTouch

ESP Touch.

SCT_AirKiss

Air Kiss.

SCT_EspTouch_AirKiss

ESP Touch and Air Kiss.

enum SmartConfigEvent

Smart configuration event.

Values:

SCE_Wait

Wait.

SCE_FindChannel

Find channel.

SCE_GettingSsid

Getting SSID & password.

SCE_Link

Link established.

SCE_LinkOver

Link-over.

enum WpsStatus

WiFi WPS callback status.

Values:

eWPS_Success = 0
eWPS_Failed
eWPS_Timeout
eWPS_WEP

Variables

StationClass &WifiStation

Global instance of WiFi station object.

Note
Use WifiStation.function to access WiFi station functions
Note
Example:
if(WifiStation.config("My_WiFi", "My_Password"))
           WifiStation.enable(true);

struct SmartConfigEventInfo
#include <Station.h>

Smart Config callback information.

Public Members

SmartConfigType type = SCT_None

Type of configuration underway.

String ssid

AP SSID.

String password

AP Password.

bool bssidSet = false

true if connection should match both SSID and BSSID

MacAddress bssid

AP BSSID.

class StationClass
#include <Station.h>

WiFi station class.

Public Functions

virtual ~StationClass()
virtual void enable(bool enabled, bool save = false) = 0

Enable / disable WiFi station.

Note
Disabling WiFi station will also disable and clear the handler set with waitConnection.
Parameters
  • enabled: True to enable station. False to disable.
  • save: True to save operational mode to flash, False to set current operational mode only

virtual bool isEnabled() const = 0

Get WiFi station enable status.

Return Value
  • bool: True if WiFi station enabled

virtual bool config(const String &ssid, const String &password, bool autoConnectOnStartup = true, bool save = true) = 0

Configure WiFi station.

Parameters
  • ssid: WiFi SSID
  • password: WiFi password
  • autoConnectOnStartup: True to auto connect. False for manual. (Default: True)
  • save: True to save the SSID and password in Flash. False otherwise. (Default: True)

virtual bool connect() = 0

Connect WiFi station to network.

virtual bool disconnect() = 0

Disconnect WiFi station from network.

bool isConnected() const

Get WiFi station connectoin status.

Return Value
  • bool: True if connected.

bool isConnectionFailed() const

Get WiFi station connection failure status.

Return Value
  • bool: True if connection failed

virtual StationConnectionStatus getConnectionStatus() const = 0

Get WiFi station connection status.

Return Value
  • StationConnectionStatus: Connection status structure

String getConnectionStatusName() const

Get WiFi station connection status name.

Return Value

virtual bool isEnabledDHCP() const = 0

Get WiFi station DHCP enabled status.

Return Value
  • bool: True if DHCP enabled

virtual void enableDHCP(bool enable) = 0

Enable or disable WiFi station DHCP.

Parameters
  • enable: True to enable WiFi station DHCP

virtual void setHostname(const String &hostname) = 0

Set WiFi station DHCP hostname.

Parameters
  • hostname: - WiFi station DHCP hostname

virtual String getHostname() const = 0

Set WiFi station DHCP hostname.

Return Value
  • WiFi: station DHCP hostname

virtual IpAddress getIP() const = 0

Get WiFi station IP address.

Return Value
  • IpAddress: IP address of WiFi station

virtual MacAddress getMacAddress() const = 0

Get WiFi station MAC address.

Return Value
  • MacAddress:

String getMAC(char sep = '0') const

Get WiFi station MAC address.

Parameters
  • sep: Optional separator between bytes (e.g. ‘:’)
Return Value
  • String: WiFi station MAC address

virtual IpAddress getNetworkMask() const = 0

Get WiFi station network mask.

Return Value
  • IpAddress: WiFi station network mask

virtual IpAddress getNetworkGateway() const = 0

Get WiFi station default gateway.

Return Value
  • IpAddress: WiFi station default gateway

virtual IpAddress getNetworkBroadcast() const = 0

GetWiFi station broadcast address.

Return Value
  • IpAddress: WiFi station broadcast address

bool setIP(IpAddress address)

Set WiFi station IP address.

Parameters
  • address: IP address
Return Value
  • bool: True on success

virtual bool setIP(IpAddress address, IpAddress netmask, IpAddress gateway) = 0

Set WiFi station IP parameters.

Parameters
  • address: IP address
  • netmask: Network mask
  • gateway: Default gatway
Return Value
  • bool: True on success

virtual String getSSID() const = 0

Get WiFi station SSID.

Return Value

virtual String getPassword() const = 0

Get WiFi station password.

Return Value
  • String: WiFi station password

virtual int8_t getRssi() const = 0

Get WiFi signal strength.

Return Value
  • int8_t: Value in dBm

virtual uint8_t getChannel() const = 0

Get active WiFi channel.

Return Value
  • uint8_t: channel number

virtual bool startScan(ScanCompletedDelegate scanCompleted) = 0

Start WiFi station network scan.

Parameters
  • scanCompleted: Function to call when scan completes
Return Value
  • bool: True on success