Die Perl Bindings ermöglichen es Bricks und Bricklets aus selbst erstellen Perl Skripten heraus zu steuern. Die ZIP Datei für die Bindings beinhaltet:
source/
den Quelltext der Bindings (installierbar mit Makefile.PL
Skript)examples/
die Beispiele für alle Bricks und BrickletsDigest::HMAC_SHA1
Modul
und Thread::Queue
Modul 3.02 oder neuerDie Perl Bindings können auf drei Weisen installiert werden: von unserem APT Repository für Debian basierte Linux Distributionen oder von CPAN oder vom Quelltext. Die Bindings können aber auch ohne Installation genutzt werden.
Die Bindings stehen in unserem APT Repository für Debian basierte Linux Distributionen bereit (dazu wird die ZIP Datei der Bindings nicht benötigt). Zuerst das APT Repository einrichten dann die Bindings installieren:
sudo apt install libtinkerforge-perl
Dann ist auch schon alles bereit, um Beispiele testen zu können. Das Debian Package beinhaltet keine Beispiele. Diese sind als Teil der ZIP Datei der Bindings verfügbar.
Die Bindings stehen im Comprehensive Perl Archive Network CPAN bereit. Von dort können sie mit
dem CPANminus Tool cpanm und
folgendem Befehl installiert werden (dazu wird die ZIP Datei der Bindings nicht
benötigt). Abhängig von der Art der Perl Installation muss dies möglicherweise
mit sudo
bzw. als Administrator ausgeführt werden:
cpanm Tinkerforge
Dann ist auch schon alles bereit, um Beispiele testen zu können. Das CPAN Package beinhaltet keine Beispiele. Diese sind als Teil der ZIP Datei der Bindings verfügbar.
Der source/
Ordner beinhaltet ein Makefile.PL
Skript. Um die Bindings
zu installieren müssen folgende Befehle im source/
Ordner ausgeführt werden.
Abhängig von der Art der Perl Installation muss dies möglicherweise mit
sudo
bzw. als Administrator ausgeführt werden:
perl Makefile.PL
make
make test
make install
Dann ist auch schon alles bereit, um Beispiele testen zu können.
Die Perl Bindings müssen nicht unbedingt installiert werden. Stattdessen
kann auch einfach der Tinkerforge/
Ordner vom source/lib/
Ordner in den
gleichen Ordner wie dein Perl Skript kopiert werden. Der Abschnitt über den
Test eines Beispiels vermittelt mehr Details darüber.
Um ein Perl Beispiel testen zu können, müssen zuerst Brick Daemon und Brick Viewer installiert werden. Brick Daemon arbeitet als Proxy zwischen der USB Schnittstelle der Bricks und den API Bindings. Brick Viewer kann sich mit Brick Daemon verbinden und gibt Informationen über die angeschlossenen Bricks und Bricklets aus.
Als Beispiel wird im Folgenden das Konfigurationsbeispiel des Stepper Bricks
getestet. Dafür muss zuerst die example_configuration.pl
Datei aus dem
examples/brick/stepper/
Ordner in einen neuen Ordner kopiert werden:
example_project/
-> example_configuration.pl
Am Anfang des Beispiels ist mit HOST
und PORT
angegeben unter welcher
Netzwerkadresse der Stepper Brick zu erreichen ist. Ist er lokal per USB
angeschlossen dann ist localhost
und 4223 richtig. Als UID
muss die
UID des angeschlossen Stepper Bricks angegeben werden, diese kann über den
Brick Viewer ermittelt werden:
use constant HOST => 'localhost';
use constant PORT => 4223;
use constant UID => 'XXYYZZ'; # Change XXYYZZ to the UID of your Stepper Brick
Wenn die Bindings installiert wurden, dann kann das Beispiele jetzt direkt ausgeführt werden:
perl example_configuration.pl
Wenn die Bindings nicht installiert wurden, dann kann der Quelltext der
Bindings auch direkt verwendet werden. Dafür muss der Tinkerforge/
Ordner
vom source/lib/
Ordner in den example_project/
Ordner kopiert werden:
example_project/
-> Tinkerforge/
-> example_configuration.pl
Damit Perl den Tinkerforge/
Ordner auch findet muss am Anfang des Beispiels
folgende Zeile eingefügt werden:
use lib './';
Dann ist auch schon alles bereit, um dieses Beispiel testen zu können:
perl example_configuration.pl
Es sind Deadlock-Probleme auf Windows mit Strawberry Perl und Active State Perl bekannt. Der empfohlene Workaround dafür ist Cygwin Perl zu verwenden, das von diesen Problemen nicht betroffen ist. Siehe diesen PerlMonks Thread für weitere Details.
Links zur API Referenz der IP Connection, Bricks und Bricklets sowie die Beispiele aus der ZIP Datei der Bindings sind in der folgenden Tabelle aufgelistet. Anleitungen für weiterführende Projekte finden sich im Abschnitt über Kits.