== Entwicklungsstand == Derzeit ist der manuelle Schalter in der Lage den Status u.a. über die Website zur Verfügung zu stellen. ''Vorgesehen ist:'' * [https://redmine.c3d2.de/issues/5 Keymatic] * [https://redmine.c3d2.de/issues/106 opendoor via SSH] * [https://redmine.c3d2.de/issues/107 Status am Schild] neben der beschränkten Wanddurchgangsöffnung * Klingel neben der Eingangstür um auch bei Geräuschkulisse erhört zu werden == Schalter == Schalter ist der große Kasten mit dem 3-Positionen-Schalter in der Mitte direkt an der Eingangstür. In ihm befindet sich ein Raspberry Pi (Pi) sowie eine Platine, die den Türsummer antreibt.[https://media.c3d2.de/u/astro/m/schalterinnereien/ Bild der Innereien vom] [[{{PAGENAME}}|Schalter]] by [[Astro]] Mit an der Platine des Pi ist die Stromversorgung für das kleine LED-Display außen neben der Eingangstür. Wenn der Pi zum Debugging ausgebaut werden muss, kriegt man ihn sonst nicht wieder installiert. {| |- |+ Belegung der Pins beim Pi (siehe [https://media.c3d2.de/u/astro/m/rpi-im-schalter/ Bild vom Pi im] [[{{PAGENAME}}|Schalter]] by [[Astro]]) |- ! Reihe ! außen ! innen |- | align="right" |1 | frei | frei |- | align="right" |2 | frei | frei |- | align="right" |3 | '''grau''' (keymatic schließen) | frei |- | align="right" |4 | '''hellblau''' (Kabel von der Platine) | frei |- | align="right" |5 | '''gelb''' | '''dunkelblau''' (Kabel vom Schalter) |- | align="right" |6 | '''lila''' | frei |- | align="right" |7 | frei | frei |- | align="right" |8 | '''rot''' (keymatic öffnen) | frei |- | align="right" |9 | frei | frei |- | align="right" |10 | frei | frei |- | align="right" |11 | '''schwarz''' | frei |- | align="right" |12 | frei | frei |- | align="right" |13 | Stromversorgung (N900 - 2. Matemat) | '''weiß''' |- |} {| |- |+ Belegung der Pins bei der Platine[https://media.c3d2.de/u/astro/m/board-im-schalter/ Bild von der Platine im] [[{{PAGENAME}}|Schalter]] by [[Astro]] |- ! Reihe ! außen ! innen |- | align="right" |1 | frei | frei |- | align="right" |2 | frei | frei |- | align="right" |3 | '''hellblau''' | frei |- | align="right" |4 | frei | frei |- | align="right" |5 | frei | frei |- | align="right" |6 | frei | frei |- | align="right" |7 | frei | frei |- | align="right" |8 | frei | frei |- | align="right" |9 | frei | frei |- | align="right" |10 | frei | frei |- | align="right" |11 | frei | frei |- | align="right" |12 | frei | frei |- | align="right" |13 | frei | frei |- | align="right" |14 | frei | frei |- | align="right" |15 | frei | frei |- | align="right" |16 | frei | frei |- | align="right" |17 | frei | frei |- | align="right" |18 | frei | frei |- | align="right" |19 | frei | frei |- | align="right" |20 | '''gelb''' | '''orange''' |- | align="right" |21 | '''lila''' | '''rot''' |- | align="right" |22 | frei | frei |- | align="right" |23 | frei | frei |- | align="right" |24 | frei | frei |- | align="right" |25 | frei | frei |- | align="right" |26 | frei | frei |- | align="right" |27 | frei | frei |- | align="right" |28 | frei | frei |- | align="right" |29 | frei | frei |- | align="right" |30 | frei | frei |- | align="right" |31 | frei | frei |- | align="right" |32 | frei | frei |- | align="right" |33 | '''schwarz''' | '''türkis''' |- | align="right" |34 | '''weiß''' | '''orange''' |- |} === Anhalt um den Status von Schalter lokal auszulesen ===
p23=$(cat /sys/class/gpio/gpio23/value)
p24=$(cat /sys/class/gpio/gpio24/value)
status=$(expr ${p23} \* 1 + ${p24} \* 2)
echo Status: ${status}
case ${status} in
        0)      echo "Offline";;
        1)      echo "Online";;
        2)      echo "Full";;
        *)      echo "n.d.";;
esac
exit ${status}
Nach außen geht es mit dem [https://github.com/astro/spacemsg/tree/master/gpio-sensor gpio-sensor von Astro] auf Port 5555 . Das Compilat heißt /etc/service/zmq-switch/run . === Software === Das Linux wird mit [http://git.c3d2.de/cgit.cgi/buildrootschalter/ einem buildroot] gebaut, wobei sich das rootfs komplett im zImage befindet. Der [Server https://github.com/tuxcodejohn/senmqd] für GPIO-Interaktion spricht 0mq. == Keymatic == Um das HQ auch ohne Schlüssel betreten zu können, wurde die Eingangstür mit einem [http://www.elv.de/homematic-funk-tuerschlossantrieb-keymatic-weiss-inkl-funk-handsender.html Funk-Türschlossantrieb] aufgerüstet. Die Keymatic ist über Hackerbus mit dem Raspberry Pi im Schalter verbunden. Damit kann über die GPIO-Pins die Tür auf- und Abgeschlossen werden. Dabei geht man wie folgt vor: * per ssh mit dem Pi verbinden * GPIO-Pins initialisieren (nur nach reboot nötig):
echo 18 > /sys/class/gpio/export    // Pin „Aufschließen“
echo 25 > /sys/class/gpio/export    // Pin „Zuschließen“
echo out > /sys/class/gpio/gpio18/direction    // Pins als Ausgang konfigurieren
echo out > /sys/class/gpio/gpio25/direction
* Aufschließen:
echo "1" > /sys/class/gpio/gpio18/value
// ~20ms warten
echo "0" > /sys/class/gpio/gpio18/value
* Zuschließen:
echo "1" > /sys/class/gpio/gpio25/value
// ~20ms warten
echo "0" > /sys/class/gpio/gpio25/value
== Siehe auch == * [[HQ/Schlüsselersatz]] * [[HQ/Zugangssystem]] == Einzelnachweise == {{foo im HQ}} [[Kategorie:HQ]] [[Kategorie:Projekt]] [[Kategorie:Hardware]]