Hallo Zusammen,
mir bereitet mein Code bzw. die Antworten des Servers Kopfzerbrechen.
Ich versuche einen Kalender zu programmieren, der die Inhalte meines Kalenders von google auf einem e-ink display anzeigt.
Nach vielem Suchen habe ich herausgefunden, dass ich am günstigsten über die privat-Adresse des Kalenders arbeiten kann.
Bedauerlicherweise kommt dabei scheinbar nur Unsinn heraus.
Hier mein gekürzter Quellcode (Initialisierungsteil und Displaysteuerung fehlen):
void setup() {
// Serialschnittstelle für Debug
Serial.begin(115200);
//display.init(115200);
Start_WiFi();
}
void loop() {
if (Reader.available())
{
Serial.println("Verbunden!");
char* Buffer;
while (Reader.available())
{
char c = Reader.read();
if (isPrintable(c))
{
Buffer += c;
}
}
Serial.print(Buffer);
Reader.stop();
}
}
void Start_WiFi()
{
WiFi.begin(Wifi_ssid, Wifi_password);
delay(5000);
configTime(3600, 3600, "pool.ntp.org");
delay(5000);
struct tm timeinfo;
if (!getLocalTime(&timeinfo))
{
Serial.println("Fehler!");
}
else
{
Serial.println(&timeinfo, "%A, %B %d %Y %H:%M:%S");
}
if (Reader.connect("calendar.google.com",80)) Serial.println("Verbunden zu Google"); else Serial.println("Keine Verbindung zu Google");
Reader.println("GET calendar.google.com/calendar/ical/***/basic.ics HTTP/1.0");
Reader.println("");
}
Das Ergebnis dieser Abfrage sieht laut Seriellem Monitor so aus:
ets Jun 8 2016 00:22:57
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:812
load:0x40078000,len:0
load:0x40078000,len:11572
entry 0x40078a5c
Saturday, June 23 2018 21:09:11
Verbunden zu Google
Verbunden!
⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮...
Bei Abfrage mit REST (anderer Client für HTTP-Requests):
BEGIN:VCALENDAR
PRODID:-//Google Inc//Google Calendar 70.9054//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:PUBLISH
...
... und *** sind selbstverständlich nur Platzhalter.
Kann mir jemand sagen wo mein Fehler liegt?