esp8266 - 获取与esp8266连接的客户端Mac地址

标签 esp8266 arduino-esp8266

我将 esp8266 作为接入点,以便移动设备可以连接到它。想要获取与其连接的设备的mac地址。我怎样才能得到它?

最佳答案

我得到了答案from here

它有效

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>

extern "C" {
  #include<user_interface.h>
}

/* configuration  wifi */
const char *ssid = "COblaster";

ESP8266WebServer server(80);

void handleRoot() { 
    server.send(200, "text/html", "<h1>You are connected</h1>");
    String addy = server.client().remoteIP().toString();
    Serial.println(addy);
}

void setup() {
    delay(1000);
    Serial.begin(115200);
    Serial.println();
    Serial.print("Configuring access point...");
    WiFi.softAP(ssid);
    IPAddress myIP = WiFi.softAPIP();
    Serial.print("AP IP address: ");
    Serial.println(myIP);
    server.on("/", handleRoot);
    server.begin();
    Serial.println("HTTP server started");  
}
 
void loop() {
    server.handleClient();    
    delay(5000);
    client_status();
    delay(4000);
}

void client_status() {
    unsigned char number_client;
    struct station_info *stat_info;

    struct ip_addr *IPaddress;
    IPAddress address;
    int i=1;

    number_client= wifi_softap_get_station_num();
    stat_info = wifi_softap_get_station_info();

    Serial.print(" Total connected_client are = ");
    Serial.println(number_client);

    while (stat_info != NULL) {
        IPaddress = &stat_info->ip;
        address = IPaddress->addr;

        Serial.print("client= ");

        Serial.print(i);
        Serial.print(" ip adress is = ");
        Serial.print((address));
        Serial.print(" with mac adress is = ");

        Serial.print(stat_info->bssid[0],HEX);
        Serial.print(stat_info->bssid[1],HEX);
        Serial.print(stat_info->bssid[2],HEX);
        Serial.print(stat_info->bssid[3],HEX);
        Serial.print(stat_info->bssid[4],HEX);
        Serial.print(stat_info->bssid[5],HEX);

        stat_info = STAILQ_NEXT(stat_info, next);
        i++;
        Serial.println();
    }
    delay(500);
}

关于esp8266 - 获取与esp8266连接的客户端Mac地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42593385/

相关文章:

mysql - 在 ESP8266 上使用 LUA 连接到 LAN 上的 MySQL 数据库

arduino - 使 ESP32 WiFi/蓝牙协同工作

c++ - Arduino:重写打印类问题

https - 如何使用我的 Arduino 自动获取某个网站的 SHA-1 指纹

arduino - NodeMCU (ESP8266) 连接到 MQTT 代理时出现异常 28

linux - 尝试执行给定命令,这是在 Linux 上的 Kaa 开发平台上使用 ESP8266 设备的步骤之一

c - AT 命令响应(了解 Arduino 上的代码执行顺序)

post - ESP8266 和 POST 请求

esp8266 - NodeMCU自动加入开放wifi

azure - 无法使用 MQTT 和 ESP8266 订阅 Azure 设备孪生