如何解决ESP 32 作为接入点和本地服务器:如何捕获 RSSI 和 MAC 地址?
我正在尝试捕获已连接对等方的 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()));
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。