-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathESP32_Wifi.cpp
More file actions
80 lines (66 loc) · 1.42 KB
/
ESP32_Wifi.cpp
File metadata and controls
80 lines (66 loc) · 1.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include <WiFi.h>
//i-
//WIFI
char* ssid = "FILL_SSID_HERE";
char* password = "FILL_PASSWORD_HERE";
unsigned long wifitimer = 0;
//v-
//WIFI
#define wifidebug true
//s-
//Serial Begin
Serial.begin(115200);
//Connect to Wifi
connectwifi();
//sb-
//WIFI
wifitimer = millis();
//l-
//lb-
//WIFI
//60 SEC TIMER
if (((millis() - wifitimer) / 1000) > 60) {
if (WiFi.status() != WL_CONNECTED) {
connectwifi();
}
wifitimer = millis();
}
//f-
//WIFI
void connectwifi(){
if (wifidebug) Serial.println("Connecting to Wifi...");
if(connect_wifi(10)==false){
if (wifidebug) Serial.println("Cannot Connect.");
}else{
if (wifidebug) Serial.println("Connected");
if (wifidebug) Serial.print("IP address: ");
if (wifidebug) Serial.println(WiFi.localIP());
delay(1000);
}
}
bool connect_wifi(int maxattempts) {
bool connected = false;
//TRY
int trys=0;
while(connected==false){
if(trys>0){
if (wifidebug) Serial.print("Try: ");
if (wifidebug) Serial.print(trys);
}
connected=connect__wifi(ssid,password);
trys++;
if(trys>maxattempts)break;
}
return (connected);
}
bool connect__wifi(char* ssid,char* password){
unsigned long timeout = millis();
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
while (WiFi.waitForConnectResult() != WL_CONNECTED) {
if (((millis() - timeout) / 1000) >= 10) {
break;
}
}
if (WiFi.status() == WL_CONNECTED) return(true); else return(false);
}