Arduino爱好者

 找回密码
 立即注册

QQ登录

只需一步,快速开始

楼主: eagler8

[经验] 【Arduino】168种传感器模块系列实验(125)---WeMos D1开发板

[复制链接]
 楼主| 发表于 2021-8-4 09:03 | 显示全部楼层
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百二十五: 升级版 WeMos D1 R2 WiFi UNO 开发板 基于ESP8266
  项目九:扫描当前环境之中可用的 WiFi 网络并列表
  实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验一百二十五: 升级版 WeMos D1 R2 WiFi UNO 开发板 基于ESP8266
  4.   项目九:扫描当前环境之中可用的 WiFi 网络并列表
  5. */

  6. #include <ESP8266WiFi.h>

  7. const int greenPin = 12;

  8. void setup() {
  9.   Serial.begin(115200);
  10.   pinMode(greenPin, OUTPUT);
  11.   digitalWrite(greenPin, HIGH);
  12.   delay (6000);
  13.   digitalWrite(greenPin, LOW);
  14.   Serial.println(F("\nESP8266 WiFi 扫描"));

  15.   // 设置 WiFi 为站模式
  16.   WiFi.mode(WIFI_STA);

  17.   // 如果之前已连接,则断开与 AP 的连接
  18.   WiFi.disconnect();
  19.   delay(100);
  20. }

  21. void loop() {
  22.   String ssid;
  23.   int32_t rssi;
  24.   uint8_t encryptionType;
  25.   uint8_t* bssid;
  26.   int32_t channel;
  27.   bool hidden;
  28.   int scanResult;

  29.   Serial.println(F("正在开始WiFi扫描..."));

  30.   scanResult = WiFi.scanNetworks(/*async=*/false, /*hidden=*/true);

  31.   if (scanResult == 0) {
  32.     Serial.println(F("未找到网络"));
  33.   } else if (scanResult > 0) {
  34.     Serial.printf(PSTR("%d 个网络找到:\n"), scanResult);

  35.     // Print unsorted scan results
  36.     for (int8_t i = 0; i < scanResult; i++) {
  37.       WiFi.getNetworkInfo(i, ssid, encryptionType, rssi, bssid, channel, hidden);

  38.       Serial.printf(PSTR("  %02d: [CH %02d] [%02X:%02X:%02X:%02X:%02X:%02X] %ddBm %c %c %s\n"),
  39.                     i,
  40.                     channel,
  41.                     bssid[0], bssid[1], bssid[2],
  42.                     bssid[3], bssid[4], bssid[5],
  43.                     rssi,
  44.                     (encryptionType == ENC_TYPE_NONE) ? ' ' : '*',
  45.                     hidden ? 'H' : 'V',
  46.                     ssid.c_str());
  47.       delay(0);
  48.     }
  49.   } else {
  50.     Serial.printf(PSTR("WiFi 扫描错误 %d"), scanResult);
  51.   }

  52.   // 在再次扫描之前稍等片刻
  53.   delay(5000);
  54.   Serial.println(F(""));
  55. }
复制代码



 楼主| 发表于 2021-8-4 09:05 | 显示全部楼层
实验串口返回情况

18.jpg
 楼主| 发表于 2021-8-4 09:36 | 显示全部楼层
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百二十五: 升级版 WeMos D1 R2 WiFi UNO 开发板 基于ESP8266
  项目十:Station模式下的操作实例,查询当前WiFi的IP地址

  实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验一百二十五: 升级版 WeMos D1 R2 WiFi UNO 开发板 基于ESP8266
  4.   项目十:Station模式下的操作实例,查询当前WiFi的IP地址
  5. */

  6. #include <ESP8266WiFi.h>

  7. #define AP_SSID "zhz" //这里改成你的wifi名字
  8. #define AP_PSW  "156721"//这里改成你的wifi密码

  9. void setup() {
  10.   //设置串口波特率,以便打印信息
  11.   Serial.begin(9600);
  12.   Serial.println("");
  13.   Serial.println("ESP8266准备就绪");

  14.   //启动STA模式,并连接到wifi网络
  15.   WiFi.begin(AP_SSID, AP_PSW);

  16.   Serial.print(String("连接到---") + AP_SSID);
  17.   //判断网络状态是否连接上,没连接上就延时500ms,并且打出一个点,模拟连接过程
  18.   while (WiFi.status() != WL_CONNECTED) {
  19.     delay(500);
  20.     Serial.print(".");
  21.   }
  22.   
  23.   Serial.println("");
  24.   Serial.print("已连接,IP地址: ");
  25.   //输出station IP地址,这里的IP地址由DHCP分配
  26.   Serial.println(WiFi.localIP());
  27.   Serial.println("设置结束");
  28. }

  29. void loop() {
  30. }
复制代码


 楼主| 发表于 2021-8-4 09:37 | 显示全部楼层
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百二十五: 升级版 WeMos D1 R2 WiFi UNO 开发板 基于ESP8266
  项目十:Station模式下的操作实例,查询当前WiFi的IP地址

  实验串口返回情况

19 (1).jpg
 楼主| 发表于 2021-8-4 11:25 | 显示全部楼层
23.jpg
 楼主| 发表于 2021-8-4 11:26 | 显示全部楼层
26.jpg
 楼主| 发表于 2021-8-4 11:27 | 显示全部楼层
WeMos D1开发板电原理图


25.jpg
 楼主| 发表于 2021-8-4 11:29 | 显示全部楼层
22.jpg
 楼主| 发表于 2021-8-4 11:30 | 显示全部楼层
24.jpg
 楼主| 发表于 2021-8-4 14:55 | 显示全部楼层
27.jpg
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino爱好者

GMT+8, 2023-1-31 23:58 , Processed in 0.082371 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表