4.3. ScratchClient mit eventbasiertem Button-Input

Die Adapter in scratchClient können komplexe Funktionen bereitstellen. Speziell für Taster gibt es einen Adapter, der eine 'Flankenerkennung' durchführt und broadcast/events verschickt.

Dieser evantbasierte Adapter soll verwendet werden. Hierzu muß die Konfigurationsdatei in scratchClient ausgetauscht werden.

Aufgabe: Neues scratch-programm piandmore_scratchClient_button_event.sb laden, scratchClient mit neuer Konfiguration starten.

Beispielprogramm piandmore_scratchClient_button_event.sb

Falls scratchClient-Software noch läuft, dann mit ctrl-c/ strg-c beenden.

Starte scratchClient-Software in einem Terminal (und Terminal offen lassen).

cd ~/scratchClient
sudo python src/scratchClient.py -c config/config_piandmore_event.xml

Scratch, 'Unterstützung für Netzwerksensoren' einschalten.

Statt den Sensorwerten [0,1] erhält scratch nun die Broadcast/ Event 'button_23_pressed', 'button_23_released'.
Die Namen der Event werden in der Konfiguration definiert.
Wenn scratch das Event einmal empfangen hat, dann steht es als Voreinstellung in den 'Broadcast-Blöcken zur Verfügung: 'wenn ich ... empfange'

Wenn man also bereits Hardware angeschlossen hat, dann kann man die Broadcasts aufzeichnen, sonst muß man diese editieren oder mit copy/paste aus der Konfiguration übernehmen.

Der wesentliche Unterschied ist nun, dass statt dem allgemeinen Eingabe-Adapter adapter.gpio.GpioInput der eventbasierte Adapter adapter.gpio.GpioEventInput verwendet wird.

Die Dokumentation zu GpioInput ist hier GpioInput

Die Dokumentation zu GpioEventInput ist hier GpioEventInput