Einführung

Die nachfolgende Beschreibung gibt einen Überblick über die verschiedenen Produkte und Konzepte des Tinkerforge Baukastensystems. Detaillierte Beschreibungen über die Funktion und die zur Verfügung stehende API befindet sich in der Dokumentation des jeweiligen Produktes.

Produkte

Unsere Produkte gliedern sich in fünf verschiedene Kategorien:

  • Bricks: Basismodule des Tinkerforge Systems mit eigenen Funktionen.
  • Bricklets: Sensor-/Aktormodule, die die Fähigkeiten von Bricks erweitern und per Kabel an Bricks angeschlossen werden.
  • Master Extensions: Module, die Alternativen zur USB-Schnittstelle des Master Bricks bieten (WIFI, Ethernet, RS485).
  • Stromversorgungen: Module, die einen Stapel aus Bricks mit Strom versorgen.

Die Verwendung von Bricks und Bricklets demonstriert dieses Tutorial.

Bricks

RED Brick Master Brick DC Brick HAT Brick Stepper Brick Servo Brick IMU Brick 2.0

Bricks sind die Basismodule von jedem Tinkerforge System. Es können verschiedene Bricks in einem System genutzt werden. Minimal ist aber immer mindestens ein Brick notwendig. Bricks können eigene Fähigkeiten besitzen (zum Beispiel Motoren steuern oder über einen Sensor verfügen), hauptsächlich können an Bricks aber sogenannte Bricklets angeschlossen werden. Jeder Brick verfügt über mehrere Brickletanschlüsse.

Viele Bricks können über ein externes Gerät ferngesteuert werden, wie zum Beispiel über einen (Embedded-)PC, mittels Schnittstellen wie USB-C, WIFI oder Ethernet. Das externe Gerät führt dann dein Programm aus, welches das System über unsere API steuert.

Es gibt Bricks, welche auf ein Raspberry Pi gesteckt werden können (HAT Brick, HAT Zero Brick), so dass deine Software auf dem Raspberry Pi die angeschlossene Hardware direkt steuert.

Master Bricks, ein spezieller Typ von Bricks mit USB-C Schnittstelle, können gestapelt werden (Beschreibung zum Stapelkonzept). Die USB-C Schnittstelle eines Master Bricks kann mit sogenannten Master Extensions durch WIFI, Ethernet oder RS485 ersetzt werden. Durch das Stapelkonzept können somit alle Bricks und Bricklets anstatt per USB auch per WLAN oder Ethernet ferngesteuert werden.

Es gibt einen extra Abschnitt für abgekündigte Bricks.

Name Beschreibung
Debug Für Firmware Entwickler: JTAG und serielle Konsole
ESP32 ESP32 Mikrocontroller basierter Brick mit 6 Bricklet-Ports
ESP32 Ethernet ESP32 Mikrocontroller basierter Brick mit Ethernet und 6 Bricklet-Ports
HAT HAT für Raspberry Pi mit 8 Bricklet-Ports und Echtzeituhr
HAT Zero HAT für Raspberry Pi Zero mit 4 Bricklet-Ports
IMU 2.0 Voll ausgestattetes AHRS mit 9 Freiheitsgraden
Master Grundlage um Stapel zu bauen und bietet 4 Bricklet Anschlüsse
RED Führt Programme aus und steuert andere Bricks/Bricklets selbständig
Silent Stepper Steuert einen bipolaren Schrittmotor lautlos mit bis zu 46V und 1,6A pro Phase

Bricklets

LCD 128x64 Bricklet NFC Brickelt Rotary Encoder Bricklet 2.0 Piezo Speaker Bricklet 2.0 Industrial Quad Relay Bricklet 2.0 Laser Range Finder Bricklet 2.0 Thermal Imaging Bricklet

Bricklets erweitern die Fähigkeiten von Bricks. Es gibt Bricklets um physikalische Größen wie Rotation, elektrische Spannung, elektrischen Strom, Umgebungshelligkeit oder Umgebungstemperatur zu messen. Es gibt auch Bricklets für Steuerungsaufgaben wie Relais, digitale Ein- und Ausgänge sowie alphanumerische Ausgaben auf LCDs.

Jedes Bricklet hat die kleinste mögliche Größe. Jeder Brick hat typischerweise mehrere Anschlüsse für Bricklets. Über den Brick werden die angeschlossenen Bricks gesteuert.

Es gibt einen extra Abschnitt für abgekündigte Bricklets.

Name Beschreibung
Accelerometer 2.0 Misst Beschleunigung in drei Achsen
Air Quality Misst IAQ Index, Temperatur, relative Luftfeuchtigkeit und Luftdruck
Ambient Light 3.0 Misst Umgebungslicht bis zu 64000Lux
Analog In 3.0 Misst Gleichspannung zwischen 0V und 42V
Analog Out 3.0 Erzeugt konfigurierbare Gleichspannung zwischen 0V und 12V
Barometer Misst Luftdruck und Höhenänderungen
Barometer 2.0 Misst Luftdruck und Höhenänderungen
Breakout Macht alle Bricklet Signale zugänglich
CAN Kommuniziert mit CAN-Bus Geräten
CAN 2.0 Kommuniziert mit CAN-Bus Geräten
CO2 2.0 Misst CO2-Konzentration, Temperatur und Luftfeuchte
Color Misst Farbe (RGB Wert), Beleuchtungsstärke und Farbtemperatur
Color 2.0 Misst Farbe (RGB Wert), Beleuchtungsstärke und Farbtemperatur
Compass 3-Achsen Kompass mit 10 Nanotesla und 0,1° Auflösung
DC 2.0 Steuert einen Gleichstrommotor mit bis zu 28V und 5A (Peak)
Distance IR Misst Entfernung bis zu 150cm mit Infrarot-Licht
Distance IR 2.0 Misst Entfernung bis zu 150cm mit Infrarot-Licht
Distance US 2.0 Misst Entfernung zwischen 30cm und 500cm mit Ultraschall
DMX DMX Master und Slave
Dual Button 2.0 Zwei Taster mit eingebauten blauen LEDs
Dust Detector Misst Staubdichte
E-Paper 296x128 Dreifarbiges 296x128 E-Paper-Display
Energy Monitor Misst Spannung, Strom, Energie, Wirk-/Schein-/Blindleistung, Leistungsfactor und Frequenz
GPS 2.0 Bestimmt Position, Geschwindigkeit und Höhe mittels GPS
GPS 3.0 Bestimmt Position, Geschwindigkeit und Höhe mittels GPS
Hall Effect Detektiert Magnetfelder
Hall Effect 2.0 Misst magnetische Flussdichte zwischen -7mT und +7mT
Humidity 2.0 Misst relative Luftfeuchtigkeit
IMU 3.0 Voll ausgestattetes AHRS mit 9 Freiheitsgraden
Industrial Analog Out 2.0 Erzeugt konfigurierbare Gleichspannung und -strom, 0V bis 10V und 4mA bis 20mA
Industrial Counter 4-Kanal Zähler bis zu 4MHz
Industrial Digital In 4 2.0 4 galvanisch getrennte digitale Eingänge
Industrial Digital Out 4 4 galvanisch getrennte digitale Ausgänge
Industrial Digital Out 4 2.0 4 galvanisch getrennte digitale Ausgänge
Industrial Dual 0-20mA Misst zwei Gleichströme zwischen 0mA und 20mA (IEC 60381-1)
Industrial Dual 0-20mA 2.0 Misst zwei Gleichströme zwischen 0mA und 20mA (IEC 60381-1)
Industrial Dual AC In 2 Eingänge die AC-Spannungen von bis zu 230V detektieren können
Industrial Dual AC Relay Zwei Relais um Wechselstromgeräte zu schalten
Industrial Dual Analog In 2.0 Misst zwei Gleichspannungen zwischen -35V und +35V mit jeweils 24Bit Auflösung
Industrial Dual Relay Zwei Relais um Gleich- und Wechselstromgeräte zu schalten
Industrial PTC Liest Temperaturen von Pt100 und Pt1000 Sensoren
Industrial Quad Relay 2.0 4 galvanisch getrennte Halbleiterrelais (Solid State Relais)
IO-16 16 digitale Ein- und Ausgänge
IO-16 2.0 16 digitale Ein- und Ausgänge
IO-4 2.0 4 digitale Ein- und Ausgänge
Isolator Trennt Verbindung zwischen Bricklets und Bricks galvanisch
Joystick 2-Achsen Joystick mit Taster
Joystick 2.0 2-Achsen Joystick mit Taster
Laser Range Finder 2.0 Misst Entfernung bis zu 40m mit Laser-Licht
LCD 128x64 7,1cm (2,8inch) Display mit 128x64 Pixel und Touchscreen
LCD 20x4 20x4 Zeichen alphanumerisches Display mit blauer Hintergrundbeleuchtung
LED Strip 2.0 Steuert bis zu 2048 RGB(W) LEDs
Line Misst Reflektivität einer Oberfläche
Linear Poti 59mm Linearpotentiometer
Linear Poti 2.0 59mm Linearpotentiometer
Load Cell 2.0 Misst Gewicht mit einer Wägezelle
Motion Detector 2.0 Passiver Infrarot (PIR) Bewegungssensor mit 12m Reichweite und dimmbarer Beleuchtung
Motorized Linear Poti Motorisiertes Linearpotentiometer
Multi Touch Kapazitiver Touch Sensor für 12 Elektroden
Multi Touch 2.0 Kapazitiver Touch Sensor für 12 Elektroden
NFC NFC Tag Lesen/Schreiben, NFC P2P und Card Emulation
OLED 128x64 2.0 3,3cm (1,3inch) OLED Display mit 128x64 Pixel
OLED 64x48 1,68cm (0,66inch) OLED Display mit 64x48 Pixel
One Wire Kommuniziert mit bis zu 64 1-Wire Geräten
Outdoor Weather 433MHz Empfänger für Außen-Wetterstation
Particulate Matter Misst Feinstaub concentration (PM1.0, PM2.5 und PM10)
Performance DC Steuert einen Gleichstrommotor mit bis zu 36V und 10A
Piezo Speaker Erzeugt Piepton mit konfigurierbarer Frequenz
Piezo Speaker 2.0 Erzeugt Piepton und Alarm mit konfigurierbarer Lautstärke und Frequenz
Real-Time Clock Batteriegepufferte Echtzeituhr
Real-Time Clock 2.0 Batteriegepufferte Echtzeituhr
Remote Switch 2.0 Steuert Funksteckdosen und empfängt Signale von Fernbedienungen
RGB LED 2.0 Steuert eine RGB LED
RGB LED Button Taster mit eingebauter RGB LED
Rotary Encoder 2.0 360° Drehgeber/Drehencoder mit Taster
Rotary Poti 300° Drehpotentiometer
Rotary Poti 2.0 300° Drehpotentiometer
RS232 Kommuniziert mit RS232 Geräten
RS232 2.0 Kommuniziert mit RS232 Geräten
RS485 Kommuniziert mit RS485/Modbus Geräten mit voll- oder halb-duplex
Segment Display 4x7 Vier 7-Segment-Anzeigen mit schaltbarem Doppelpunkt
Segment Display 4x7 2.0 Vier 7-Segment-Anzeigen mit schaltbare Punkten
Servo 2.0 Steuert bis zu 10 RC Servos
Silent Stepper 2.0 Steuert einen bipolaren Schrittmotor lautlos mit bis zu 46V und 1,6A pro Phase
Solid State Relay 2.0 Schaltet AC und DC Halbleiterrelais (Solid State Relais)
Sound Intensity Misst Schallintensität
Sound Pressure Level Misst Schalldruck in dB(A/B/C/D/Z)
Temperature Misst Umgebungstemperatur mit 0,5°C Genauigkeit
Temperature 2.0 Misst Umgebungstemperatur mit 0,2°C Genauigkeit
Temperature IR 2.0 Kontaktlose Objekttemperaturmessung zwischen -70°C und +380°C
Thermal Imaging 80x60 Pixel Wärmebildkamera
Thermocouple 2.0 Misst Temperatur mit Thermoelementen
Tilt Erkennt Neigung des Bricklets (Neigungsschalter offen/geschlossen)
UV Light 2.0 Misst UV-A, UV-B und UV Index
Voltage/Current 2.0 Misst Leistung, Gleichspannung und Gleichstrom bis zu 720W/36V/20A
XMC1400 Breakout Entwicklungsboard für Infineon XMC1400 Mikrocontroller

Master Extensions

Ethernet Extension RS485 Extension WIFI Extension 2.0

Wird ein Master Brick alleine oder im Stapel eingesetzt, läuft die Kommunikation über seine USB Schnittstelle. Master Extensions erweitern die Kommunikationsmöglichkeiten von Master Bricks. Es gibt kabelgebundene (RS485, Ethernet) und drahtlose Master Extensions (WIFI). Anstatt über USB können Bricks und Bricklets somit über WLAN (Wi-Fi) oder Ethernet gesteuert werden. Über RS485 ist eine Vernetzung untereinander, auch über größere Strecken, möglich.

Aus Programmierersicht sind die verschiedenen Kommunikationsmöglichkeiten transparent. Ein Stapel mit Master Extension verhält sich so, als wären alle Bricks einzeln per USB am PC angeschlossen.

Das bedeutet: Während Programme entwickelt werden, können allen Bricks einzeln per USB am PC angeschlossen werden. Wenn später die Bricks gestapelt und/oder über eine Master Extension angebunden werden sollen, funktioniert das zuvor geschriebene Programm ohne Änderungen weiter.

Es gibt einen extra Abschnitt für abgekündigte Extensions.

Name Beschreibung
Ethernet Kabelgebundene Ethernet Verbindung zwischen Stapel und PC
RS485 Kabelgebundene RS485 Verbindung zwischen Stapeln
WIFI Drahtlose WLAN Verbindung zwischen Stapel und PC
WIFI 2.0 Drahtlose WLAN Verbindung zwischen Stapel und PC

Stromversorgungen

Step-Down Power Supply

Nahezu alle Bricklets werden über den Brick, an dem sie über das Brickletkabel angeschlossen sind, mit Strom versorgt. Sollte das Bricklet eine andere Art von Stromversorgung benötigen, so ist dieses in der Dokumentation des Bricklets beschrieben.

Wie ein Brick und seine an ihm angeschlossenen Bricklets mit Strom versorgt werden können, ist in der Dokumentation des Bricks beschrieben. Die meisten Bricks können per USB-C mit Strom versorgt werden oder verfügen über einen DC Eingang.

Wenn ein Master Brick zusammen mit einem Brick-Stapel eingesetzt wird, so kann der gesamte Stapel mit allen angeschlossenen Bricklets über die USB Verbindung des Masters mit Strom versorgt werden. Diese Möglichkeit ist durch die USB-Spezifikation auf 500mA beschränkt. Ein großer Stapel kann einen höheren Stromverbrauch aufweisen.

Um auch größere Stapel mit Strom versorgen zu können, kann die Step Down Power Supply eingesetzt werden. Diese ist genauso groß wie der Master Brick, besitzt einen weiten DC-Spannungseingang und wird unter den Stapel gesteckt.

Eine weitere Alternative zur Stromversorgung eines Stapels ist der Einsatz der Ethernet Extension mit PoE. Über Power-over-Ethernet (PoE) kann dann der Stapel über das Netzwerkkabel mit Strom versorgt werden.

Name Beschreibung
ESP32 Versorgt einen ESP32 Brick oder ESP32 Ethernet Brick mit 5V
Step-Down Versorgt einen Stapel von Bricks mit 5V

Konzepte

Stapel aus Master Bricks

Bild eines Stacks von Bricks

Ein spezieller Brick ist der Master Brick. Dieser 4x4cm Brick verfügt über eine USB-C Schnittstelle über die er und seine angeschlossenen Bricklets gesteuert werden können. Master Bricks können gestapelt werden, so dass mehr Anschlüsse für Bricklets zur Verfügung stehen.

Der unterste Master Brick kümmert sich um die Kommunikation aller anderen Teilnehmer im Stapel: Er routet Nachrichten zwischen den Teilnehmern und dem steuernden Gerät. Es ist also nur eine USB-Verbindung notwendig, um die Bricks und Bricklets eines Stapels zu steuern. Aus Benutzersicht verhält sich ein Stapel so, als wären alle Bricks einzeln per USB am Gerät angeschlossen. Das Stapel-Tutorial beinhaltet weitere Informationen über Stapel.

Über Master Extensions kann die USB-Verbindung eines Stapels durch Ethernet, WLAN (Wi-Fi) oder RS485 ersetzt werden. Reicht die Stromzufuhr über USB nicht aus, kann ein Stapel auch mit einer Stromversorgung betrieben werden.

Programmierung/API

Eine generelle Beschreibung der Programmierschnittstelle kann hier gefunden werden. Eine Übersicht der API Bindings für die jeweilige Programmiersprache befindet sich hier. Die API eines Produkts ist auf der jeweiligen Produktseite dokumentiert. Dort finden sich auch spezifische Programmbeispiele für jedes Produkt in jeder unterstützen Programmiersprache.

Die folgenden Tutorials bilden einen Einstieg in die Verwendung von Bricks und Bricklets: