位置导航: ESP8266库 / ESP8266WiFiScan库 / 本页
说明
当ESP8266开发板使用scanNetworks或者scanNetworksAsync对所处环境的WiFi网络进行扫描后,ESP8266开发板会将扫描到的网络信息保存在内存中。
通过此函数,我们可以获取扫描到的WiFi的网络名称、加密类型、信号强度、MAC地址、网络信道、网络是否隐藏等信息。
注:如需单独获取以上列出的WiFi信息中的某一项,可参考ESP8266WiFiScan库中信息类型的其它函数内容。
语法
wiFi.getNetworkInfo(i, ssid, encryptionType, RSSI, BSSID, channel, isHidden)
参数
getNetworkInfo函数会将WiFi网络信息存入参数中。这些参数的具体功能如下。
i:扫描到的接入点网络列表的序号(uint8_t型)
ssid:扫描到的接入点网络的网络名称(String型)
encryptionType:扫描到的接入点网络的加密类型(uint8_t型)
RSSI:扫描到的接入点网络的网络信号强度(int32_t型)
BSSID:扫描到的接入点网络的MAC地址(大小为6个元素的uint8数组指针)
channel:扫描到的接入点网络的网络通道(int32_t型)
isHidden:扫描到的接入点网络是否是隐藏网络(bool型)
返回值
如果成功获取WiFi信息,则返回true,否则返回false。
示例程序
关于本函数的具体使用方法,请参考以下代码,尤其是代码中高亮的语句部分。
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 |
/********************************************************************** 项目名称/Project : 零基础入门学用物联网 程序名称/Program name : ESP8266WiFiScan_demo_5 团队/Team : 太极创客团队 / Taichi-Maker (www.taichi-maker.com) 作者/Author : xiaokai 日期/Date(YYYYMMDD) : 20200319 程序目的/Purpose : 用于演示ESP8266WiFiScan库中encryptionType函数 ----------------------------------------------------------------------- 本示例程序为太极创客团队制作的《零基础入门学用物联网》中示例程序。 该教程为对物联网开发感兴趣的朋友所设计和制作。如需了解更多该教程的信息,请参考以下网页: 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("发现网络"); // 建立一系列变量,用于存储网络信息 String ssid; // 网络名称 uint8_t encryptionType; // 网络加密类型 int32_t RSSI; // 网络信号强度 uint8_t* BSSID; // 网络接入点设备mac地址 int32_t channel; // 网络信道 bool isHidden; // 网络是否隐藏 for (int i = 0; i < n; i++) //逐个打印扫描到的接入点信息 { //获取扫描到的接入点网络信息(网络名称,信号强度等) WiFi.getNetworkInfo(i, ssid, encryptionType, RSSI, BSSID, channel, isHidden); //打印扫描到的接入点网络信息(网络名称,信号强度等) Serial.printf("%d: %s, Ch:%d, (%ddBm) %s %s\n", i + 1, ssid.c_str(), channel, RSSI, encryptionType == ENC_TYPE_NONE ? "开放" : "加密", isHidden ? "隐藏" : "显示"); } Serial.println(""); delay(5000);// 延时5s之后再次扫描 } } |
相关内容
– SSID – 获取扫描到的WiFi网络名称
– RSSI – 获取扫描到的WiFi网络信号强度
– encryptionType – 获取扫描到的WiFi网络加密类型
– BSSID / BSSIDstr – 获取扫描到的WiFi网络mac地址
– channel – 获取扫描到的WiFi网络信道号
– isHidden – 检查扫描到的WiFi网络是否是隐藏网络
– scanComplete – 获取异步扫描结果或状态
位置导航: ESP8266库 / ESP8266WiFiScan库 / 本页