ESP8266_RTOS_SDK  v1.4.0
Data Structures | Typedefs | Enumerations | Functions
Station APIs

ESP8266 station APIs. More...

Data Structures

struct  station_config
 
struct  scan_config
 
struct  bss_info
 

Typedefs

typedef void(* scan_done_cb_t) (void *arg, STATUS status)
 Callback function for wifi_station_scan. More...
 

Enumerations

enum  STATION_STATUS {
  STATION_IDLE = 0, STATION_CONNECTING, STATION_WRONG_PASSWORD, STATION_NO_AP_FOUND,
  STATION_CONNECT_FAIL, STATION_GOT_IP
}
 

Functions

bool wifi_station_get_config (struct station_config *config)
 Get the current configuration of the ESP8266 WiFi station. More...
 
bool wifi_station_get_config_default (struct station_config *config)
 Get the configuration parameters saved in the Flash of the ESP8266 WiFi station. More...
 
bool wifi_station_set_config (struct station_config *config)
 Set the configuration of the ESP8266 station and save it to the Flash. More...
 
bool wifi_station_set_config_current (struct station_config *config)
 Set the configuration of the ESP8266 station. And the configuration will not be saved to the Flash. More...
 
bool wifi_station_connect (void)
 Connect the ESP8266 WiFi station to the AP. More...
 
bool wifi_station_disconnect (void)
 Disconnect the ESP8266 WiFi station from the AP. More...
 
bool wifi_station_scan (struct scan_config *config, scan_done_cb_t cb)
 Scan all available APs. More...
 
bool wifi_station_get_auto_connect (void)
 Check if the ESP8266 station will connect to the recorded AP automatically when the power is on. More...
 
bool wifi_station_set_auto_connect (bool set)
 Set whether the ESP8266 station will connect to the recorded AP automatically when the power is on. It will do so by default. More...
 
bool wifi_station_get_reconnect_policy (void)
 Check whether the ESP8266 station will reconnect to the AP after disconnection. More...
 
bool wifi_station_set_reconnect_policy (bool set)
 Set whether the ESP8266 station will reconnect to the AP after disconnection. It will do so by default. More...
 
STATION_STATUS wifi_station_get_connect_status (void)
 Get the connection status of the ESP8266 WiFi station. More...
 
uint8 wifi_station_get_current_ap_id (void)
 Get the information of APs (5 at most) recorded by ESP8266 station. More...
 
bool wifi_station_ap_change (uint8 current_ap_id)
 Switch the ESP8266 station connection to a recorded AP. More...
 
bool wifi_station_ap_number_set (uint8 ap_number)
 Set the number of APs that can be recorded in the ESP8266 station. When the ESP8266 station is connected to an AP, the SSID and password of the AP will be recorded. More...
 
uint8 wifi_station_get_ap_info (struct station_config config[])
 Get the information of APs (5 at most) recorded by ESP8266 station. More...
 
sint8 wifi_station_get_rssi (void)
 Get rssi of the AP which ESP8266 station connected to. More...
 
bool wifi_station_dhcpc_start (void)
 Enable the ESP8266 station DHCP client. More...
 
bool wifi_station_dhcpc_stop (void)
 Disable the ESP8266 station DHCP client. More...
 
enum dhcp_status wifi_station_dhcpc_status (void)
 Get the ESP8266 station DHCP client status. More...
 
bool wifi_station_set_hostname (char *name)
 Set ESP8266 station DHCP hostname. More...
 
char * wifi_station_get_hostname (void)
 Get ESP8266 station DHCP hostname. More...
 

Detailed Description

ESP8266 station APIs.

Attention
To call APIs related to ESP8266 station has to enable station mode first (wifi_set_opmode)

Typedef Documentation

typedef void(* scan_done_cb_t) (void *arg, STATUS status)

Callback function for wifi_station_scan.

Parameters
void*arg : information of APs that are found; save them as linked list; refer to struct bss_info
STATUSstatus : status of scanning
Returns
null

Enumeration Type Documentation

Enumerator
STATION_IDLE 

ESP8266 station idle

STATION_CONNECTING 

ESP8266 station is connecting to AP

STATION_WRONG_PASSWORD 

the password is wrong

STATION_NO_AP_FOUND 

ESP8266 station can not find the target AP

STATION_CONNECT_FAIL 

ESP8266 station fail to connect to AP

STATION_GOT_IP 

ESP8266 station got IP address from AP

Function Documentation

bool wifi_station_ap_change ( uint8  current_ap_id)

Switch the ESP8266 station connection to a recorded AP.

Parameters
uint8new_ap_id : AP's record id, start counting from 0.
Returns
true : succeed
false : fail
bool wifi_station_ap_number_set ( uint8  ap_number)

Set the number of APs that can be recorded in the ESP8266 station. When the ESP8266 station is connected to an AP, the SSID and password of the AP will be recorded.

Attention
This configuration will be saved in the Flash system parameter area if changed.
Parameters
uint8ap_number : the number of APs that can be recorded (MAX: 5)
Returns
true : succeed
false : fail
bool wifi_station_connect ( void  )

Connect the ESP8266 WiFi station to the AP.

Attention
1. This API should be called when the ESP8266 station is enabled, and the system initialization is completed. Do not call this API in user_init.
2. If the ESP8266 is connected to an AP, call wifi_station_disconnect to disconnect.
Parameters
null
Returns
true : succeed
false : fail
bool wifi_station_dhcpc_start ( void  )

Enable the ESP8266 station DHCP client.

Attention
1. The DHCP is enabled by default.
2. The DHCP and the static IP API ((wifi_set_ip_info)) influence each other, and if the DHCP is enabled, the static IP will be disabled; if the static IP is enabled, the DHCP will be disabled. It depends on the latest configuration.
Parameters
null
Returns
true : succeed
false : fail
enum dhcp_status wifi_station_dhcpc_status ( void  )

Get the ESP8266 station DHCP client status.

Parameters
null
Returns
enum dhcp_status
bool wifi_station_dhcpc_stop ( void  )

Disable the ESP8266 station DHCP client.

Attention
1. The DHCP is enabled by default.
2. The DHCP and the static IP API ((wifi_set_ip_info)) influence each other, and if the DHCP is enabled, the static IP will be disabled; if the static IP is enabled, the DHCP will be disabled. It depends on the latest configuration.
Parameters
null
Returns
true : succeed
false : fail
bool wifi_station_disconnect ( void  )

Disconnect the ESP8266 WiFi station from the AP.

Attention
This API should be called when the ESP8266 station is enabled, and the system initialization is completed. Do not call this API in user_init.
Parameters
null
Returns
true : succeed
false : fail
uint8 wifi_station_get_ap_info ( struct station_config  config[])

Get the information of APs (5 at most) recorded by ESP8266 station.

Example:

 
        struct station_config config[5];
        nt i = wifi_station_get_ap_info(config);
Parameters
structstation_config config[] : information of the APs, the array size should be 5.
Returns
The number of APs recorded.
bool wifi_station_get_auto_connect ( void  )

Check if the ESP8266 station will connect to the recorded AP automatically when the power is on.

Parameters
null
Returns
true : connect to the AP automatically
false : not connect to the AP automatically
bool wifi_station_get_config ( struct station_config config)

Get the current configuration of the ESP8266 WiFi station.

Parameters
structstation_config *config : ESP8266 station configuration
Returns
true : succeed
false : fail
bool wifi_station_get_config_default ( struct station_config config)

Get the configuration parameters saved in the Flash of the ESP8266 WiFi station.

Parameters
structstation_config *config : ESP8266 station configuration
Returns
true : succeed
false : fail
STATION_STATUS wifi_station_get_connect_status ( void  )

Get the connection status of the ESP8266 WiFi station.

Parameters
null
Returns
the status of connection
uint8 wifi_station_get_current_ap_id ( void  )

Get the information of APs (5 at most) recorded by ESP8266 station.

Parameters
structstation_config config[] : information of the APs, the array size should be 5.
Returns
The number of APs recorded.
char* wifi_station_get_hostname ( void  )

Get ESP8266 station DHCP hostname.

Parameters
null
Returns
the hostname of ESP8266 station
bool wifi_station_get_reconnect_policy ( void  )

Check whether the ESP8266 station will reconnect to the AP after disconnection.

Parameters
null
Returns
true : succeed
false : fail
sint8 wifi_station_get_rssi ( void  )

Get rssi of the AP which ESP8266 station connected to.

Parameters
null
Returns
31 : fail, invalid value.
others : succeed, value of rssi. In general, rssi value < 10
bool wifi_station_scan ( struct scan_config config,
scan_done_cb_t  cb 
)

Scan all available APs.

Attention
This API should be called when the ESP8266 station is enabled, and the system initialization is completed. Do not call this API in user_init.
Parameters
structscan_config *config : configuration of scanning
structscan_done_cb_t cb : callback of scanning
Returns
true : succeed
false : fail
bool wifi_station_set_auto_connect ( bool  set)

Set whether the ESP8266 station will connect to the recorded AP automatically when the power is on. It will do so by default.

Attention
1. If this API is called in user_init, it is effective immediately after the power is on. If it is called in other places, it will be effective the next time when the power is on.
2. This configuration will be saved in Flash system parameter area if changed.
Parameters
boolset : If it will automatically connect to the AP when the power is on
  • true : it will connect automatically
  • false: it will not connect automatically
Returns
true : succeed
false : fail
bool wifi_station_set_config ( struct station_config config)

Set the configuration of the ESP8266 station and save it to the Flash.

Attention
1. This API can be called only when the ESP8266 station is enabled.
2. If wifi_station_set_config is called in user_init , there is no need to call wifi_station_connect. The ESP8266 station will automatically connect to the AP (router) after the system initialization. Otherwise, wifi_station_connect should be called.
3. Generally, station_config.bssid_set needs to be 0; and it needs to be 1 only when users need to check the MAC address of the AP.
4. This configuration will be saved in the Flash system parameter area if changed.
Parameters
structstation_config *config : ESP8266 station configuration
Returns
true : succeed
false : fail
bool wifi_station_set_config_current ( struct station_config config)

Set the configuration of the ESP8266 station. And the configuration will not be saved to the Flash.

Attention
1. This API can be called only when the ESP8266 station is enabled.
2. If wifi_station_set_config_current is called in user_init , there is no need to call wifi_station_connect. The ESP8266 station will automatically connect to the AP (router) after the system initialization. Otherwise, wifi_station_connect should be called.
3. Generally, station_config.bssid_set needs to be 0; and it needs to be 1 only when users need to check the MAC address of the AP.
Parameters
structstation_config *config : ESP8266 station configuration
Returns
true : succeed
false : fail
bool wifi_station_set_hostname ( char *  name)

Set ESP8266 station DHCP hostname.

Parameters
char*name : hostname of ESP8266 station
Returns
true : succeed
false : fail
bool wifi_station_set_reconnect_policy ( bool  set)

Set whether the ESP8266 station will reconnect to the AP after disconnection. It will do so by default.

Attention
If users want to call this API, it is suggested that users call this API in user_init.
Parameters
boolset : if it's true, it will enable reconnection; if it's false, it will disable reconnection.
Returns
true : succeed
false : fail