Soft hozzáférési pont (Soft Access Point) osztály

Az alábbi szakasz az ESP8266-ra vonatkozik, mivel az Arduino WiFi könyvtár dokumentációja nem fedi le a soft hozzáférési pontokat. Az API leírása három rövid fejezetre oszlik. Leírják, hogyan kell beállítani a soft-AP-t, kezelni a kapcsolatot, és információkat szerezni a soft-AP interfész konfigurációjáról.


Tartalomjegyzék


A hálózat beállítása

Ez a szakasz az ESP8266 soft hozzáférési pont (soft-AP) módban történő beállításához és konfigurálásához szükséges funkciókat írja le.


softAP

Egy soft hozzáférési pont beállítása a Wi-Fi hálózat létrehozásához.

Ennek a funkciónak a legegyszerűbb verziója (C++-ban többarcúság) csak egy paramétert igényel, és nyílt Wi-Fi hálózat beállítására szolgál.


WiFi.softAP(ssid)

Az előre megosztott kulcsú védett hálózat beállításához vagy további hálózati paraméterek konfigurálásához használja a következő többarcúságot:


WiFi.softAP(ssid, psk, channel, hidden, max_connection)

Ennek a funkciónak az első paramétere kötelező, a többi négy opcionális.

Az összes paraméter jelentése a következő:

A függvény a soft-AP beállításának eredményétől függően true vagy fakse értéket ad vissza.

Megjegyzések:


softAPConfig

Konfigurálja a soft hozzáférési pont hálózati interfészét.


softAPConfig (local_ip, gateway, subnet)

Minden paraméter típusa IPAddress, és a következő a meghatározásuk:

A függvény true vagy fakse értéket ad vissza a konfiguráció módosításának eredményétől függően.

Példakód:


#include <ESP8266WiFi.h>

IPAddress local_IP(192,168,4,22);
IPAddress gateway(192,168,4,9);
IPAddress subnet(255,255,255,0);

void setup()
{
  Serial.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());
}

void loop() {}

A példa kimenete:


Setting soft-AP configuration ... Ready
Setting soft-AP ... Ready
Soft-AP IP address = 192.168.4.22


A hálózat kezelése

A soft-AP létrehozása után a következő funkciók segítségével ellenőrizheti a csatlakoztatott állomások számát, vagy leállíthatja azt.


softAPgetStationNum

Beszerezi a soft-AP interfészhez csatlakoztatott állomások számát.


WiFi.softAPgetStationNum()

Példakód:


Serial.printf("Stations connected to soft-AP = %d\n", WiFi.softAPgetStationNum());

A példa kimenete:


Stations connected to soft-AP = 2

Megjegyzés: az ESP8266 soft-AP-hez csatlakoztatható állomások maximális száma alapértelmezés szerint 4. Ez 0-tól 8-ig módosítható a softAP metódus max_connection argumentumával.


softAPdisconnect

Válassza le az állomásokat a soft-AP által létrehozott hálózatról.


WiFi.softAPdisconnect(wifioff)

A funkció a jelenleg konfigurált SSID-t és a soft-AP előre megosztott kulcsát null értékre állítja. A wifioff paraméter nem kötelező. Ha true-ra van állítva, akkor a soft-AP mód kikapcsol.

A függvény true-t ad vissza, ha a művelet sikeres volt, vagy false értéket, ha nem.


Hálózati konfiguráció

Az alábbi funkciók megadják az ESP8266 soft-AP IP- és MAC-címét.


softAPIP

Visszaadja a soft hozzáférési pont hálózati interfészének IP-címét.


WiFi.softAPIP()

A visszaadott érték IPAddress típusú.

Példakód:


Serial.print("Soft-AP IP address = ");
Serial.println(WiFi.softAPIP());

A példa kimenete:


Soft-AP IP address = 192.168.4.1


softAPmacAddress

A soft hozzáférési pont MAC-címét adja vissza. Ennek a függvénynek két változata van, amelyek a visszaadott értékek típusában különböznek. Az első egy mutatót, a második egy Stringet ad vissza.

Mutató a MAC-hoz


WiFi.softAPmacAddress(mac)

A függvény egy mac paramétert fogad el, amely egy memóriahelyre mutató pointer (6 elemből álló uint8_t tömb) a mac-cím mentéséhez. Ugyanezt a mutatóértéket adja vissza maga a függvény.

Példakód:


uint8_t macAddr[6];
WiFi.softAPmacAddress(macAddr);
Serial.printf("MAC address = %02x:%02x:%02x:%02x:%02x:%02x\n", macAddr[0], macAddr[1], macAddr[2],
  macAddr[3], macAddr[4], macAddr[5]);

A példa kimenete:


MAC address = 5e:cf:7f:8b:10:13

MAC mint karakterlánc

Opcionálisan használhatja a függvényt paraméterek nélkül, amely String típusú értéket ad vissza.


WiFi.softAPmacAddress()

Példakód:


Serial.printf("MAC address = %s\n", WiFi.softAPmacAddress().c_str());

A példa kimenete:


MAC address = 5E:CF:7F:8B:10:13


A kódmintákért kérjük, olvassa el a külön fejezetet, amely kifejezetten a Soft Access Point osztályra vonatkozó példákat tartalmaz.


© Copyright 2017, Ivan Grokhotkov Revision 02c1a502. Fordította: Maczák András