Initial commit
This commit is contained in:
commit
af6c2fb058
1 changed files with 76 additions and 0 deletions
76
esp32indicator.ino
Normal file
76
esp32indicator.ino
Normal file
|
@ -0,0 +1,76 @@
|
||||||
|
#include <WiFi.h>
|
||||||
|
#include <NTPClient.h>
|
||||||
|
#include <WiFiUdp.h>
|
||||||
|
|
||||||
|
const char* ssid = "Your WiFi SSID";
|
||||||
|
const char* password = "Your WiFi Password";
|
||||||
|
|
||||||
|
const int notify_hour = 20;
|
||||||
|
const int notify_minute = 0;
|
||||||
|
|
||||||
|
const int local_time_offset = 2 * 3600;
|
||||||
|
|
||||||
|
const int led = 1;
|
||||||
|
|
||||||
|
bool flashing = false;
|
||||||
|
bool skip = false;
|
||||||
|
|
||||||
|
WiFiUDP ntpUDP;
|
||||||
|
NTPClient timeClient(ntpUDP);
|
||||||
|
|
||||||
|
bool check_time() {
|
||||||
|
while(!timeClient.update()) {
|
||||||
|
timeClient.forceUpdate();
|
||||||
|
}
|
||||||
|
|
||||||
|
int hours = timeClient.getHours();
|
||||||
|
int minutes = timeClient.getMinutes();
|
||||||
|
|
||||||
|
if (skip && hours < notify_hour) skip = false;
|
||||||
|
|
||||||
|
if (!skip && (hours > notify_hour || (hours == notify_hour && minutes >= notify_minute))) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setup() {
|
||||||
|
// Serial.begin(115200);
|
||||||
|
pinMode(led, OUTPUT);
|
||||||
|
digitalWrite(led, HIGH);
|
||||||
|
|
||||||
|
// Serial.print("Connecting to ");
|
||||||
|
// Serial.println(ssid);
|
||||||
|
WiFi.begin(ssid, password);
|
||||||
|
|
||||||
|
while (WiFi.status() != WL_CONNECTED) {
|
||||||
|
delay(500);
|
||||||
|
// Serial.print(".");
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Serial.println("");
|
||||||
|
Serial.println("WiFi connected.");
|
||||||
|
Serial.print("IP address: ");
|
||||||
|
Serial.println(WiFi.localIP()); */
|
||||||
|
|
||||||
|
timeClient.begin();
|
||||||
|
timeClient.setTimeOffset(local_time_offset);
|
||||||
|
|
||||||
|
if (check_time()) skip = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
if (!flashing) {
|
||||||
|
flashing = check_time();
|
||||||
|
if (!flashing) delay(30000);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!skip) {
|
||||||
|
digitalWrite(led, LOW);
|
||||||
|
delay(500);
|
||||||
|
digitalWrite(led, HIGH);
|
||||||
|
delay(500);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue