/* To Do */ Dauerhaft Strom im Flur beschaffen
[stratum0-wiki.git] / Open%2FClose-Monitor%2FHardware-Schalter.mw
index f4c146b..602aca5 100644 (file)
@@ -4,7 +4,7 @@
 |beschreibung=Hardware-Schalter zum Setzen des Open/Close-Status
 |bild=
 |bildbeschreibung=
-|interessenten=
+|interessenten=[[Benutzer:100nano|100nano]]
 |source=Branch stratum-openclose-spw500v in [https://rohieb.name/git/openwrt.git]
 |lizenz=
 |download=
@@ -35,6 +35,7 @@ Aktuell ungelöste Probleme:
 * Wie wird der Status im IRC gesetzt? 
 ** Möglich: über eine Pipe oder Socket mit dem Python-Framework von [[ZombiePoet]] kommunizieren
 * Drosselung der Events, um Spam im IRC zu verhindern. Künstliche Verzögerung einbauen?
+* Dauerhaft Strom im Flur beschaffen
 
 == Erweiterungen ==
 * Automatismen:
@@ -44,6 +45,62 @@ Aktuell ungelöste Probleme:
 ** Spätestens hier wäre ein eigener IRC-Client auf dem Router sinnvoll, um nicht immer den Umweg über ZombiePoet gehen zu müssen.
 * Falls noch genügend Platz im Flash (4 MB) und RAM (16 MB) ist, könnte der Router auch für andere Aufgaben verwendet werden.
 
+== Hardwareanbindung ==
+Nähere Überlegungen, wie
+* die Hardware (Schalter, Leuchten, Klingel) über einen Mikrocontoller an den OpenWrt Router geknödelt werden
+* Softwarestrukturen aussehen
+könnte(n).<br>
+Teilweise lose Gedankensammlung von mir ([[Benutzer:100nano|100nano]]).<br>
+
+=== Hardware===
+<!-- [[Datei:OpenClose SchemaHardware.png|thumb|Grobe schematische Darstellung der Hardwarekomponenten]] -->
+Grobe schematische Darstellung der Hardwarekomponenten:
+[[Datei:OpenClose SchemaHardware.png||none|550px|||Grobe schematische Darstellung der Hardwarekomponenten]]
+'''Spannungsversorgungen:'''
+* Router über Steckernetzteil: Steckdose benötigt
+* AVR vom Router: der Pinheader mit der seriellen Schnittstelle bringt gleich 3,3V mit. --> Forderung: AVR muss mit 3,3V laufen. --> Sollte kein Problem sein, AVR Takt auch unkritisch, bei Taktwahl spaetere Baudrate (Abweichungen Solltimings (Stichwort "Baudratenquarz")) beachten.
+'''Umschalter:'''
+* 2 input pins am uC.
+* GND schalten, uC internen pullup verwenden.
+'''LEDs:'''
+* Jeweils 1 output für Open/Closed. Z.B. grün/rot. --> Eindeutige geometrische Anordnung (Erkennbarkeit rot/grün-Farbenblinde)
+* Orange als "Update läuft" Anzeige. Wenn aus ist Status übernommen. Details siehe unten.
+'''Einbindung der Klingel:'''<br>
+(Vermute, dass das Läuten auch über den Lautsprecher ausgegeben wird, der auch als Lautsprecher+Mikrofon beim Gegensprechen verwendet wird.)
+* Lautsprecher/Klingel über Optokoppler (OK) und evtl. Gleichrichter (Diode) + Tiefpass an inputpin. (Für Näheres erst Messungen machen)
+* je nach Aufbau den Schalter für "Gegensprechen an" an inputpin des uC. __> Unterscheidung zwischen Klingeln und Sprache.
+'''Pegelanpassung:'''<br>
+Bei Betrieb mit 3,3V nicht nötig, nur, falls aus irgendeinem Grunde doch 5V verwendet werden.
+* Router zu AVR: Kein Problem, 3,3V werden auch bei erwarteten 5V als 1 erkannt.
+* AVR zu Router: zB Spannungsteiler mit 2 Widerständen.
+
+=== serielle Kommunikation ===
+* AVR möglichst dumm halten (router ist flexibler, dort kann mal schnell ein script angepasst werden, kein neuflashen des uC nötig)
+* Router kann einzelne Werte des uC abfragen
+beispiele:
+* 1 byte als abfragenachricht, uC antwortet mit wert oder setzt ausgang etc.
+alternativ
+* ganzes aendern von registern einbauen (spaetere nutzung weiterer io-pins ohne umflashen moeglich
+
+=== Logik/Ablauf ===
+Ausgangssituation:
+* Irgendein Status ist global gesetzt (schalter und irc/website/...)
+<br>
+* Schalter: Statuswechselanforderung durch Benutzer
+* uC merkt sich das und macht orange Updatelampe an
+* router pollt uC
+* router bemerkt statuswechsel und aendert den status (ssh etc. (kenne interne vorgaenge mit bot/homepage nicht)
+* wenn status geaendert, fordert router ausschalten der orangen led an.
+* update erfolgreich.
+* wartezeit (aenderung des poll-intervalls) um zu schnelle wechsel (spam) zu vermeiden. (Minutenbereich)
+<br>
+Übersteuerbarkeit des durch den Schalter gesetzten Status notwendig:<br>
+Szenario: Der letzte den space verlassende hat es doch mal vergessen, den status zu aendern und es faellt zuhause auf.<br>
+gewisser personenkreis muss moeglichkeit haben, den status manuell zu setzen.
+Router muss dies bis zum naechsten (hardwareschalter)statuswechsel ignorieren.<br>
+<br>
+...to be continued --[[Benutzer:100nano|100nano]]
+
 == Alte Diskussion ==
 :''hierher verschoben von [[Open/Close-Monitor]]''
 
This page took 0.025927 seconds and 4 git commands to generate.