要获取当前已经连接的AP的BSSID,而不需要使用wifi_station_scan(),您可以尝试以下方法:
1. 使用ESP8266或ESP32的AT指令:
对于ESP8266,您可以使用`AT+CIFSR`指令。这将返回当前连接的AP的SSID和BSSID。对于ESP32,您可以使用`AT+CWQAP`指令,然后通过`AT+CWJAP_CUR`获取当前连接的AP信息。
2. 使用ESP-IDF或Arduino-ESP32库:
如果您使用的是ESP-IDF或Arduino-ESP32库,您可以使用以下方法获取当前连接的AP的BSSID:
对于ESP-IDF:
```c
#include "esp_wifi.h"
void get_connected_ap_bssid() {
wifi_ap_record_t ap_info;
esp_wifi_sta_get_ap_info(&ap_info);
printf("Connected AP BSSID: " MACSTR "n", MAC2STR(ap_info.bssid));
}
```
对于Arduino-ESP32:
```cpp
#include "WiFi.h"
void get_connected_ap_bssid() {
uint8_t bssid[6];
WiFi.BSSID(bssid);
Serial.print("Connected AP BSSID: ");
for (int i = 0; i < 6; ++i) {
Serial.print(bssid[i], HEX);
if (i < 5) Serial.print(":");
}
Serial.println();
}
```
这些方法不会影响当前的网络连接,因为它们只是查询当前连接的AP信息,而不会尝试扫描其他AP。
要获取当前已经连接的AP的BSSID,而不需要使用wifi_station_scan(),您可以尝试以下方法:
1. 使用ESP8266或ESP32的AT指令:
对于ESP8266,您可以使用`AT+CIFSR`指令。这将返回当前连接的AP的SSID和BSSID。对于ESP32,您可以使用`AT+CWQAP`指令,然后通过`AT+CWJAP_CUR`获取当前连接的AP信息。
2. 使用ESP-IDF或Arduino-ESP32库:
如果您使用的是ESP-IDF或Arduino-ESP32库,您可以使用以下方法获取当前连接的AP的BSSID:
对于ESP-IDF:
```c
#include "esp_wifi.h"
void get_connected_ap_bssid() {
wifi_ap_record_t ap_info;
esp_wifi_sta_get_ap_info(&ap_info);
printf("Connected AP BSSID: " MACSTR "n", MAC2STR(ap_info.bssid));
}
```
对于Arduino-ESP32:
```cpp
#include "WiFi.h"
void get_connected_ap_bssid() {
uint8_t bssid[6];
WiFi.BSSID(bssid);
Serial.print("Connected AP BSSID: ");
for (int i = 0; i < 6; ++i) {
Serial.print(bssid[i], HEX);
if (i < 5) Serial.print(":");
}
Serial.println();
}
```
这些方法不会影响当前的网络连接,因为它们只是查询当前连接的AP信息,而不会尝试扫描其他AP。
举报