位置导航: ESP8266库 / ESP8266WiFiAP库 / 本页
说明
ESP8266开发板建立WiFi接入点后, 我们可以使用本函数获取ESP8266开发板的mac地址。
语法
WiFi.softAPmacAddress()
WiFi.softAPmacAddress(macAddr)
参数 / 返回值
a.如以下语句所示,如果不输入参数,函数的返回值为ESP8266开发板的mac地址(String类型)。
1 |
Serial.printf("MAC地址为 %s\n", WiFi.softAPmacAddress().c_str()); |
b.如果输入参数macAddr。那么ESP8266开发板的mac地址将会存储在macAddr中。macAddr必须是一个uint8_t类型的数组,且该数组含有6个元素。如下简例所示:
1 2 3 |
uint8_t macAddr[6]; WiFi.softAPmacAddress(macAddr); Serial.printf("MAC地址为 %02x:%02x:%02x:%02x:%02x:%02x\n", macAddr[0], macAddr[1], macAddr[2], macAddr[3], macAddr[4], macAddr[5]); |
示例程序
关于本函数的具体使用方法,请参考以下代码,尤其是代码中高亮的语句部分。
当您将以下示例程序上传给ESP8266开发板后,ESP8266将会建立一个WiFi网络。网络名称(SSID)为”TaichiMaker_WIFI”,网络密码为”12345678″ 。在开发板成功建立WiFi网络后,您将通过串口监视器看到ESP8266模块的mac地址。在以下示例程序中,我们使用了两种macAddress函数调用方式来获取设备的IP地址。第一种是有参数的第二种是无参数的。这两种方式所获得的mac地址格式不同。有参数调用时,mac地址保存在数组macAddr中。无参数调用时,mac地址将以字符串形式返回。
如您需要了解以下示例程序的联网操作方法,请参考ESP8266WiFiAP库-softAP函数介绍页面中的示例程序操作介绍内容。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
/********************************************************************** 项目名称/Project : 零基础入门学用物联网 程序名称/Program name : softAPIP获取接入点MAC地址 团队/Team : 太极创客团队 / Taichi-Maker (www.taichi-maker.com) 作者/Author : 小黑 日期/Date(YYYYMMDD) : 20200319 程序目的/Purpose : 演示softAPIP()函数的用法,获取接入点的MAC地址 ----------------------------------------------------------------------- 本示例程序为太极创客团队制作的《零基础入门学用物联网》中示例程序。 该教程为对物联网开发感兴趣的朋友所设计和制作。如需了解更多该教程的信息,请参考以下网页: http://www.taichi-maker.com/homepage/esp8266-nodemcu-iot/iot-c/esp8266-nodemcu-web-client/http-request/ ***********************************************************************/ #include <ESP8266WiFi.h> #define AP_ssid "TaichiMaker_WIFI" //这里改成你的设备当前环境下接入点名字 #define password "12345678" //这里改成你的设备当前环境下接入点密码 bool flag; uint8_t macAddr[6]; // 存储设备mac地址的数组 void setup() { // 启动串口通讯 Serial.begin(9600); Serial.println(); //设置为接入点模式 WiFi.mode(WIFI_AP); //启动AP,并设置账号和密码 Serial.printf("设置接入点中 ... "); //启动校验式网络(需要输入账号密码的网络) WiFi.softAP(AP_ssid, password); //监控状态变量result flag = WiFi.softAP(AP_ssid, password); if (flag) { Serial.println(""); // 通过串口监视器输出信息 Serial.print("当前工作模式:"); // 告知用户设备当前工作模式 Serial.println(WiFi.getMode()); Serial.print("接入点名字:"); Serial.println(AP_ssid); // 告知用户建立的接入点WiFi名 Serial.print("接入点密码:"); Serial.println(password); // 告知用户建立的接入点WiFi密码 Serial.println("接入点模式成功开启"); //不输入参数获取MAC地址 Serial.printf("MAC地址为 %s\n", WiFi.softAPmacAddress().c_str()); //输入参数获取MAC地址 WiFi.softAPmacAddress(macAddr); Serial.printf("MAC地址为 %02x:%02x:%02x:%02x:%02x:%02x\n", macAddr[0], macAddr[1], macAddr[2], macAddr[3], macAddr[4], macAddr[5]); } else { //若没有开启成功 Serial.println("开启失败"); } Serial.println("初始化结束"); } void loop() {} |
相关内容
– softAPSSID
– softAPPSK
– softAPgetStationNum
位置导航: ESP8266库 / ESP8266WiFiAP库 / 本页