位置导航: ESP8266库 / ESP8266WiFiScan库 / 本页
说明
当ESP8266开发板使用scanNetworks或者scanNetworksAsync对所处环境的WiFi网络进行扫描后,ESP8266开发板会将扫描到的网络信息保存在内存中。
通过此函数,我们可以获取扫描到的WiFi网络信息中的网络信号强度。
语法
wiFi.RSSI(val)
参数
val:扫描到的WiFi网络信息序号(类型:uint8_t)
返回值
扫描到的WiFi网络信息中的网络信号长度(类型:int32_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 |
/********************************************************************** 项目名称/Project : 零基础入门学用物联网 程序名称/Program name : ESP8266WiFiScan_demo_2 团队/Team : 太极创客团队 / Taichi-Maker (www.taichi-maker.com) 作者/Author : xiaokai 日期/Date(YYYYMMDD) : 20200319 程序目的/Purpose : 用于演示ESP8266WiFiScan库中RSSI函数 ----------------------------------------------------------------------- 本示例程序为太极创客团队制作的《零基础入门学用物联网》中示例程序。 该教程为对物联网开发感兴趣的朋友所设计和制作。如需了解更多该教程的信息,请参考以下网页: 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); //延时1s 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(", 信号强度:"); //打印wifi信号强度 Serial.print(WiFi.RSSI(i)); Serial.println("dBm"); delay(10); } } Serial.println(""); delay(5000);// 延时5s之后再次扫描 } |
相关内容
– getNetworkInfo – 获取扫描到的WiFi网络信息(网络名称,信号强度等)
– SSID – 获取扫描到的WiFi网络名称
– encryptionType – 获取扫描到的WiFi网络加密类型
– BSSID / BSSIDstr – 获取扫描到的WiFi网络mac地址
– channel – 获取扫描到的WiFi网络信道号
– isHidden – 检查扫描到的WiFi网络是否是隐藏网络
– scanComplete – 获取异步扫描结果或状态
位置导航: ESP8266库 / ESP8266WiFiScan库 / 本页