Gast Broken_Mind Geschrieben February 14, 2014 at 12:47 Geschrieben February 14, 2014 at 12:47 Hallo, da ich leider immer wieder Probleme mit meinen Wochenschaltzeituhren habe die mein Aquarium steuern (verlieren das Programm, setzen sich zurück...), will ich das nun einfach mit meinem Pi und ein paar Funksteckdosen lösen. Mein Problem ist wie ich die Uhrzeit verarbeiten kann damit die Dose auch z.B. um 23:00 Uhr ausschält. Habe mich etwas schlau gemacht und leider entweder Infos gefunden die mich als Anfänger komplett überfordern oder wie ich die Uhrzeit anzeigen lassen kann (was mich schon sehr stolz macht ). Wie ich das RemoteBricklet dazu kriege zu senden habe ich soweit im Griff nur eben die Zeit nicht. Habt ihr Vorschläge wie ich das Problem lösen könnte? Grüße Zitieren
Nemo Geschrieben February 14, 2014 at 12:55 Geschrieben February 14, 2014 at 12:55 Hallo Broken_Mind, ich habe jetzt nicht so den Plan von C++ bin aber direkt bei google.de über Antworten gestolpert. Ich arbeite nur mit PHP und da kann man die Zeiten als Strings abgleichen. Vielleicht geht das mit C++ auch? Das könnte dir auch noch weiterhelfen. Gruß, Nemo Zitieren
photron Geschrieben February 14, 2014 at 13:06 Geschrieben February 14, 2014 at 13:06 Du kannst gettimeofday/localtime_r um die aktuelle lokale Zeit als struct zu erhalten: struct tm { int tm_sec; /* seconds */ int tm_min; /* minutes */ int tm_hour; /* hours */ int tm_mday; /* day of the month */ int tm_mon; /* month */ int tm_year; /* year */ int tm_wday; /* day of the week */ int tm_yday; /* day in the year */ int tm_isdst; /* daylight saving time */ }; Hier ein Beispiel: #include <stdio.h> #include <sys/time.h> #include <time.h> int main(void) { struct timeval tv; time_t ts; struct tm lt; tv.tv_sec = 0; tv.tv_usec = 0; gettimeofday(&tv, NULL); ts = tv.tv_sec; localtime_r(&ts, <); printf("year %d\n", 1900 + lt.tm_year); printf("month %02d\n", lt.tm_mon); printf("day %d\n", lt.tm_mday); printf("hour %d\n", lt.tm_hour); printf("min %02d\n", lt.tm_min); printf("sec %02d\n", lt.tm_sec); return 0; } Damit kannst du dann ein Programm bauen, das z.B. in einer Schleife jeweils eine Minute schläft per sleep(60) und sich dann wieder die aktuelle Zeit anschaut und wenn es 23:00 ist den Abschaltbefehl gibt. Zitieren
Gast Broken_Mind Geschrieben February 15, 2014 at 23:12 Geschrieben February 15, 2014 at 23:12 Alles klar vielen Dank Ich versuche mal mein Glück ansonsten melde ich mich wieder Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.