From ebc9b4c7175001458224dc9ad0972fd9ab0f8086 Mon Sep 17 00:00:00 2001 From: Maximilian Lechner Date: Thu, 26 Feb 2026 22:12:10 +0000 Subject: [PATCH 1/3] readme --- README.md | 87 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 71 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 4913187..c3cde0b 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ ![Paketbox](blueprint/Paketbox.jpeg) *Die intelligente Paketbox mit automatischer Lieferannahme und Verriegelung.* -Dieses Projekt steuert eine intelligente Paketbox mit einem Raspberry Pi. Die Box kann Pakete sicher aufnehmen, automatisch verriegeln und entleeren. Die Steuerung erfolgt über Motoren, Sensoren und Relais mit professioneller Fehlerbehandlung und Logging. +Dieses Projekt steuert eine intelligente Paketbox mit einem Raspberry Pi. Die Box kann Pakete sicher aufnehmen, automatisch verriegeln und entleeren. Die Steuerung erfolgt über zwei Elektormotoren und diversen Sensoren mit professioneller Fehlerbehandlung und Logging. ## ✨ Features - **Automatisches Öffnen und Schließen** der Entleerungsklappen @@ -16,13 +16,12 @@ Dieses Projekt steuert eine intelligente Paketbox mit einem Raspberry Pi. Die Bo - **Mock-Modus** für lokale Entwicklung ohne Hardware - **MQTT-Integration** für IoT-Benachrichtigungen - **Thread-sichere Zustandsverwaltung** mit Locking-Mechanismen - - **Modulare Architektur** mit separaten Komponenten - **15-Minuten-Watchdog** für geöffnete Paketzustellertüren inkl. MQTT-Warnung und Auto-Entleerung - **Lichtschranke mit Notstopp** für Schutz vor Einklemmungen - **MQTT-basierte Steuerung** (Status, Zusteller/Briefkasten/Entleerung, Auto-Lock-Door) - **Zeitgesteuerte Türverriegelung** mit konfigurierbaren Sperrzeiten -- **Ereignisse für Briefkasten & Paketbox** (ON/OFF) plus Entleerungsbetrieb +- **Ereignisse für Briefkasten & Paketbox** über MQTT Entleerungsbetrieb ## 🆕 Neueste Änderungen (Frühjahr 2026) - **Watchdog für geöffnete Türen**: In `handler.py` überwacht ein 15-Minuten-Timer offene Paketzustellertüren, verschickt bei Bedarf MQTT-Warnungen und startet automatisch den Entleerungszyklus. @@ -30,15 +29,76 @@ Dieses Projekt steuert eine intelligente Paketbox mit einem Raspberry Pi. Die Bo - **Verbesserter Fehler-Reset**: `ResetErrorState()` initialisiert Türsensoren neu, setzt Motorzustände sicher auf `STOPPED` und verhindert doppelte MQTT-Fehlerbenachrichtigungen. ## 🔧 Hardware + +### 🏗️ Bauweise und Konstruktion + +#### Korpus und Verkleidung +- **Skelett**: 22mm Sekieferplatten für Stabilität und Witterungsbeständigkeit +- **Dachabdichtung**: Wetterfeste Untersparrenbahn zum Schutz vor Feuchte +- **Außenverkleidung**: Lärchenbretter für natürlichen, langlebigen Wetterschutz und ästhetisches Erscheinungsbild + +#### Dach +- **Hauptelement**: Edelstahlwanne mit zwei Überläufen für sichere Wasserableitung +- **Wassermanagement**: Dränage- und Wasserspeicherelement mit Filtervlies +- **Begrünung**: Sedum-Dachbegrünung für Isolierung, Regenwasserbewirtschaftung und Ästhetik + +### 🚪 Türen und Klappen + +Die Paketbox verfügt über mehrere spezialisierte Öffnungen: + +#### 1. **Paketzustellungsklappe** (mit Motorenantrieb) +- Von der Straße/Gehweg zugänglich +- Mit automatischem Seilzug-System ausgestattet (Feder + Gegengewicht) +- Automatisches Schließen nach Paketeinwurf +- **Automatisierte Entleerung**: Nach Paketeinwurf und Klappenschließung verriegelt ein Magnetbolzen die Tür +- Zwei **Linearmotoren** fahren dann synchron die beiden unteren Entleerungsklappen auf +- Pakete fallen durch die Linearmotoren-Klappen in den unteren Bereich +- Klappen schließen automatisch nach vollständiger Öffnung +- Tür entriegelt, wenn Klappen oben sind – Prozess kann erneut beginnen + +#### 2. **Briefkastenklappe** +- Zum Entnehmen von Briefen aus dem integrierten Briefkasten +- Mit Magnetschalter ausgestattet + +#### 3. **Mülltonnentür** +- Separate Tür zur sicheren Unterbringung der Mülltonne +- Mit Magnetschalter ausgestattet + +### 🔐 Verriegelung und Sicherheit + +#### Magnetbolzen-System +- **Automatische Verriegelung**: Nach Paketeinwurf wird die Paketzustellungstür mit einem Magnetbolzen verriegelt +- Verhindert unbeabsichtigtes erneutes Öffnen während des Entleerungsvorgangs +- Entsperrt automatisch, wenn die inneren Klappen wieder geschlossen sind + +#### Lichtschranke +- **Position**: Unterhalb der elektrischen Entleerungsklappen +- **Funktionen**: + - **Einklemmschutz**: Erkennt Hindernisse und unterbricht den Motorvorgang + - **Schutz vor Überfüllung**: Verhindert, dass zu viele Pakete eingelagert werden + - **Notfallvoraussetzung**: Auslöser für Nothalt-Szenarien + +### 📡 Sensorik und Steuerung + +#### Magnetkontaktsensoren +- In **allen Türen und Klappen** eingebaut +- Erkennen Öffnen und Schließen der einzelnen Komponenten +- Liefern Rückmeldung für sichere Zustandsverfolgung + +#### Endlagensensoren +- An beiden **Linearmotor-Klappen** für Position (offen/geschlossen) +- Ermöglichen sichere Koordination des Öffnungs- und Schließvorgangs + +#### Steuerelektronik - **Raspberry Pi** mit GPIO-Steuerung -- **2 Motoren** für Entleerungsklappen mit Endlagensensoren -- **Relais-Board** für Motorsteuerung und Türverriegelung -- **Sensoren**: - - Endlagensensoren für beide Klappen (offen/geschlossen) - - Magnetkontaktsensoren für Paketzustellertür - - Briefkastensensoren für Entnahme - - **Lichtschranke** für Einklemmschutz (GPIO 11) -- **Beleuchtung** für Mülltonne und Paketbox +- **Relais-Board** für Motorsteuerung und Magnetbolzen-Verriegelung +- **2 Linearmotoren** mit präziser Positionskontrolle für Entleerungsklappen + +### 💡 Beleuchtung + +- **Automatische Beleuchtung** in den Fächern für Mülltonne und Pakete +- Wird durch Magnetschalter bei Türöffnung ein- und ausgeschaltet +- Verbessert Benutzerfreundlichkeit und Sicherheit ![Elektronische Komponenten der Paketbox](blueprint/electronic_components.jpg) *Elektronische Komponenten: Raspberry Pi, Relais-Board, Sensorleitungen und Spannungsversorgung.* @@ -68,11 +128,6 @@ python tests/run_tests.py ``` -### Produktive Verwendung -```bash -# Auf Raspberry Pi mit Hardware -python paketbox.py -``` ## 🛠️ Entwicklung & Test From a83de91d36656943f4ab491bd140de5b1606a5e7 Mon Sep 17 00:00:00 2001 From: Maximilian Lechner Date: Thu, 26 Feb 2026 22:23:22 +0000 Subject: [PATCH 2/3] readme --- README.md | 38 ++++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index c3cde0b..c0aede6 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ ![Paketbox](blueprint/Paketbox.jpeg) *Die intelligente Paketbox mit automatischer Lieferannahme und Verriegelung.* -Dieses Projekt steuert eine intelligente Paketbox mit einem Raspberry Pi. Die Box kann Pakete sicher aufnehmen, automatisch verriegeln und entleeren. Die Steuerung erfolgt über zwei Elektormotoren und diversen Sensoren mit professioneller Fehlerbehandlung und Logging. +Dieses Projekt steuert eine intelligente Paketbox mit einem **Raspberry Pi W2**. Die Box kann Pakete sicher aufnehmen, automatisch verriegeln und entleeren. Die Steuerung erfolgt über zwei Elektormotoren und diverse Sensoren mit professioneller Fehlerbehandlung und Logging. Sensorein- und Motorausgänge sind galvanisch über Optokoppler vom Raspberry Pi getrennt. ## ✨ Features - **Automatisches Öffnen und Schließen** der Entleerungsklappen @@ -90,7 +90,11 @@ Die Paketbox verfügt über mehrere spezialisierte Öffnungen: - Ermöglichen sichere Koordination des Öffnungs- und Schließvorgangs #### Steuerelektronik -- **Raspberry Pi** mit GPIO-Steuerung +- **Raspberry Pi W2** als zentrale Steuereinheit mit GPIO-Kontrolle +- **Galvanische Trennung**: Sensorein- und Motorausgänge sind über Optokoppler galvanisch vom Raspberry Pi getrennt + - Schützt die empfindliche Elektronik des Raspberry Pi vor Spannungsspitzen und Störungen + - Erhöht die Zuverlässigkeit und Lebensdauer der Steuerung + - Ermöglicht sichere Arbeit mit unterschiedlichen Spannungssystemen - **Relais-Board** für Motorsteuerung und Magnetbolzen-Verriegelung - **2 Linearmotoren** mit präziser Positionskontrolle für Entleerungsklappen @@ -128,7 +132,6 @@ python tests/run_tests.py ``` - ## 🛠️ Entwicklung & Test ### Lokale Entwicklung @@ -177,22 +180,25 @@ logging.basicConfig(level=logging.DEBUG) ## 📁 Projektstruktur -Die Bilder für die Dokumentation liegen im Ordner `blueprint`. - ``` max_paket_box/ -├── paketbox.py # Hauptsteuerung (Version 0.7.0) -├── handler.py # Handler-Funktionen für GPIO und Motoren -├── state.py # Zentrale Zustandsverwaltung -├── config.py # Konfiguration und GPIO-Pin-Zuordnungen -├── PaketBoxState.py # Zustandsklassen (Door/Motor States) -├── TimerManager.py # Timer-Verwaltung für Motoren -├── mqtt.py # MQTT-Integration für IoT-Benachrichtigungen +├── paketbox.py # Hauptsteuerung (Version 0.7.0) +├── handler.py # Handler-Funktionen für GPIO und Motoren +├── state.py # Zentrale Zustandsverwaltung +├── config.py # Konfiguration und GPIO-Pin-Zuordnungen +├── PaketBoxState.py # Zustandsklassen (Door/Motor States) +├── TimerManager.py # Timer-Verwaltung für Motoren +├── mqtt.py # MQTT-Integration für IoT-Benachrichtigungen +├── blueprint/ +│ ├── electronic_components.jpg # Aufbau Schaltschrank mit Raspberry Pi +│ ├── Paketbox Seitenansicht.jpg # Technische Zeichnung Korpus Seitenasicht +│ ├── Paketbox_Draufsicht.jpg # Technische Zeichnung Korpus Draufsicht +│ └── Paketbox.jpeg # Ansicht fertige Paketbox ├── tests/ -│ ├── test_paketbox.py # Umfassende Unit Tests -│ └── run_tests.py # Test Runner mit detailliertem Output -├── paketbox.log # Strukturierte Log-Datei -└── README.md # Diese Datei +│ ├── test_paketbox.py # Umfassende Unit Tests +│ └── run_tests.py # Test Runner mit detailliertem Output +├── paketbox.log # Strukturierte Log-Datei +└── README.md # Diese Datei ``` ### Modulare Architektur (Version 0.8.0) From 53e69e66d8a955c6aa865d460b81f9dacb28c725 Mon Sep 17 00:00:00 2001 From: Maximilian Lechner Date: Thu, 26 Feb 2026 22:27:08 +0000 Subject: [PATCH 3/3] readme --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index c0aede6..a7fc4d8 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,9 @@ Dieses Projekt steuert eine intelligente Paketbox mit einem **Raspberry Pi W2**. - **Wassermanagement**: Dränage- und Wasserspeicherelement mit Filtervlies - **Begrünung**: Sedum-Dachbegrünung für Isolierung, Regenwasserbewirtschaftung und Ästhetik +![Paketbox Draufsicht](blueprint/Paketbox_Draufsicht.jpg) +*Draufsicht der Paketbox zeigt die räumliche Anordnung der Paketzustellungsklappe, Briefkastenklappe und Mülltonnentür.* + ### 🚪 Türen und Klappen Die Paketbox verfügt über mehrere spezialisierte Öffnungen: