Tinkerforge Protocol (TFP)

TFP is developed by Tinkerforge for supporting so called Bricks and Bricklets. Bricks and Bricklets are small hardware modules that can be used to control different motor types (stepper, dc, servo), read out lots of sensors (temperature, humidity, ambient light, air pressure, moisture, etc) and for interaction with humans (displays, potis, leds, buttons, joysticks, etc).

All of these modules are controlled from a PC, bindings are available for C/C++, C#, Delphi, Java, PHP, Python, Ruby, Shell and VB.NET.

The protocol was first developed in 2010. It uses both, USB and TCP/IP. The above mentioned bindings use TCP/IP to communicate with a so called Brick Daemon, which translates the TCP/IP packages to USB to talk with the Bricks and Bricklets. With so called Master Extensions it is also possible to directly communicate with the Bricks/Bricklets over TCP/IP via Ethernet or WiFi.

With the TFP dissector it is possible to debug the Brick Daemon (USB dissection) and the Bindings (TCP/IP dissection). The dissector also is very useful for developing a Binding for a new language.

Protocol dependencies

Information

Example payload

Wireshark

The TFP dissector is fully functional.

Example capture file

Here is a sample capture file containing dissected TFP protocol over TCP/IP and USB.

Display Filter

Show only the TFP based traffic:

Show only the TFP based traffic based on UID (String) field:

Show only the TFP based traffic based on UID (Numeric) field:

Show only the TFP based traffic based on Length field:

Show only the TFP based traffic based on Function ID field:

Show only the TFP based traffic based on Sequence Number field:

Show only the TFP based traffic based on R field:

Show only the TFP based traffic based on A field:

Show only the TFP based traffic based on OO (Other Options) field:

Show only the TFP based traffic based on E (Error) field:

Show only the TFP based traffic based on Future Use field:

Capture Filter

Capture only the TFP based traffic:

Tinkerforge (last edited 2013-10-29 18:42:38 by Ishraq Ibne Ashraf)