infrastruktur:portal300
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
infrastruktur:portal300 [2022-06-07 21:54] – [Busch-Welcome] Details zum Systemverhalten theriscfan | infrastruktur:portal300 [2023-02-01 17:10] – [Aufbau] chris | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Portal 300 ====== | + | ====== Portal 300 | P300 ====== |
{{tag> software hardware infrastructure computing networking shackoperations electronics }} | {{tag> software hardware infrastructure computing networking shackoperations electronics }} | ||
+ | |||
+ | ===== Handbuch ===== | ||
+ | |||
+ | ==== tl;dr ==== | ||
+ | |||
+ | * WLAN: '' | ||
+ | * Aufschließen (Fronteingang): | ||
+ | * Aufschließen (Hintereingang): | ||
+ | * Abschließen: | ||
+ | * Statusabfrage: | ||
+ | * Statusabfrage (maschinenlesbar): | ||
+ | * Alternative mit SSH command: Es kann jeder Benutzer auch als Befehl hinter einen anderen Benutzer geschrieben werden, hiermit können auch Apps wie [[https:// | ||
+ | * '' | ||
+ | * Türen | ||
+ | * A: Die Holztüre an der Straße | ||
+ | * B: Die Glastüre an der Straße | ||
+ | * B2: Die innere Türe zum shackspace, an der Straße | ||
+ | * C: Die Hintertüre auf dem Hof. | ||
+ | * C2: Die innere Türe zum shackspace, Richtung Hof | ||
+ | * shack-Zustände | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
===== Initial-Fragen aus U300 Haustechnik ===== | ===== Initial-Fragen aus U300 Haustechnik ===== | ||
Zeile 20: | Zeile 45: | ||
===== Initialzustand Gebäudetechnik ===== | ===== Initialzustand Gebäudetechnik ===== | ||
- | {{ : | + | [[https:// |
* In Raum 04 ist die Gegensprechanlage S, um die Tür zu öffnen | * In Raum 04 ist die Gegensprechanlage S, um die Tür zu öffnen | ||
Zeile 46: | Zeile 71: | ||
* Hierfür open@ für vorn, backdoor@ für hinten und close@ für " | * Hierfür open@ für vorn, backdoor@ für hinten und close@ für " | ||
* Portal-Einheiten müssen miteinander reden für synchronen Close-Request | * Portal-Einheiten müssen miteinander reden für synchronen Close-Request | ||
+ | |||
+ | ===== Architektur ===== | ||
+ | |||
+ | Das Portal der U300 besteht aus mehreren Komponenten, | ||
+ | |||
+ | * MQTT-Broker \\ Zentrale für Nachrichtenverteilung. Stellt zudem den WLAN-Zugang sowie DHCP/DNS zur Verfügung. | ||
+ | * 2 Türsteuerung (Für Türen B2 sowie C2) \\ Übernehmen die Steuerung einer Türe und überwachen die Sensorik. | ||
+ | * Busch-Interface \\ Reagiert auf Klingel-Signale und entsperrt die Türe B2. | ||
+ | |||
+ | ==== MQTT-Nachrichten ==== | ||
+ | |||
+ | Die MQTT-Nachrichten sind nun [[https:// | ||
===== Hardware & Elektronik ===== | ===== Hardware & Elektronik ===== | ||
Zeile 74: | Zeile 111: | ||
* ~400mA Stromaufnahme bei dauerhafter Motorbewegung (unbelastet) | * ~400mA Stromaufnahme bei dauerhafter Motorbewegung (unbelastet) | ||
* ~900mA Stromaufnahme bei Anfahren (unbelastet) | * ~900mA Stromaufnahme bei Anfahren (unbelastet) | ||
+ | * ~1000mA Stromaufnahme bei Blockieren | ||
* Motor fährt beim Anschalten kurzzeitig zurück, und anschließend in die gewünschte Richtung | * Motor fährt beim Anschalten kurzzeitig zurück, und anschließend in die gewünschte Richtung | ||
* Die Motoren werden direkt mit der Batteriespannung versorgt | * Die Motoren werden direkt mit der Batteriespannung versorgt | ||
Zeile 84: | Zeile 122: | ||
Der Anschluss //BAT// erwartet zwischen **-** (GND) und **+** (VCC) 4.5 Volt. Hier ist zu klären, ob auch 5V Versorgungsspannung gehen. | Der Anschluss //BAT// erwartet zwischen **-** (GND) und **+** (VCC) 4.5 Volt. Hier ist zu klären, ob auch 5V Versorgungsspannung gehen. | ||
- | ===== Busch-Welcome ===== | + | ===== Türsprechanlage |
* Busch-/ | * Busch-/ | ||
Zeile 91: | Zeile 129: | ||
* Türöffner (Tö) wird mit internen 12V~ versorgt. Für direkte Ansteuerung wäre also ein Wechselkontakt zur Vermeidung von Kurzschlüssen nötig. | * Türöffner (Tö) wird mit internen 12V~ versorgt. Für direkte Ansteuerung wäre also ein Wechselkontakt zur Vermeidung von Kurzschlüssen nötig. | ||
* Tö wird für 1s bis 10s (einstellbar an der Zentrale) aktiviert. Die Tür kann geöffnet werden, solange es " | * Tö wird für 1s bis 10s (einstellbar an der Zentrale) aktiviert. Die Tür kann geöffnet werden, solange es " | ||
+ | * siehe auch: [[infrastruktur/ | ||
* Innenbus OUT1 ist im Rack 1-UG-2-2, AMP-Panel " | * Innenbus OUT1 ist im Rack 1-UG-2-2, AMP-Panel " | ||
* Innenbus OUT2 ist unbeschaltet. Restleistung von ~30W sollte für einen RPi reichen :) | * Innenbus OUT2 ist unbeschaltet. Restleistung von ~30W sollte für einen RPi reichen :) | ||
Zeile 108: | Zeile 147: | ||
* Jede Menge BC817-25 (NPN, 500mA) und BC807-25 (PNP, 500mA) | * Jede Menge BC817-25 (NPN, 500mA) und BC807-25 (PNP, 500mA) | ||
* Vermutlich hauptsächlich Interface zur 2-Draht-Leitung | * Vermutlich hauptsächlich Interface zur 2-Draht-Leitung | ||
- | |||
- | Der Tö-Taster ist an R72 angeschlossen und geht nach GND. Auf dem " | ||
In einer Audio-Aufzeichnung direkt am Bus kann man etwas verstehen. Die massiven Störungen sind aber im Hörer nicht zu hören. Könnte Telefon-Filter 300-3400Hz sein oder sie nutzen nicht nur PAL-Video sondern auch den Ton-Träger bei 5.5MHz. | In einer Audio-Aufzeichnung direkt am Bus kann man etwas verstehen. Die massiven Störungen sind aber im Hörer nicht zu hören. Könnte Telefon-Filter 300-3400Hz sein oder sie nutzen nicht nur PAL-Video sondern auch den Ton-Träger bei 5.5MHz. | ||
Die Kommunikation Terminal -> Controller scheinen ~250mA Pulse zu sein. Gegenrichtung sieht in der Aufzeichnung ähnlich aus. | Die Kommunikation Terminal -> Controller scheinen ~250mA Pulse zu sein. Gegenrichtung sieht in der Aufzeichnung ähnlich aus. | ||
+ | |||
+ | === Modifikation === | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Der Tö-Taster ist an R72 angeschlossen und geht nach GND. Der Taster für die lokale Klingel arbeitet auch so. An der Steckverbindung ist DB_EX das aufbereitete (L, R, TVS-Diode) Signal. | ||
+ | Achtung! GND könnte floating sein. Nicht mit a1 oder b1 mixen! | ||
+ | -> Klingel am Stecker herausgelöst und mit Kabel zu R72 ersetzt. | ||
+ | |||
+ | Auf dem " | ||
+ | -> Ein SFH6156 Optokoppler hat auf den Relais-Pads eine ordentliche Klemme bekommen. Anode an Q1/D6 und Kathode über 270 Ohm an GND | ||
+ | |||
+ | Neue Klemmenbelegung: | ||
+ | * a1 | ||
+ | * b1 | ||
+ | * Tö-Taster | ||
+ | * GND für Tö-Taster | ||
+ | * Emitter Optokoppler | ||
+ | * Collector Optokoppler | ||
+ | |||
+ | Mit Brücken zwischen 3 und 6 sowie 4 und 5 öffnet Klingeln die Tür. An den ESP32 sollte also ein weiterer Optokoppler als " | ||
+ | |||
+ | Es wurde ein ESP32 Board ([[https:// | ||
+ | |||
+ | * Grau: GND | ||
+ | * Orange: 5V | ||
+ | * Gelb: Klingelsignal (Grau ist GND ref) | ||
+ | * Braun: Emitter | ||
+ | * Lila: Collector | ||
+ | |||
+ | Das Klingelsignal ist auf dem ESP als **IO15** verfügbar (benötigt internen Pull-Up), die Türe kann via **IO39** geschaltet werden. | ||
===== Software & Architektur ===== | ===== Software & Architektur ===== | ||
Zeile 132: | Zeile 200: | ||
Beim Schließen können einfach beide Türen abgeschlossen werden, der shack kann aktuell sowieso nur durch die Türen A1, anschließend A zuverlässig verlassen werden. C ist potentiell abgschlossen. | Beim Schließen können einfach beide Türen abgeschlossen werden, der shack kann aktuell sowieso nur durch die Türen A1, anschließend A zuverlässig verlassen werden. C ist potentiell abgschlossen. | ||
+ | |||
+ | ===== Mechanik & Montage ===== | ||
+ | |||
+ | ==== Anforderungen ==== | ||
+ | |||
+ | * minimal invasiv im Hinblick auf die Mietsache | ||
+ | * vollständig rückbaufähig | ||
+ | * robust | ||
+ | * mechanisch sachgerechter Aufbau | ||
+ | * ohne Heissklebstoff, | ||
+ | |||
+ | ==== Kabelführung ==== | ||
+ | |||
+ | * Leitungen werden in Kabelkanälen geführt | ||
+ | * um das Kabel zwischen Türe und Wand zu führen wird ein [[https:// | ||
+ | |||
+ | ==== Aufbau ==== | ||
+ | |||
+ | {{infrastruktur: | ||
+ | |||
+ | **Legende** | ||
+ | * SWITCH01 - koppelt die Komponenten des Portal-LANs | ||
+ | * APU | ||
+ | * ESP32 " | ||
+ | * PoE-Injector #2 | ||
+ | * PoE-Injector #3 | ||
+ | * APU | ||
+ | * WLAN-Accesspoint für SSID " | ||
+ | * Zentrale Steuerung für | ||
+ | * ESP32 Schloßantrieb Türe B2 | ||
+ | * ESP32 Schloßantrieb Türe C2 | ||
+ | * ESP32 " | ||
+ | * ESP32 " | ||
+ | * ESP32 " | ||
+ | * Interface zum Terminal (" | ||
+ | * Detektiert das Klingelsignal am Lautsprecher des Terminals | ||
+ | * Löst den Türöffnerkontakt am Terminal aus | ||
+ | * ESP32 " | ||
+ | * empfängt den Zustand des Portals via USB serial | ||
+ | * übermittelt den Zustand des Portals über das shack-WLAN zum Internetservice | ||
+ | * " | ||
+ | * Terminal zur Türsprechanlage | ||
+ | * Wird vom ESP32 " | ||
+ | * INJ#2 | ||
+ | * PoE-Injektor #2 für ESP32 Schloßantrieb Türe C2 | ||
+ | * INJ#3 | ||
+ | * Pseudo-PoE-Injektor #3 für ESP32 Schloßantrieb Türe B2 | ||
+ | |||
+ | **Trägersystem**\\ | ||
+ | |||
+ | {{infrastruktur: | ||
+ | {{infrastruktur: | ||
+ | {{infrastruktur: | ||
+ | |||
+ | * Die komplette OSB-Platte hängt mit einer Keilschiene an einem Querträger | ||
+ | * Um die OSB-Platte abnehmen zu können müssen 5 Leitungen abgezogen werden: | ||
+ | * Schukostecker der 6-fach Steckdosenleiste abziehen (roter Halbkreis) | ||
+ | * RJ45-Stecker aus der Buchse " | ||
+ | * RJ45-Stecker aus der Buchse " | ||
+ | * RJ45-Stecker von Leitung " | ||
+ | * RJ45-Stecker von Leitung " | ||
+ | * Jetzt kann die Platte ca. 1.5cm angehoben, in Richtung Wand verschoben und dann abgenommen werden. | ||
+ | * Das Terminal (" | ||
===== Arbeitssitzungen ===== | ===== Arbeitssitzungen ===== | ||
Zeile 170: | Zeile 301: | ||
* GPIO-Library wurde in Portal-Software integriert und notwendige GPIOs identifiziert | * GPIO-Library wurde in Portal-Software integriert und notwendige GPIOs identifiziert | ||
* Tür-Ersatz wurde gelötet, um Software zu testen (Drei Buttons, zwei LEDs auf kleiner Platine) | * Tür-Ersatz wurde gelötet, um Software zu testen (Drei Buttons, zwei LEDs auf kleiner Platine) | ||
+ | |||
+ | ==== 12.06.2022 ==== | ||
+ | |||
+ | Anwesende: xq, stefan | ||
+ | |||
+ | * Die GPIOs vom Pi wurden lauffähig gemacht | ||
+ | * Es wurde die Ablauf-Sequenz für ÖFFNEN und SCHLIESSEN definiert und implementiert | ||
+ | * Der ESP32 wurde erfolgreich mit der Sprechstelle verheiratet | ||
+ | |||
+ | ==== 13.06.2022 ==== | ||
+ | |||
+ | Anwesende: xq, m1k3y | ||
+ | |||
+ | * Die APU wurde vorbereitet | ||
+ | * WLAN, DHCP, DNS eingerichtet | ||
+ | * MQTT-Server installiert | ||
+ | * Experimente mit Captive Portal, es wird leider nicht so einfach, Android von gutem Verhalten zu überzeugen. Apple ist da gemütlicher | ||
+ | * Ein neuer Key-Export-Prozess wurde definiert | ||
+ | * Key-Export aus dem Byro wurde implementiert | ||
+ | * '' | ||
+ | * Signieren und Verifizieren der Signatur mit '' | ||
+ | * Neues Konzept für Türsteuerungen: | ||
+ | * 4 weitere ESP32-Boards wurden bestellt | ||
+ | |||
+ | ==== 18.06.2022 ==== | ||
+ | |||
+ | Anwesende: xq, m1k3y, stefan | ||
+ | |||
+ | * Die Portal-Software wurde auf die APU deployed. | ||
+ | * Es wurde ein Script zum automatischen Import eines Key-Exports entwickelt. | ||
+ | * Umbau der beiden Software-Repositories in ein großes Monorepo. | ||
+ | * Ein ESP wurde erfolgreich in die //Busch Welcome// | ||
+ | * Es wurde eine Platine für die Motorsteuerung gelötet. | ||
+ | * Motor-Steuerung wurde mechanisch reperiert, Freilauf funktioniert jetzt wieder zuverlässig. | ||
+ | * Integrations-Versuch von Motorsteuerung, | ||
+ | * Motor-Stromaufnahme wurde noch einmal mit besserem Messgerät verifiziert. | ||
+ | |||
+ | Es wurde folgende Projektziele erreicht: | ||
+ | |||
+ | * **Die Fronttüre B kann nun per SSH geöffnet werden!** | ||
+ | * **Die Fronttüre B kann nun per Klingel geöffnet werden, wenn der shack als // | ||
+ | |||
+ | ==== 2022-09-09 ==== | ||
+ | Anwesende: xq, chris, jens, stefan | ||
+ | * Montage des [[infrastruktur: | ||
+ | * Montage des Trägers für den Magneten des Sensors zur Erkennung der Position des Türblatts und des Magneten selbst | ||
+ | |||
+ | ==== 2022-09-10 ==== | ||
+ | Anwesende: xq, stefan, chris | ||
+ | |||
+ | * Einbau von Magneten & Hallsensoren in die [[infrastruktur: | ||
+ | |||
+ | ==== 2022-12-25 ==== | ||
+ | Anwesend: c-mon | ||
+ | * Usability-Verbesserung für legacy-user. Beim Login über open@portal.portal wird jetzt ein nützlicher Hinweis auf den neuen Login-Prozess angezeigt. | ||
+ | |||
+ | ==== 2022-12-25 ==== | ||
+ | Anwesend: c-mon, chris | ||
+ | * Usability-Verbesserung für legacy-user: | ||
+ | * Zeichen am Wegesrand für die Kinder Israels. | ||
+ | * User " | ||
+ | * in / | ||
+ | * in /etc/group: '' | ||
+ | * Meldung ausgeben, dass der User " | ||
+ | <file txt / | ||
+ | # set explanatory message for legacy login user: | ||
+ | Match User open | ||
+ | Banner / | ||
+ | PasswordAuthentication No | ||
+ | </ | ||
+ | <file txt / | ||
+ | ## Dear legacy-user, | ||
+ | ## | ||
+ | ## login using the user " | ||
+ | ## Please log in with | ||
+ | ## " | ||
+ | ## for opening the front door or | ||
+ | ## " | ||
+ | ## for opening the back door. | ||
+ | ## | ||
+ | ## For more information read the documentation at https:// | ||
+ | ## Farewell, | ||
+ | ## open | ||
+ | </ | ||
+ | * damit als DNS-Name '' | ||
+ | * in ''/ | ||
+ | * ein Eintrag '' | ||
+ | |||
+ | ==== 2022-12-26 ==== | ||
+ | Anwesend: chris | ||
+ | | ||
+ | | ||
+ | Zeitstempel in der shell-history eingefügt. Dazu in ''/ | ||
+ | |||
+ | **2023-01-29** | ||
+ | * Anwesend: Stefan, Andreas, chris | ||
+ | * Montage eines Trägers oberhalb Türe B2 | ||
+ | * Montage der Komponenten APU, Switch, ESP32, Steckdosenleiste auf ein Board | ||
+ | * Kabelzuführungen aus dem Schrank neben B2 in die Decke oberhalb B2 | ||
+ | * ToDo: | ||
+ | * " | ||
+ | * Kabelverbindungen herstellen | ||
+ | * Board in den Träger oberhalb B2 einhängen | ||
+ | |||
+ | **2023-01-29** | ||
+ | * Anwesend: Stefan, Karl, Raute, chris | ||
+ | * Montage der Komponenten " | ||
+ | * Modulboard & Netzteile auf dem Haupt-Board montiert | ||
+ | * Kabelverbindungen hergestellt | ||
+ | * Board in den Träger oberhalb B2 eingehängt | ||
+ | * Ergebnis: | ||
+ | * die Portal-Steuerung ist jetzt komplett oberhalb B2 montiert | ||
+ | * der Aufbau ist modular und kann für Wartung und Fehlersuche einfach abgebaut werden | ||
==== nächste Schritte ==== | ==== nächste Schritte ==== | ||
- | * Material organisieren | + | * < |
- | * 1 [[https:// | + | * < |
- | * RaspberryPi | + | * < |
- | * Neue, Linux-mainline-kompatible WLAN-Sticks organisieren | + | * < |
- | * Arbeitsgebiet: | + | * < |
- | * Motorschloss-Bluetooth deaktivieren | + | * < |
- | * Motorschloss mit Strom versorgen | + | * < |
- | * Einfache Lösung: Kabel sauber | + | * Statemachine der Firmware |
- | * Fancy Lösung: Kontakte im Türrahmen montieren, sodass Motorschloss mit Strom versorgt wird, wenn Tür geschlossen. Türschließkontakt kann hiermit auch implementiert werden | + | * Zweite Hardware fertig stellen |
- | * Türbolzen-Lösung in Türschloss integrieren und Anschluss bereitstellen | + | |
- | * Arbeitsgebiet: | + | |
- | * Materialorganisation abwarten | + | |
- | * Arbeitsgebiet: | + | * System-Reset via MQTT implementieren |
- | * Hardware mit Optokopplern versorgen | + | * Debug-Interface implementieren |
- | * ESP32 mit Firmware bespielen (Ethernet, MQTT+Client certificates, IOs) (macht m1k3y) | + | * Dazu auch: LEDs einbauen, die Zustände anzeigen, z.B. |
- | * Hardware mit ESP32 verkuppeln | + | * Anliegen von Betriebsspannungen |
- | * Arbeitsgebiet: | + | * Seriell in die Ansteuerung der Optokoppler |
- | * Plätze für die Geräte (PI-B2, PI-C2, APU, Türöffner) finden | + | * Vorstands-Scripte fertigstellen |
- | * APU aufsetzen (macht m1k3y) | + | * Portal-Box clean aufsetzen |
+ | * Neue CA erzeugen und neue Keys deployen | ||
infrastruktur/portal300.txt · Zuletzt geändert: 2024-03-25 21:56 von chris