summaryrefslogtreecommitdiff
path: root/_PROGRAMs/C++/WiFi.md
diff options
context:
space:
mode:
Diffstat (limited to '_PROGRAMs/C++/WiFi.md')
-rw-r--r--_PROGRAMs/C++/WiFi.md40
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;
+ }
+}
+```
+