Guest Broken_Mind Posted February 14, 2014 at 12:47 PM Posted February 14, 2014 at 12:47 PM 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 Quote
Nemo Posted February 14, 2014 at 12:55 PM Posted February 14, 2014 at 12:55 PM 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 Quote
photron Posted February 14, 2014 at 01:06 PM Posted February 14, 2014 at 01:06 PM 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. Quote
Guest Broken_Mind Posted February 15, 2014 at 11:12 PM Posted February 15, 2014 at 11:12 PM Alles klar vielen Dank Ich versuche mal mein Glück ansonsten melde ich mich wieder Quote
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.