|

楼主 |
发表于 2021-8-4 09:03
|
显示全部楼层
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百二十五: 升级版 WeMos D1 R2 WiFi UNO 开发板 基于ESP8266
项目九:扫描当前环境之中可用的 WiFi 网络并列表
实验开源代码
- /*
- 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
- 实验一百二十五: 升级版 WeMos D1 R2 WiFi UNO 开发板 基于ESP8266
- 项目九:扫描当前环境之中可用的 WiFi 网络并列表
- */
- #include <ESP8266WiFi.h>
- const int greenPin = 12;
- void setup() {
- Serial.begin(115200);
- pinMode(greenPin, OUTPUT);
- digitalWrite(greenPin, HIGH);
- delay (6000);
- digitalWrite(greenPin, LOW);
- Serial.println(F("\nESP8266 WiFi 扫描"));
- // 设置 WiFi 为站模式
- WiFi.mode(WIFI_STA);
- // 如果之前已连接,则断开与 AP 的连接
- WiFi.disconnect();
- delay(100);
- }
- void loop() {
- String ssid;
- int32_t rssi;
- uint8_t encryptionType;
- uint8_t* bssid;
- int32_t channel;
- bool hidden;
- int scanResult;
- Serial.println(F("正在开始WiFi扫描..."));
- scanResult = WiFi.scanNetworks(/*async=*/false, /*hidden=*/true);
- if (scanResult == 0) {
- Serial.println(F("未找到网络"));
- } else if (scanResult > 0) {
- Serial.printf(PSTR("%d 个网络找到:\n"), scanResult);
- // Print unsorted scan results
- for (int8_t i = 0; i < scanResult; i++) {
- WiFi.getNetworkInfo(i, ssid, encryptionType, rssi, bssid, channel, hidden);
- Serial.printf(PSTR(" %02d: [CH %02d] [%02X:%02X:%02X:%02X:%02X:%02X] %ddBm %c %c %s\n"),
- i,
- channel,
- bssid[0], bssid[1], bssid[2],
- bssid[3], bssid[4], bssid[5],
- rssi,
- (encryptionType == ENC_TYPE_NONE) ? ' ' : '*',
- hidden ? 'H' : 'V',
- ssid.c_str());
- delay(0);
- }
- } else {
- Serial.printf(PSTR("WiFi 扫描错误 %d"), scanResult);
- }
- // 在再次扫描之前稍等片刻
- delay(5000);
- Serial.println(F(""));
- }
复制代码
|
|