The Shell bindings allow you to control Bricks and Bricklets from your shell scripts. The ZIP file for the bindings contains:
tinkerforge
, a Python script that acts as a shell commandtinkerforge-bash-completion.sh
, a Bash completion scriptexamples/
the examples for every Brick and BrickletThe Shell bindings are based on the Python bindings.
There are two ways to install the Shell bindings: from our APT repository for Debian based Linux distributions or by manually copying the files to the correct location. But can also be used without installation.
The bindings are available in our APT repository for Debian based Linux distributions. Follow the setup guide then install the bindings:
sudo apt install tinkerforge-shell
Now you're ready to test an example. The Debian package does not include the examples. Those are available as part of the bindings ZIP file.
To install the bindings manually copy the tinkerforge
file to
a folder that is in the PATH
. For example, this folder on Linux and macOS:
/usr/local/bin/
On Windows the Scripts/
folder of the Python installation is a good choice:
C:\Python\Scripts\
To be able to call the bindings directly on Windows you have to create a
tinkerforge.bat
file in the Scripts/
folder with the following content:
@"C:\Python\python.exe" "C:\Python\Scripts\tinkerforge" %*
If your Python is not installed in C:\Python\
then you have to adapt the
content of the tinkerforge.bat
file accordingly.
If you're using Bash as your shell then you can use the Bash completion script
tinkerforge-bash-completion.sh
. If you installed the bindings from our APT
repository, then the Bash completion script is already installed correctly and
you can skip the following steps.
To install it copy the tinkerforge-bash-completion.sh
file to the
/etc/bash_completion.d/
an reload the Bash completions with the following
command:
. /etc/bash_completion
The Bash completion for tinkerforge
can complete options, UIDs, Brick and
Bricklet names as well as function and callback names.
To test a Shell example Brick Daemon and Brick Viewer have to be installed first. Brick Daemon acts as a proxy between the USB interface of the Bricks and the API bindings. Brick Viewer connects to Brick Daemon and helps to figure out basic information about the connected Bricks and Bricklets.
All examples are meant for typical Unix shells such as Bash. They will work on Linux and macOS as they are. There are Bash ports for Windows that allow to run the examples unmodified, too.
As an example let's test the configuration example for the Stepper Brick.
For this copy the example-configuration.sh
file from the
examples/brick/stepper/
folder into a new folder:
example_project/
-> example-configuration.sh
If you did not install the bindings then you have to copy the
tinkerforge
file to the example_project/
folder too:
example_project/
-> tinkerforge
-> example-configuration.sh
To make the example find the non-installed tinkerforge
file all occurrences
of the tinkerforge
command in the example-configuration.sh
file have
to be replaced by ./tinkerforge
.
The example starts with a comment about changing the network address using the
--host
and --port
option if it differs from localhost:4223
. If the
Stepper Brick is connected locally to USB then localhost
and 4223 is
correct.
# connects to localhost:4223 by default, use --host and --port to change it
To control a Stepper Brick that can be found at host foobar
and port 5678
the examples has to be changed as follows: each occurrence of the
tinkerforge
command has to be replaced by this:
tinkerforge --host foobar --port 5678
The UID
value has to be changed to the UID of the connected Stepper Brick,
which you can figure out using Brick Viewer:
uid=XXYYZZ # Change XXYYZZ to the UID of your Stepper Brick
Now you're ready to test this example:
./example-configuration.sh
Links to the API reference for the IP Connection, Bricks and Bricklets as well as the examples from the ZIP file of the bindings are listed in the following table. Further project descriptions can be found in the Kits section.