.. _`tp2/dispatcher`: KogniDoor RSB Bridge ==================== :Kontakt: Britta Kemper , Alexander Neumann :CITK: `kognidoor-dispatcher `_ :Vorbedingung: Der Quellcode kann aus dem Git-Repository runtergeladen werden. Danach wird das Programm mit ``setuptools`` installiert:: $ python setup.py install --prefix=/vol/kognihome/releases/nightly :Quickstart: In der Bethel Tür befindet sich zwei IO Boards: der Arduino Mega und der Nucleo. Beide werden mit Hilfe des Dispatchers an RSB angeschlossen. In der CSRA Tür befindet sich nur ein Arduino zur Steuerung. **CSRA** Der Dispatcher benötigt die Adresse des Arduino-Endpunktes:: $ arduino-bridge-csra $ arduino-bridge-csra /dev/ttyACM1 9600 Alternativ kann das Skript ``get_tty``, welches in :ref:`tools/kogniconfig` verfügbar ist genutzt werden. Dies bietet sich vor allem für die Automatisierung an und für die Fälle in denen die zugewiesenen TTY-Adressen nicht fix sind:: $ arduino-bridge-csra `get_tty.py 0x2341` Der übergebene String ``0x2341`` entspricht der :term:`VendorID` der Arduinos. **Bethel** Für die Bethel Tür müssen zwei Dispatcher gestartet werden:: $ arduino-bridge-bethel
$ arduino-bridge-bethel 'get_tty.py 0x2a03' 9600 $ helectronics-bridge-bethel
$ helectronics-bridge-bethel 'get_tty.py 0x0403' 9600 Die Baudrate ist ein optionaler Parameter. Wenn dieser nicht übergeben wird, dann wird dieser auf 115200 gesetzt! RSB-Schnittstellen ------------------ .. rsbpubsub:: IN /io/actor/lock/get bool löst das Senden einer Schlossstatusnachricht aus .. rsbpubsub:: IN /io/actor/lock/set rst.door.LockStatus Öffnet Schloss .. rsbpubsub:: IN /io/actor/motor/get bool löst das Senden einer Motorstatusnachricht aus .. rsbpubsub:: IN /io/actor/motor/set rst.door.MotorStatus Fährt Motor auf und zu .. rsbpubsub:: IN /io/audio/speaker/get rst.door.SpeakerStatus löst das Senden einer Lautsprechernachricht aus .. rsbpubsub:: IN /io/audio/speaker/set rst.door.SpeakerStatus setzt sie Lautstärke des Verstärkers .. rsbpubsublist:: :type: IN .. rsbpubsub:: OUT-Intern /service/door/controller/status string Sendet den Namen des aktuellen States .. rsbpubsub:: OUT-Pub-0 /service/detection/knock rst.door.KnockStatus Klopfen an der Tür .. rsbpubsub:: OUT-Pub-1 /io/actor/lock/status rst.door.LockStatus Status des Türschlosses .. rsbpubsub:: OUT-Pub-1 /io/actor/motor/status rst.door.MotorStatus überwacht Motorfahrt .. rsbpubsub:: OUT-Pub-1 /io/emr/radar rst.door.RadarStatus Bewegung vor der Tür .. rsbpubsub:: OUT-Pub-1 /io/emr/reed rst.door.ContactStatus Status Reed-Kontakt .. rsbpubsub:: OUT-Intern /io/audio/speaker/status rst.door.SpeakerStatus Status des Türlautsprechers .. rsbpubsublist:: :type: OUT