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.
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.
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ő:
ssid - a hálózati SSID-t tartalmazó karakterlánc (max. 32 karakter)psk - opcionális karakterlánc előre megosztott kulccsal. WPA2-PSK hálózat esetén legalább 8 karakter hosszúságúnak kell lennie, de nem lehet hosszabb 64 karakternél. Ha nincs megadva, a hozzáférési pont bárki számára nyitva áll a csatlakozásra.channel - opcionális paraméter a Wi-Fi csatorna beállításához, 1 és 13 között. Alapértelmezett csatorna = 1.hidden - opcionális paraméter, ha true-ra van állítva, elrejti az SSID-t.max_connection - opcionális paraméter az egyidejűleg csatlakoztatott állomások maximális számának beállításához, 0 és 8 között. Alapértelmezés 4. A maximális szám elérése után minden más csatlakozni kívánó állomás kénytelen megvárni, amíg egy már csatlakoztatott állomás lecsatlakozik.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 segítségével módosítható (lásd alább).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:
local_ip - A soft hozzáférési pont IP-címegateway - az átjáró IP-címesubnet - alhálózati maszkA 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 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.
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.
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.
Az alábbi funkciók megadják az ESP8266 soft-AP IP- és MAC-címét.
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
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.
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
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