Zyklischer Dauerbetrieb vom Raspberry im Wohnwagen

🔧 Ziel

Ein energieeffizientes, zuverlässiges System, das:

  • den Raspberry Pi periodisch oder manuell startet
  • bei Bedarf nach abgeschlossener Arbeit automatisch wieder abschaltet
  • zwischen Dauerbetrieb, Wartungsbetrieb und Alarmbetrieb unterscheidet
  • bei Einbruch oder Störung im Alarmmodus zuverlässig meldet
  • mit dem Raspberry Pi über eine serielle Schnittstelle (UART) kommuniziert
  • nicht einfach durch einen Schalter deaktivierbar ist

⚙️ Systemkomponenten

KomponenteFunktion
ATtiny4313Steuereinheit mit Zustandsspeicher, UART-Kommunikation, Alarmlogik
Raspberry PiHauptrechner für Netzwerk, Monitoring, Logging etc.
Power SwitchMOSFET oder elektronischer Schalter zur Versorgung des Pi
UART (TTL)Kommunikation ATtiny ↔ Raspberry Pi (TX/RX, 5 V TTL)
Taster & SensorenEingaben zur Modusumschaltung & Alarmüberwachung
12 V → 5 V BuckVersorgung von ATtiny & ggf. Pi via Wandler

⚡ Spannungs- & Pegelkompatibilität

VerbindungSpannungPegelkompatibel?
ATtiny4313 Vcc5 V (vom Buck-Regler)✅ Ja
UART zu Raspberry Pi5 V TTL → 3.3 V Pi RX⚠️ Pegelwandler empfohlen
UART vom Pi TX → Tiny RX3.3 V → 5 V AVR RX✅ meistens stabil

Empfehlung: Pegelwandler oder Spannungsteiler für ATtiny TX → Pi RX.


🔌 GPIO-Zuordnung am ATtiny4313

ATtiny PinFunktionRichtungKommentar
PD0UART RXINVom Pi
PD1UART TXOUTZum Pi (5 V → 3.3 V Wandler nötig)
PD2TasterINZur Modusumschaltung
PD3Alarm Input (Schleife)INÜberwacht Fenster/Türen
PD4Pi Power SwitchOUTSteuert MOSFET
PD5Status LED (optional)OUTOptional für Feedback
RESETProgrammierbarISP nötig
Vcc/GNDStromversorgung5 V vom Buck

🔄 Zustände & Übergänge

stateDiagram-v2
    [*] --> Init
    Init --> Periodic : Timerstart
    Init --> Permanent : Taster (lang)
    Init --> Alarm : Taster (doppelklick) oder EEPROM
    Periodic --> Shutdown : Timer abgelaufen
    Permanent --> Shutdown : Kommando vom Pi
    Alarm --> Shutdown : Alarm quittiert & Pi gibt frei
    Alarm --> AlarmTrigger : Alarmkontakt geöffnet
    AlarmTrigger --> Shutdown : Meldung an Pi gesendet
    Shutdown --> [*] : Power-Off Pi

 


📋 Zustandstabelle

ZustandBeschreibungÜbergänge
InitWird beim Start des ATtiny gesetztÜbergang über Taster oder gespeicherte Info
PeriodicStartet Pi nach Timer-Intervall, fährt nach getaner Arbeit wieder runterShutdown nach Timer oder Pi-Freigabe
PermanentPi bleibt dauerhaft an, manuelle Steuerung möglichShutdown durch expliziten Befehl vom Pi
AlarmAlarmaktiv: ATtiny überwacht SensorenAlarmTrigger bei Öffnung
AlarmTriggerAlarm ausgelöst, Pi wird hochgefahrenShutdown durch Pi nach Quittierung
ShutdownPi wird heruntergefahren, Strom wird getrennt→ [*]

🔐 Sicherheit & Sabotageschutz

  • Kein Kippschalter deaktiviert das System – nur Taster mit Logik
  • Alarm wird nicht vom Pi allein steuerbar deaktiviert
  • ATtiny „besitzt“ die Kontrolle über Power & Modus
  • Zustand kann im EEPROM gespeichert werden, um Neustarts zu überleben

🔧 ISP-Anschlussbelegung (für Programmierung des ATtiny4313)

PinFunktion
RESETReset
MOSIDaten in
MISODaten out
SCKTakt
VCC5 V
GNDMasse

Programmierbar z. B. über USBasp oder Arduino as ISP.


📶 UART-Protokoll (minimal)

Pi → ATtiny:

  • STATUS=OK → Lebenszeichen
  • SHUTDOWN → Fahr herunter
  • MODE? → Fragt den aktuellen Modus ab

ATtiny → Pi:

  • MODE=PERIODIC|PERMANENT|ALARM
  • ALARM=TRIGGERED
  • SHUTDOWN → Power-Off in x Sekunden

📦 Optionen für die Umsetzung

  • Serielle Kommunikation über /dev/serial0
  • ATtiny Code via Arduino IDE oder avr-gcc
  • Raspberry Pi Service überwacht UART / sendet STATUS regelmäßig
  • Fehlermeldung & Shutdown bei Inaktivität oder Alarmereignis

Wenn du möchtest, kann ich dir im nächsten Schritt liefern:

  • Einen vollständigen KiCad-Schaltplan
  • Den Arduino-Code für den ATtiny4313
  • Ein Beispiel für das Python-Monitoring am Pi
  • EEPROM-gestützte Modusverwaltung

Sag mir einfach, womit du weitermachen willst.

Leave a Reply