diff options
Diffstat (limited to '_PROGRAMs/C++/WiFi.md')
| -rw-r--r-- | _PROGRAMs/C++/WiFi.md | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/_PROGRAMs/C++/WiFi.md b/_PROGRAMs/C++/WiFi.md new file mode 100644 index 0000000..fc47f88 --- /dev/null +++ b/_PROGRAMs/C++/WiFi.md @@ -0,0 +1,40 @@ + +```C++ +const char *ssid = "ssid"; +const char *pass = "passwd"; + +bool setupWiFi(const char *wifi_ssid, const char *wifi_pass) { + digitalWrite(LED_BUILTIN, LOW); // включаем светодиод + Serial.print("\n\nSetup WiFi: "); + Serial.println(ssid); + WiFi.mode(WIFI_STA); + uint8_t countWiFi = 20; // кол-во попыток соединения + uint16_t countPause = 500; // пауза между попытками + WiFi.begin(wifi_ssid, wifi_pass); + while ((WiFi.status() != WL_CONNECTED) && countWiFi--) { + Serial.print(countWiFi); + Serial.print('>'); + delay(countPause); + } + digitalWrite(LED_BUILTIN, HIGH); // выключаем светодиод + if (WiFi.status() == WL_CONNECTED) { + // индикация IP + Serial.print("\nWiFi connected - OK !\n"); + Serial.println(WiFi.localIP()); + // индикация силы сигнала + int16_t dBm = WiFi.RSSI(); + Serial.print("RSSI dBm = "); + Serial.println(dBm); + quality_RSSI = 2 * (dBm + 100); + if (quality_RSSI >= 100) + quality_RSSI = 100; + Serial.print("RSSI % = "); + Serial.println(quality_RSSI); + Serial.println(); + return true; + } else { + return false; + } +} +``` + |
