1.30.1.1.3.8. KogniDoor RSB Bridge

Kontakt:

Britta Kemper <britta.kemper@dmwschwarze.de>, Alexander Neumann <alneuman@techfak.uni-bielefeld.de>

CITK:

kognidoor-dispatcher

Vorbedingung:

Der Quellcode kann aus dem Git-Repository <https://synergy.cit-ec.de/git/kognihome-tp2.led-dimmer.git> 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  <ADDRESS1> <Baud>
$ arduino-bridge-csra /dev/ttyACM1 9600

Alternativ kann das Skript get_tty, welches in 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 VendorID der Arduinos.

Bethel

Für die Bethel Tür müssen zwei Dispatcher gestartet werden:

$ arduino-bridge-bethel <ADDRESS> <BAUD>
$ arduino-bridge-bethel 'get_tty.py 0x2a03' 9600

$ helectronics-bridge-bethel <ADDRESS> <BAUD>
$ 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!

1.30.1.1.3.8.1. RSB-Schnittstellen

Scope Type Description
/io/actor/lock/get bool löst das Senden einer Schlossstatusnachricht aus
/io/actor/lock/set rst.door.LockStatus Öffnet Schloss
/io/actor/motor/get bool löst das Senden einer Motorstatusnachricht aus
/io/actor/motor/set rst.door.MotorStatus Fährt Motor auf und zu
/io/audio/speaker/get rst.door.SpeakerStatus löst das Senden einer Lautsprechernachricht aus
/io/audio/speaker/set rst.door.SpeakerStatus setzt sie Lautstärke des Verstärkers
Scope Type Description
/io/actor/lock/status rst.door.LockStatus Status des Türschlosses
/io/actor/motor/status rst.door.MotorStatus überwacht Motorfahrt
/io/audio/speaker/status rst.door.SpeakerStatus Status des Türlautsprechers
/io/emr/radar rst.door.RadarStatus Bewegung vor der Tür
/io/emr/reed rst.door.ContactStatus Status Reed-Kontakt
/service/detection/knock rst.door.KnockStatus Klopfen an der Tür
/service/door/controller/status string Sendet den Namen des aktuellen States