位置导航: ESP8266库 / ESP8266WiFiScan库 / 本页
说明
当ESP8266开发板使用scanNetworks或者scanNetworksAsync对所处环境的WiFi网络进行扫描后,ESP8266开发板会将扫描到的网络信息保存在内存中。
通过BSSID函数和BSSIDstr函数,我们可以获取扫描到的WiFi网络接入点设备的mac地址。虽然这两个函数功能相同,但是它们的返回值类型是不同的。
BSSIDstr函数以字符串形式将WiFi接入点设备mac地址返回。
BSSID函数的返回值是存储WiFi接入点设备mac地址信息的内存位置,即一个大小为6个元素的uint8数组指针。
语法
WiFi.BSSID(val)
WiFi.BSSIDstr(val)
参数
val:扫描到的WiFi网络信息序号(类型:uint8_t )
返回值
BSSIDstr函数以字符串形式将WiFi接入点设备mac地址返回。
BSSID函数的返回值是存储WiFi接入点设备mac地址信息的内存位置,即一个大小为6个元素的uint8数组指针。
示例程序
BSSID函数示例
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 |
/********************************************************************** 项目名称/Project : 零基础入门学用物联网 程序名称/Program name : ESP8266WiFiScan_demo_4 团队/Team : 太极创客团队 / Taichi-Maker (www.taichi-maker.com) 作者/Author : xiaokai 日期/Date(YYYYMMDD) : 20200319 程序目的/Purpose : 用于演示ESP8266WiFiScan库中BSSID函数 ----------------------------------------------------------------------- 本示例程序为太极创客团队制作的《零基础入门学用物联网》中示例程序。 该教程为对物联网开发感兴趣的朋友所设计和制作。如需了解更多该教程的信息,请参考以下网页: http://www.taichi-maker.com/homepage/esp8266-nodemcu-iot/iot-c/esp8266-nodemcu-web-client/http-request/ ***********************************************************************/ #include <ESP8266WiFi.h> void setup() { Serial.begin(115200); //设置串口波特率,以便打印信息 delay(5000); //延时5s WiFi.mode(WIFI_STA); //设置为无线终端模式 WiFi.disconnect(); //断开,不连接到任何一个接入点 delay(100); Serial.println("STA建立完成"); } void loop() { Serial.println("同步扫描开始"); int n = WiFi.scanNetworks(); //开始同步扫描,将返回值 Serial.println("同步扫描结束"); //存放在变量n中 if (n == 0){ Serial.println("找不到网络"); }else{ Serial.println("发现网络"); for (int i = 0; i < n; ++i){ //开始逐个打印扫描到的 Serial.print(i + 1); //接入点信息 Serial.print(": "); //打印wifi账号 Serial.print(WiFi.SSID(i)); Serial.print(", mac地址:"); Serial.printf("%p",WiFi.BSSID(i));//BSSID返回网络的MAC地址。 Serial.println(""); } } Serial.println(""); delay(5000);//延时5s之后再次扫描 } |
BSSIDstr
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 |
/********************************************************************** 项目名称/Project : 零基础入门学用物联网 程序名称/Program name : ESP8266WiFiScan_demo_4 团队/Team : 太极创客团队 / Taichi-Maker (www.taichi-maker.com) 作者/Author : xiaokai 日期/Date(YYYYMMDD) : 20200319 程序目的/Purpose : 用于演示ESP8266WiFiScan库中BSSIDstr函数 ----------------------------------------------------------------------- 本示例程序为太极创客团队制作的《零基础入门学用物联网》中示例程序。 该教程为对物联网开发感兴趣的朋友所设计和制作。如需了解更多该教程的信息,请参考以下网页: http://www.taichi-maker.com/homepage/esp8266-nodemcu-iot/iot-c/esp8266-nodemcu-web-client/http-request/ ***********************************************************************/ #include <ESP8266WiFi.h> void setup() { Serial.begin(115200); //设置串口波特率,以便打印信息 delay(5000); //延时5s WiFi.mode(WIFI_STA); //设置为无线终端模式 WiFi.disconnect(); //断开,不连接到任何一个接入点 delay(100); Serial.println("STA建立完成"); } void loop() { Serial.println("同步扫描开始"); int n = WiFi.scanNetworks(); //开始同步扫描,将返回值 Serial.println("同步扫描结束"); //存放在变量n中 if (n == 0){ Serial.println("找不到网络"); }else{ Serial.println("发现网络"); for (int i = 0; i < n; ++i){ //开始逐个打印扫描到的 Serial.print(i + 1); //接入点信息 Serial.print(": "); //打印wifi账号 Serial.print(WiFi.SSID(i)); Serial.print(", mac为:"); Serial.println(WiFi.BSSIDstr(i));//BSSIDstr返回网络的MAC地址的字符串。 } } Serial.println(""); delay(5000);//延时5s之后再次扫描 } |
相关内容
– getNetworkInfo – 获取扫描到的WiFi网络信息(网络名称,信号强度等)
– SSID – 获取扫描到的WiFi网络名称
– RSSI – 获取扫描到的WiFi网络信号强度
– encryptionType – 获取扫描到的WiFi网络加密类型
– channel – 获取扫描到的WiFi网络信道号
– isHidden – 检查扫描到的WiFi网络是否是隐藏网络
– scanComplete – 获取异步扫描结果或状态
位置导航: ESP8266库 / ESP8266WiFiScan库 / 本页