ESP 32 作为接入点和本地服务器:如何捕获 RSSI 和 MAC 地址?

ESP 32 as an Access Point and a Local server: How can I capture the RSSI and MAC address?

我正在尝试捕获已连接对等点的 RSSI 和 MAC 地址。当从连接的 ESP 32 发送请求时,我正在获取 IP。但是我从网上获取的 MAC 地址代码显示为空白,RSSI 显示为 0。如何获取这些值?

#include <WiFi.h>

String  ClientRequest;

WiFiServer server(80);

WiFiClient client;

String myresultat;

String ReadIncomingRequest(){
while(client.available()) {
ClientRequest = (client.readStringUntil('\r'));
 if ((ClientRequest.indexOf("HTTP/1.1")>0)&&(ClientRequest.indexOf("/favicon.ico")<0)){
myresultat = ClientRequest;
}
}
return myresultat;
}

void setup()
{
ClientRequest = "";

Serial.begin(9600);

WiFi.disconnect();
delay(3000);
Serial.println("START");

WiFi.softAP("TREADSAFE-TRAFFIC-CONTROL","#123459876!");



Serial.println("THE IP OF THE ACCESS POINT IS:");
Serial.println((WiFi.softAPIP()));

Serial.println("Your IP is");
Serial.println((WiFi.localIP()));
Serial.println("..........................................");
server.begin();

}


void loop()
{

 
    Serial.println("THE NUMBER OF CONNECTED STATIONS IS:");
    Serial.println((WiFi.softAPgetStationNum()));
    delay(5000);
    client = server.available();
    if (!client) { return; }
    while(!client.available()){  delay(1); }
    ClientRequest = (ReadIncomingRequest());
    client.flush();
     
    Serial.println("HTTP Request from :");
    Serial.println((client.remoteIP()));
    Serial.println((WiFi.RSSI()));
    Serial.println((WiFi.BSSIDstr()));
    Serial.println("Original Request:");
    Serial.println(ClientRequest);
    ClientRequest.remove(0, 5);
    ClientRequest.remove(ClientRequest.length()-9,9);
    Serial.println("Request after clearing:");
    Serial.println(ClientRequest);
   

}

弄明白了,从客户端实现了这段代码。

无效循环() {

Serial.println((WiFi.RSSI())); Serial.println((WiFi.macAddress()));

}