/************************************************************* Blynk is a platform with iOS and Android apps to control ESP32, Arduino, Raspberry Pi and the likes over the Internet. You can easily build mobile and web interfaces for any projects by simply dragging and dropping widgets. Downloads, docs, tutorials: https://www.blynk.io Sketch generator: https://examples.blynk.cc Blynk community: https://community.blynk.cc Follow us: https://www.fb.com/blynkapp https://twitter.com/blynk_app Blynk library is licensed under MIT license This example code is in public domain. ************************************************************* Blynk can provide your device with time data, like an RTC. Please note that the accuracy of this method is up to several seconds. Datastream setup: Virtual Pin V1, type: String Virtual Pin V2, type: String App dashboard setup: Value Display widget on V1 Value Display widget on V2 NOTE: On Web dashboard, use Label widgets WARNING: For this example you'll need Time keeping library: https://github.com/PaulStoffregen/Time This code is based on an example from the Time library: https://github.com/PaulStoffregen/Time/blob/master/examples/TimeSerial/TimeSerial.ino *************************************************************/ /* Comment this out to disable prints and save space */ #define BLYNK_PRINT Serial /* Fill in information from Blynk Device Info here */ //#define BLYNK_TEMPLATE_ID "TMPxxxxxx" //#define BLYNK_TEMPLATE_NAME "Device" //#define BLYNK_AUTH_TOKEN "YourAuthToken" #include #include #include #include #include BlynkTimer timer; WidgetRTC rtc; // Digital clock display of the time void clockDisplay() { // You can call hour(), minute(), ... at any time // Please see Time library examples for details String currentTime = String(hour()) + ":" + minute() + ":" + second(); String currentDate = String(day()) + " " + month() + " " + year(); Serial.print("Current time: "); Serial.print(currentTime); Serial.print(" "); Serial.print(currentDate); Serial.println(); // Send time to the App Blynk.virtualWrite(V1, currentTime); // Send date to the App Blynk.virtualWrite(V2, currentDate); } BLYNK_CONNECTED() { // Synchronize time on connection rtc.begin(); } void setup() { // Debug console Serial.begin(9600); Blynk.begin(BLYNK_AUTH_TOKEN); // Other Time library functions can be used, like: // timeStatus(), setSyncInterval(interval)... // Read more: http://www.pjrc.com/teensy/td_libs_Time.html setSyncInterval(10 * 60); // Sync interval in seconds (10 minutes) // Display digital clock every 10 seconds timer.setInterval(10000L, clockDisplay); } void loop() { Blynk.run(); timer.run(); }