WiFiMulti.ino 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /*
  2. *******************************************************************************
  3. * Copyright (c) 2022 by M5Stack
  4. * Equipped with M5Core sample source code
  5. * 配套 M5Core 示例源代码
  6. * Visit for more information: https://docs.m5stack.com/en/core/gray
  7. * 获取更多资料请访问: https://docs.m5stack.com/zh_CN/core/gray
  8. *
  9. * Describe: WIFI Multi. 多wifi择优
  10. * Date: 2021/7/29
  11. *******************************************************************************
  12. * Connect to the best AP based on a given wifi list
  13. * 根据给定wifi的列表连接到最好的AP
  14. */
  15. #include <M5Stack.h>
  16. #include <WiFi.h>
  17. #include <WiFiMulti.h>
  18. WiFiMulti wifiMulti;
  19. void setup() {
  20. M5.begin(); // Init M5Core. 初始化 M5Core
  21. M5.Power.begin(); // Init power 初始化电源模块
  22. wifiMulti.addAP("wifi1", "123456"); // Storage wifi configuration
  23. // information 1. 存储wifi配置信息1
  24. wifiMulti.addAP("wifi2", "123456123456");
  25. wifiMulti.addAP("aaa", "sadf");
  26. M5.lcd.print("Connecting Wifi..."); // Serial port format output string.
  27. // 串口格式化输出字符串
  28. }
  29. void loop() {
  30. if (wifiMulti.run() ==
  31. WL_CONNECTED) { // If the connection to wifi is established
  32. // successfully. 如果与wifi成功建立连接
  33. M5.lcd.setCursor(0, 20);
  34. M5.lcd.print("WiFi connected\n\nSSID:");
  35. M5.lcd.println(WiFi.SSID()); // Output Network name. 输出网络名称
  36. M5.lcd.print("RSSI: ");
  37. M5.lcd.println(WiFi.RSSI()); // Output signal strength. 输出信号强度
  38. M5.lcd.print("IP address: ");
  39. M5.lcd.println(WiFi.localIP()); // Output IP Address. 输出IP地址
  40. delay(1000);
  41. M5.lcd.fillRect(0, 20, 180, 300,
  42. BLACK); // It's equivalent to partial screen clearance.
  43. // 相当于部分清屏
  44. } else {
  45. // If the connection to wifi is not established successfully.
  46. // 如果没有与wifi成功建立连接
  47. M5.lcd.print(".");
  48. delay(1000);
  49. }
  50. }