14-04-2018, 14:14
Witam, Mam coś takiego:
Czas wyświetla prawidłowo na monitorze portu szeregowego. Na wyświetlaczu wyświetla się prawidłowo "Czas WiFi"
Moje pytanie i prośba jak napisać, zmienić szkic aby wyświetlał czas na wyświetlaczu (na porcie szeregowym już nie musi). Płytka to ESP32 razem z wyświetlaczem oled na pokładzie. Pozdrawiam
Kod:
#include <WiFi.h>
#include "time.h"
#include <Wire.h>
#include "SSD1306.h"
SSD1306 display(0x3c, 5, 4);
const char* ssid = "XXXXXXXX";
const char* password = "12345678";
const char* ntpServer = "pool.ntp.org";
const long gmtOffset_sec = 3600;
const int daylightOffset_sec = 3600;
void printLocalTime()
{
struct tm timeinfo;
if (!getLocalTime(&timeinfo)) {
Serial.println("Failed to obtain time");
return;
}
Serial.println(&timeinfo, "%A, %B %d %Y %H:%M:%S");
}
void setup()
{
Serial.begin(115200);
display.init();
// display.drawString(0, 0, "Hello World");
// display.display();
//connect to WiFi
Serial.printf("Connecting to %s ", ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println(" CONNECTED");
//init and get the time
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);
printLocalTime();
//disconnect WiFi as it's no longer needed
WiFi.disconnect(true);
WiFi.mode(WIFI_OFF);
}
void loop()
{
delay(1000);
printLocalTime();
display.drawString(0, 5, "Czas WiFi");
display.display();
}
Moje pytanie i prośba jak napisać, zmienić szkic aby wyświetlał czas na wyświetlaczu (na porcie szeregowym już nie musi). Płytka to ESP32 razem z wyświetlaczem oled na pokładzie. Pozdrawiam