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 String
et 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