Ich zeichne aktuell an einem Schaltplan für eine RTC (DS3231) für den RasPi. Die Besonderheit wird sein, dass die Spannungsversorgung des RasPi nach dem Shutdown komplett abgeschaltet wird, wodurch er sehr stromsparend betrieben werden kann. Über die RTC können bis zu zwei Weckzeiten programmiert werden. Wird eine Weckzeit ausgelöst, aktiviert die RTC einen Timer, der beispielsweise eine Minute läuft. Während dieser Zeit wird der RasPi mit 5V versorgt und kann starten.
Mein Problem ist, dass ich dafür zwei GPIO benötige. Für die Spannungsversorgung und die Kommunikation per I²C benötige ich die Pins1-6. Nahe liegend wäre jetzt, die Pins 7 und 8 für das Projekt zu nutzen. Bei Pin7 (GPIO04) habe ich wenig Bedenken. Bei Pin8 (GPIO14) sieht es anders aus.
Ich benötige einen GPIO als Eingang. Er wird über einen hochohmigen Pullup auf HIGH gehalten. Fällt die Spannung der Pufferbatterie (Knopfzelle) unter einen Schwellwert, wird der GPIO dauerhaft auf LOW gezogen. Das Verhalten ist nicht zeitkritisch. Es soll lediglich signalisiert werden, dass die Knopfzelle in naher Zukunft getauscht werden sollte.
Der zweite benötigte GPIO dient als Ausgang. Er soll nach dem Bootvorgang dauerhaft auf HIGH gestellt werden, wodurch er die Spannungsversorgung (parallel zum Ausgang des Timers) des RasPi eingeschaltet hält . Wird der RasPi herunter gefahren, muss dieser GPIO auf HIGH bleiben, weil er sonst die Versorgungsspannung des RasPi abstellen würde.
Nun ist die Frage zum einen, ob GPIO14 (Tx) geeignet für diese Aufgabe ist und zum anderen ist die Frage, ob er wirklich "bis zum Schluss" auf HIGH bleibt und erst auf LOW geht, wenn der RasPi komplett herunter gefahren ist.
Sollte das nicht der Fall sein, müsste ich einen weiteren GPIO anzapfen, der über einen Impuls den Timer startet, so dass der RasPi in Ruhe herunterfahren kann.