PiFace

Die verschiedenen Bauformen von PiFace Digital können direkt auf die verschiedenen Raspis gesteckt werden. PiFace Digital kostet ca. 33 Euro (Reichelt). Die 8 Open Collector Treiber können sehr gut verwendet werden, um externe Relais anzusteuern. Ferner gibt es 8 digitale Inputs und zwei Relais auf dem Board.

PiFace Digital ist komplett in CCU.IO eingebunden. Für Raspi 2/3 gibt es einen passenden Nachfolger : PiFace Digital 2.

https://sites.google.com/site/raspihs1/installation/piface/2014-06-17_221640.png

Hier ist der PiFace in einem speziellen transparentem PiFace Gehäuse von Reichelt (Bestellnummer CB RPF TR). Sehr nett sind die vier mitgelieferten Gummifüße. Es sind auch vier Tasten mitgeliefert, sodaß die vier Taster des PiFace von der Oberseite des Gehäuses bedient werden können (unten links). Alle Schrauben der Klemmverbindungen des PiFace können durch ausgefräste Langlöcher geschraubt werden, ohne das Gehäuse zu öffnen.

PiFace kann über Open Collector 8 Relais direkt ansteuern. Mit den ersten zwei Treibern werden die Relais auf der Platine angesteuert. Man kann die zwei auf der Platine befindlichen Relais "weg-jumpern" und stattdessen zwei externe Relais treiben.

PiFace wird hier beschrieben : http://www.farnell.com/datasheets/1704803.pdf

PiFace kann über 7 (!) Jumper noch nach eigenen Wünschen konfiguriert werden.

Als aktive Elemente sind auf dem Board :

MCP23S17 16-bit I/O expander (Microchip)

ULN2803A Darlington transistor array (TI) - Open Collector Treiber

Der Schaltplan und die Beschreibung der Jumper werden nicht mitgeliefert. Sie sind leider nur mit etwas Suchen zu finden.

http://www.hexnut.net/2013/08/raspberry-pi-pyface-lost-documentation.html

Jumper-Funktionen (sind in obigem Schaltplan leider nicht eingezeichnet) :

In most cases all the jumpers can be left in place.

    • JP1 and JP2 set the address of the board to enable multiple boards to be used together. The default is board address 0.
    • JP3 connects to 5V rail on Raspberry Pi. With it, Raspberry Pi can be powered from the 5V connection on the PiFace, or the PiFace can be powered from the Raspberry Pi
    • JP4 connects the snubber diodes from the ULN2803A to 5V (snubber diodes protect the driving transistors from the high voltages that occur when a coil e.g. a relay turns off). However, if the open-collectors are connected to > 5V, these must be disconnected (else the diodes will conduct between the outputs and 5V)
    • JP5, JP6 are used to disconnect the relays (remove the jumpers to disable). This is useful if you just want to use the open collectors outputs.
    • JP7 can be used to disconnect the power to all onboard outputs (i.e. disable the relays and leds)

Um zu testen, ob das neue PiFace auch funktioniert, gibt es hier die Anweisungen :

http://www.piface.org.uk/

To install the PiFace Digital software run the command:

sudo apt-get install python3-pifacedigital-emulator

Enter Y when prompted.

Nachdem das installiert ist tested man, wie angegeben :

python3 /usr/share/doc/python3-pifacedigitalio/examples/blink.py

schaltet Ausgabe 7 im Sekundentakt. Die LED blinkt.

python3 /usr/share/doc/python3-pifacedigitalio/examples/presslights.py

schaltet Eingänge auf die Ausgänge durch. Taster 1 schaltet Relais 1. Usw.

2019-02-14, Debian Stretch macht leider Probleme. Hier die (komplizierte) Lösung :

Piface und stretch : https://www.raspberrypi.org/forums/viewtopic.php?t=196248

Am nettesten ist natürlich :

pifacedigital-emulator (Funktioniert leider mit stretch nicht mehr)

Mit dem Emulator kann man in einer grafischen Oberfläche alle Eingänge sehen und alle Ausgänge bedienen.

Vorraussetzung für PiFace unter CCU.IO (Muß für Basisfunktionalität durchgeführt werden !)

Wer direkt CCU.IO benutzen will, ohne die Python Programme von pyface.org zu benutzen, muß noch folgendes beachten (siehe Raspi SW aufsetzen). Im Setup für den Raspi muß "Advanced options / SPI kernel" permanent für PiFace gesetzt sein. Wenn der PiFace Digital Emulator schon läuft, ist das ein gutes Zeichen.

Jetzt müßen noch PiFace Accessoires für Node geladen werden. Details stehen hier :

https://www.npmjs.com/package/piface-node

In dieser Anleitung stehen die folgenden Kommandos :

"

Get the Piface C libraries

First, you'll need the C libraries, available here. Follow the "C" library installation, naturally.

The TL;DR version:

$ sudo apt-get update

$ sudo apt-get install automake libtool git

$ git clone https://github.com/thomasmacpherson/piface.git

$ cd piface/c

$ ./autogen.sh && ./configure && make && sudo make install

$ sudo ldconfig

$ cd ../scripts

$ sudo ./spidev-setup

"

Danach muß ein Neustart erfolgen :

$ sudo reboot

Nur bei Problemen :

( Sollte man den Verdacht haben, daß es eine neuere Version des node Paketes piface-node gibt, )

( kann man noch folgendes Kommando abgeben : )

( $ (sudo) npm install piface-node )

( Und dann einfach die Module vergleichen. Die aktuelle Version ist 0.0.6, in beiden Paketen. )

Dann auf die Seite "Adapter" gehen :

Bei dem rpi (=raspi) Adapter auf "konfigurieren" klicken und denselben dadurch scharfschalten, daß man "enabled" und "piface" auf "true" setzt. Nach dem Setzen dieser Einstellung muß man mindestens CCU.IO neu starten. Ersatzweise startet man den Rapsi mit "sudo reboot" komplett neu. Wenn es geklappt hat, muß, wie im obigen Bild, bei rpi ein grünes "TRUE" erscheinen. Alle Piface Ein- und Ausgänge sind jetzt als Teil des Raspberry zu erreichen.

Wie geschrieben, nur die zwei Einstellungen "enabled" und "piface" auf true setzen, sonst nix.

Danach sieht man die Ein- und Ausgänge des Raspi unter "Daten/Datenpunkte".

Rasp1.PIFACEIN.IN0 ist Eingang 0 auf dem Piface.

Rasp1.PIFACEOUT.OUT0 ist Ausgang 0 auf dem PiFace.

Wenn man es im Browser nicht direkt sieht, hilft oft die Sondertaste "F5" = Refresh, und warten.

Und wenn man jetzt eine Taste auf dem PiFace drückt, ändert sich die Angabe direkt von "false" auf "true".

Wenn das funktioniert, kann man z.B. mit ScriptGUI seine Programme schreiben.

Folgendes ScriptGUI "Hello World" Programm toggelt Relais 0 wenn man auf Taste 0 drückt :

Bei der Zuweisung von Ein- und Ausgang erscheinen die Datenpunkte unter "Sonstige" :