6.4 KiB
- orphan
Soft Access Point Class
Section below is ESP8266 specific as Arduino WiFi library documentation does not cover soft access point. The API description is broken down into three short chapters. They cover how to setup soft-AP, manage connection, and obtain information on soft-AP interface configuration.
Table of Contents
Set up Network
This section describes functions to set up and configure ESP8266 in the soft access point (soft-AP) mode.
softAP
Set up a soft access point to establish a Wi-Fi network.
The simplest version (an overload in C++ terms) of this function requires only one parameter and is used to set up an open Wi-Fi network.
.softAP(ssid) WiFi
To set up password protected network, or to configure additional network parameters, use the following overload:
.softAP(ssid, password, channel, hidden) WiFi
The first parameter of this function is required, remaining three are optional.
Meaning of all parameters is as follows: - ssid
-
character string containing network SSID (max. 63 characters) *
password
- optional character string with a password. For
WPA2-PSK network it should be at least 8 character long. If not
specified, the access point will be open for anybody to connect. *
channel
- optional parameter to set Wi-Fi channel, from 1
to 13. Default channel = 1. * hidden
- optional parameter,
if set to true
will hide SSID
Function will return true
or false
depending on result of setting the soft-AP.
Notes: * The network established by softAP will have default IP
address of 192.168.4.1. This address may be changed using
softAPConfig
(see below). * Even though ESP8266 can operate
in soft-AP + station mode, it actually has only one hardware channel.
Therefore in soft-AP + station mode, the soft-AP channel will default to
the number used by station. For more information how this may affect
operation of stations connected to ESP8266's soft-AP, please check this FAQ
entry on Espressif forum.
softAPConfig
Configure the soft access point's network interface.
(local_ip, gateway, subnet) softAPConfig
IPAddress
and defined as follows: * local_ip
-
IP address of the soft access point * gateway
- gateway IP
address*
subnet
- subnet maskFunction will return true
or false
depending on result of changing the configuration.
Example code:
#include <ESP8266WiFi.h>
(192,168,4,22);
IPAddress local_IP(192,168,4,9);
IPAddress gateway(255,255,255,0);
IPAddress subnet
void setup()
{
.begin(115200);
Serial.println();
Serial
.print("Setting soft-AP configuration ... ");
Serial.println(WiFi.softAPConfig(local_IP, gateway, subnet) ? "Ready" : "Failed!");
Serial
.print("Setting soft-AP ... ");
Serial.println(WiFi.softAP("ESPsoftAP_01") ? "Ready" : "Failed!");
Serial
.print("Soft-AP IP address = ");
Serial.println(WiFi.softAPIP());
Serial}
void loop() {}
Example output:
Setting soft-AP configuration ... Ready
Setting soft-AP ... Ready
Soft-AP IP address = 192.168.4.22
Manage Network
Once soft-AP is established you may check the number of stations connected, or shut it down, using the following functions.
softAPgetStationNum
Get the count of the stations that are connected to the soft-AP interface.
.softAPgetStationNum() WiFi
Example code:
.printf("Stations connected to soft-AP = %d\n", WiFi.softAPgetStationNum()); Serial
Example output:
Stations connected to soft-AP = 2
Note: the maximum number of stations that may be connected to ESP8266 soft-AP is five.
softAPdisconnect
Disconnect stations from the network established by the soft-AP.
.softAPdisconnect(wifioff) WiFi
Function will set currently configured SSID and password of the
soft-AP to null values. The parameter wifioff
is optional.
If set to true
it will switch the soft-AP mode off.
Function will return true
if operation was successful or
false
if otherwise.
Network Configuration
Functions below provide IP and MAC address of ESP8266's soft-AP.
softAPIP
Return IP address of the soft access point's network interface.
.softAPIP() WiFi
Returned value is of IPAddress
type.
Example code:
.print("Soft-AP IP address = ");
Serial.println(WiFi.softAPIP()); Serial
Example output:
Soft-AP IP address = 192.168.4.1
softAPmacAddress
Return MAC address of soft access point. This function comes in two
versions, which differ in type of returned values. First returns a
pointer, the second a String
.
Pointer to MAC
.softAPmacAddress(mac) WiFi
Function accepts one parameter mac
that is a pointer to
memory location (an uint8_t
array the size of 6 elements)
to save the mac address. The same pointer value is returned by the
function itself.
Example code:
uint8_t macAddr[6];
.softAPmacAddress(macAddr);
WiFi.printf("MAC address = %02x:%02x:%02x:%02x:%02x:%02x\n", macAddr[0], macAddr[1], macAddr[2], macAddr[3], macAddr[4], macAddr[5]); Serial
Example output:
MAC address = 5e:cf:7f:8b:10:13
MAC as a String
Optionally you can use function without any parameters that returns a
String
type value.
.softAPmacAddress() WiFi
Example code:
.printf("MAC address = %s\n", WiFi.softAPmacAddress().c_str()); Serial
Example output:
MAC address = 5E:CF:7F:8B:10:13
For code samples please refer to separate section with examples <soft-access-point-examples>
dedicated
specifically to the Soft Access Point Class.