RzlCtrl: Unterschied zwischen den Versionen
Spike (Diskussion | Beiträge) (Update auf aktuellen Layout stand) |
Spike (Diskussion | Beiträge) (→Software: aktueller Status ergänzt) |
||
Zeile 101: | Zeile 101: | ||
== Software == | == Software == | ||
Die für den AVR schreibt [[Benutzer:Spike|spike]] | |||
=== AVR === | |||
Die Software für den AVR schreibt [[Benutzer:Spike|spike]] | |||
* Die Low-Level Treiber sind fertig | |||
=== ESP8266 === | |||
Die Software schreibt [[Benutzer:Borax|borax]] | |||
Version vom 17. Dezember 2019, 18:51 Uhr
rzlCtrl Release status: experimental [box doku] | |
---|---|
Beschreibung | I/O Hardware für den Hausbus3 |
Kategorie | Infrastruktur |
Autor(en) | spike |
Verantwortliche(r) | spike |
Letzte Version | v0.0.1 |
Im RZL gibt es diverse $Dinge die an den Hausbus3 angebunden ist bzw werden soll. Ausserdem erfordert das Wachstum zusätzliche Hardware. Als kontinuierlichen Weiterentwicklung soll daher eine Platine erstellt werden welche als Eierlegende Wollmilchsau möglichst vielen Ansprüchen gerecht wird.
Vorschläge, Kritik und Helfer sind gerne gesehen.
Aktueller Status
Nachdem das das erste Layout suboptimal war ist mittlerweile ein neues erstellt worden. In dem Zuge wurden auch einige Dinge geändert (s.u.). Die Lieferung der Prints wird in den nächsten Tagen erwartet.
Eierlegende Wollmilchsau
- Türsteuerung
- Pinpad aussen mit RS485 nach innen
- Pin Prüfung / Motor Ansteuerung / Sensoren innen
- Lichtsteuerung
- "Zugangskontrolle" für Laser (Nein, es kommt nicht an jede Maschine so ein teil)
Aufbau
Ein Atmega64 als zentraler Controller und ein ESP zur MQTT anbindung. Der Atmega64 soll alle Funktionen Unabhängig vom ESP (offline) erledigen können.
Versorgung
- 24V (Kann bis 9V runter)
- 5V+ für Motor (Kann mit der 24V Versorgung zusammengelegt werden)
I/O Anschlüsse
- 8 Digitale Ein/Ausgänge
- 24V Output, Kurzschlussfest, max 1,9A Pro Kanal
- 24V Eingang
- 4x 24V und 4x GND Anschlüsse (neu)
- 2 Analoge Eingänge (neu)
- 0..30V
- Jeweils mit extra 24V Anschluss
- H-Bridge für Motor
- 6A, 5-25V, unkaputtbar (laut Hersteller)
485 BUS
192008N1
- Protokoll
z.B.: <SOH>Version<RS>Ziel-Adresse<STX>$data<ETX>16Bit CRC<EOT> Oder: Klartext zwischen Pinpad und Tür (KISS :-)
Dali
Zum ansteuern von EVGs, insbesondere im Neben3raum
- Galvanisch getrennt
- Reicht für 30 EVGs
- Die EVGs müssen vorher mit einer individuellen Adresse versehen werden
S0
Stichwort: Smartmeter
- Galvanisch getrennt
- Led für Impuls Anzeige
125Khz RFID Leser
Gestrichen.
Anschluss für Externer RFID Leser (neu)
- Mifare Classic
- Mit entsprechendem Aufwand auf Software Seite sollte auch aktuelle Tags möglich sein
1-Wire Temperatursensor
Gestrichen. Wenn benötigt dann per RS485 Bus.
Display
Irgendwas zwischen 1X8 und 4x20
Keypad
4x4 Matrix
Gehäuse
Für BOPLA Reglocard 2000 Optimiert
Software
AVR
Die Software für den AVR schreibt spike
- Die Low-Level Treiber sind fertig
ESP8266
Die Software schreibt borax
Struktur
bisherige Überlegungen:
- ESP Übersetzt zwischen RS232 (AVR) und WLAN (MQTT/https)
- RS232 Protokoll ist noch festzulegen
- soll regelmäßig die Pins von der UserDB per https hohlen und zum AVR schicken (https, bisher hat die Schnittstelle von der userDB nur http, ranlvor wird sie auf https upgraden)
- ESP hat fixe topics (to be defined) die er abonniert und neue Ereignisse immer an den AVR weiterleitet
- ESP sendet topics entsprechend der Daten die er vom AVR bekommt. Die komplette Logik befindet sich im AVR, der ESP leitet stumpf durch
- AVR kümmert sich um die I/Os
- offline PIN Kontrolle und Türsteuerung
Kommunikation zwischen ESP und AVR
Die Kommunikation läuft über Seriell direkt auf der Platine. Die Geschwindigkeit wurde erstmal auf 115200 BAUD festgelegt (kein tieferer Grund). Zeitlich ist das ganze nicht weiter kritisch. Auf der Platine ist eine Reset-Leitung vorgesehen mit der es dem AVR möglich ist, den ESP im Falle von Problemen zurückzusetzen (quasi wie ein Watchdog). Aus diesem Grund sollte der ESP regelmäßig Heartbeat Botschaften an den AVR senden. Am besten könnte man in diesen Botschaften ein paar Informationen an den AVR weitergeben, so wie WiFi status, MQTT Status usw. Das ist bisher aber noch nicht definiert.