Benutzer-Werkzeuge

Webseiten-Werkzeuge


projects:2014:gatekeeper

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
projects:2014:gatekeeper [2017-04-09 11:01] tuxprojects:2014:gatekeeper [2022-11-05 22:07] (aktuell) – [Meta] tux
Zeile 1: Zeile 1:
 +====== Gatekeeper (Schließanlage) ======
  
 +Follow-Up zur [[projects:2013:spacenotification|SpaceNotification]] und [[projects_protected:2012:schliessanlage_fuer_den_space|altem Schließanlagen-Projekt]], konkret geht es um die Schließanlage.
 +
 +===== Meta =====
 +
 +  ? Maintainer
 +  : tux
 +  ? Pad
 +  : https://pad.n39.eu/p/2014_Gatekeeper
 +  ? Git-Repo
 +  : https://github.com/netz39/space_notification
 +  ? Git-Repo
 +  : https://github.com/netz39/rollladensteuerung
 +  ? Git-Repo
 +  : https://github.com/netz39/xmpp_space_control.git
 +  ? Git-Repo
 +  : https://github.com/netz39/i2cbridge
 +  
 +  * Update auf RPi2 bringt [[projects:2020:i2c_foo|I2C-Probleme]] mit sich → gelöst
 +
 +===== Aufbau und Funktionsweise =====
 +==== Software ====
 +Es gibt ein Failsafe-Script, das die Tür abschließt, wenn die Tür offen ist, aber seit 30 Sekunden die SpaceTime inaktiv (aka Ampel rot/aus) ist.
 +
 +=== Komponenten kommunizieren per XMPP ===
 +
 +[[https://github.com/netz39/xmpp_space_control/blob/master/space_control/README.protocol.txt|README im GitHub]]
 +
 +==== Hardware ====
 +
 +{{:projects:2014:img_20140130_195545.jpg?200|}}
 +{{:projects:2014:img_20140202_190317.jpg?200|}}
 +
 +==== Authentifizierung====
 +
 +=== Telefon ===
 +  ? Ansprechpartner
 +  : [[user:tux|Tux]]
 +
 +=== SSH ===
 +  ? Ansprechpartner
 +  : [[user:bastinat0r|Basti]]
 +
 +=== mit einer Webcam und einem QR-Code ===
 +  ? Ansprechpartner
 +  : [[user:eriu|Michel]]
 +  * Links:
 +    * http://www.jeremyblum.com/portfolio/libetech/
 +    * https://github.com/sciguy14/LibeTech-QR-Entry
 +    * https://github.com/sciguy14/LibeTech-QR-WebSystem 
 +
 +==== I3C-Bus ====
 +
 +Der I3C-Bus besteht aus 5 Leitungen:
 +  * SDA und SCL für I²C
 +  * einer Interrupt-Leitung INT
 +  * Versorgungsspannung 5V
 +  * Masse
 +
 +Für die Verbindung zwischen Geräten werden Steckverbinder oder [[http://www.reichelt.de/index.html?ARTICLE=11171|5-polige DIN-Buchsen (Reichelt MAB 5)]] verwendet.
 +
 +=== Belegung Steckverbinder ===
 +  - SDA
 +  - SCL
 +  - INT
 +  - Vcc (5V)
 +  - GND
 +
 +=== Belegung DIN-Buchse ===
 +
 +{{:projects:2014:din_buchse.gif?200|}}
 +(Draufsicht)
 +
 +  - GND
 +  - INT
 +  - SDA
 +  - Vcc (5V)
 +  - SCL
 +
 +==== I3C-Kommandos ====
 +
 +Wenn kein data-Wert spezifiziert wird, ist der Parameter nicht relevant.
 +Wenn kein output spezifiziert wird, bedeutet 1 Erfolg. 0 bedeutet immer Fehler einen Parity-Fehler und sollte zum erneuten Aufruf führen.
 +
 +=== Device 0x20: Ampel ===
 +
 +  #define CMD_I3C_RESET 0x00
 +  #define CMD_GETLIGHT  0x01
 +  #define CMD_SETLIGHT  0x02
 +
 +  * I3C_RESET: Interrupt-Leitung zurücksetzen (sollte bei der Ampel derzeit nicht nötig sein)
 +  * GETLIGHT: Ampelstatus zurückliefern
 +  * SETLIGHT: Ampelstatus setzen
 +
 +  data (DDDD)
 +    1 bit blink-Status
 +    3 bit Farbe: 0=keine, 1=rot, 2=grün
 +
 +{{ :projects:2014:ampel_gruen.jpg?direct&400 |}} {{ :projects:2014:ampel_rot.jpg?direct&400 |}}
 +
 +=== Device 0x21: Controller Rollläden ===
 +
 +  #define CMD_ALL_STOP  0x0
 +  #define CMD_STOP      0x1
 +  #define CMD_UP        0x2
 +  #define CMD_DOWN      0x3
 +
 +  * ALL_STOP: alle Rollläden stoppen
 +  * STOP: Rollladen aus //data// anhalten
 +  * UP: Rollladen aus //data// hochfahren
 +  * DOWN: Rollladen aus //data// herunterfahren
 +
 +//data// gibt jeweils die Nummer des Rollladens (0: fenster bastelbereich, 1: tür bastelbereich, 2: tür lounge, 3: fenster lounge) an
 +Ausgabe: 0 == fehler, 1 == erfolg
 +
 +{{ :projects:2014:controller_rollladen_mit_pi.jpg?direct&400 |}}
 +
 +=== Device 0x22: Manuellsteuerung ===
 +
 +  #define CMD_RESET       0x00
 +  #define CMD_BEEP        0x01
 +  #define CMD_MANUAL_MODE 0x02
 +  #define CMD_GET_SWITCH  0x03
 +  #define CMD_MANUAL_SW   0x05
 +
 +  * RESET: I3C-Interrupt-Status zurücksetzen
 +  * BEEP: Summer nach Muster aktivieren
 +    * data enthält das Bitmuster für die Aktivierung
 +  * MANUAL_MODE: LED-Anzeige setzen 
 +    * data: 0 = aus, 1 = langsam blinken, 2 = schnell blinken, 3 = an
 +  * GET_SWITCH: Schalterstellung auslesen
 +    * data: Nummer des Schalters, korrespondierend zur Rollladen-Nummer
 +    * output: 1 = hoch, 2 = runter, 3 = neutral
 +  * MANUAL_SW: Status des Tasters setzen/auslesen
 +    * data: 1 = Blockstatus löschen, 2 = Blockstatus setzen, sonst keine Änderung
 +    * output: 1 = Blockstatus gesetzt, 2 = Blockstatus gelöscht (Wert vor Manipulation)
 +
 +{{ :projects:2014:rollladen_manuellsteuerung.jpg?direct&400 |}}
 +
 +=== Device 0x23: Tür-Controller ===
 +
 +  #define CMD_RESET       0x00
 +  #define CMD_OPEN        0x01
 +  #define CMD_CLOSE       0x02
 +  #define CMD_STATE       0x03
 +
 +  * RESET: Tür-Status zurücksetzen, inklusive I3C-Interrupt
 +  * OPEN: Tür öffnen
 +  * CLOSE: Tür schließen
 +  * STATE: Tür-Status zurückliefern. Löscht auch den I3C-Interrupt
 +    * output enthält Bitmaske: 
 +
 +  Input Status Byte (ISB)
 +  
 +   +-----+----+----+----+----+----+----+
 +   | 7-6 | 5  | 4  | 3  | 2  | 1  | 0  |
 +   | res | GB | RB | DC | LO | FC | FO |
 +   +-----+----+----+----+----+----+----+
 +  
 +   GB Green Button active (Force-open door)
 +   RB Red Button active (Force-close door)
 +   DO Door Open
 +   LC Lock Closed
 +   FC Force Close
 +   FO Force Open
 +
 +  * Bit-Bedeutung
 +    * DO: Tür steht offen (1) oder ist geschlossen (0)
 +    * LC: Schloss verriegelt (1) / offen (0)
 +    * FC: Force Close – Signalleitung "Verriegeln" ist aktiv
 +    * FO: Force Open – Signalleitung "Öffnen" ist aktiv
 +    * RB, GB sind die beiden Buttons (rot/grün) an der Tür
 +
 +{{ :projects:2014:tuercontroller_buttons.jpg?direct&400 |}}
 +{{ :projects:2014:tuermechanik_1.jpg?direct&400 |}}
 +{{ :projects:2014:tuermechanik_2.jpg?direct&400 |}}
 +
 +=== Device 0x24: SpaceStatus-Switch ===
 +
 +  #define CMD_RESET        0x00
 +  #define CMD_GETSTATE     0x01
 +  #define CMD_SETSTATE     0x02
 +
 +  * RESET: Tür-Status zurücksetzen, inklusive I3C-Interrupt
 +  * GETSTATE: Aktivierten SpaceStatus zurückgeben (1 closed, 2 open, 3 unbekannt)
 +  * SETSTATE: Setzt einen SpaceStatus (verhindert Notifications über Änderungen, wenn der eig. Status schon angepasst ist)
 +
 +
 +===== Schließanlagen reboot =====
 +Die letzten Monate hat die PCB der Schließanlage große Verlässligkeitsprobleme gehabt. Häufigster Fehler ist das konstante Neustarten des Microprozessors wenn der Motor anfährt. Es konnte auf Ground-Bounce zurückgeführt werden und wurde [Foto einfügen] provisorisch repariert.
 +2018-10-14 ist/war das erste Treffen für die Überarbeitung der Technik. Das Pad für Verbesserungen befindet sich [[https://pad.n39.eu/p/4Q9oKB0bvu|hier]].  
 +
 +
 +===== Ideen =====
 +  * USV
 +    * https://hackaday.com/2016/11/26/diying-a-raspberry-pi-power-bank/