位置导航: ESP8266库 / ESP8266WiFiScan库 / 本页
说明
该函数可以扫描到ESP8266开发板所在环境中的可用WIFI网络,并且将WiFi网络信息保存到内存中。通过调用SSID、RSSI等函数,我们还可以得到这些扫描到的WIFI的更多信息。
此函数在扫描WiFi网络时采用同步扫描模式。与其相对应的还有scanNetworksAsync异步扫描WiFi。
所谓同步扫描就是每一次调用本函数时,ESP8266开发板会一次性得到完整的WiFi列表,并且将WiFi列表保存在内存中。
语法
WiFi.scanNetworks()
参数
无
返回值
返回值为扫描到可用的网络数量,数据类型为int8_t型。
示例程序
关于本函数的具体使用方法,请参考以下代码,尤其是代码中高亮的语句部分。
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 |
/********************************************************************** 项目名称/Project : 零基础入门学用物联网 程序名称/Program name : ESP8266WiFiScan_demo_1 团队/Team : 太极创客团队 / Taichi-Maker (www.taichi-maker.com) 作者/Author : xiaokai 日期/Date(YYYYMMDD) : 20200319 程序目的/Purpose : 用于演示ESP8266WiFiScan库中scanNetworks函数 ----------------------------------------------------------------------- 本示例程序为太极创客团队制作的《零基础入门学用物联网》中示例程序。 该教程为对物联网开发感兴趣的朋友所设计和制作。如需了解更多该教程的信息,请参考以下网页: 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(1000); //延时 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(String(", WIFI信道:")+WiFi.channel(i)); Serial.print(", 是否隐藏:"); //打印该接入点是否隐藏 Serial.print(WiFi.isHidden(i)?"隐藏":"显示"); Serial.print(", 信号强度:"); //打印wifi信号强度 Serial.print(WiFi.RSSI(i)); Serial.print("dBm"); Serial.print(", 是否加密:"); //打印wifi加密方式 Serial.println((WiFi.encryptionType(i) == ENC_TYPE_NONE)?"开放":"加密"); delay(10); } } Serial.println(""); delay(5000);// 延时5s之后再次扫描 } |
相关内容
– scanDelete
– scanNetworksAsync
位置导航: ESP8266库 / ESP8266WiFiScan库 / 本页