Der HAT Zero Brick ist ein Raspberry Pi HAT im Standard-Zero-HAT-Formfaktor. Der Brick ist zur HAT-Spezifikation konform und funktioniert automatisch mit Raspbian ohne irgendwelche Änderungen.
Mit dem HAT Zero Brick können bis zu vier Bricklets an ein Raspberry Pi angeschlossen werden.
Bemerkung
Das HAT Zero Brick besitzt 7-Pol-Bricklet-Anschlüsse. Über ein 7-Pol <-> 7-Pol Kabel können Bricklets an das Brick angeschlossen werden. Es werden nur Bricklets unterstützt die über einen 7-poligen Anschluss verfügen.
Die USB Versorgungsspannung kann gemessen werden und ist über die API zugänglich.
Der HAT Zero Brick ist elektronisch kompatibel zu den Raspberry Pi 2B, 3B, 3B+, 4B, Zero und Zero W. Die Befestigungslöcher snd kompatibel zum Raspberry Pi Zero und Zero W. Der Brick ist darauf ausgelegt, möglichst wenig Platz zu benötigen. Zusätzlich bieten wir mit dem HAT Brick eine größere Version mit acht Bricklet-Anschlüssen und weiteren Features. Die Befestigungslöcher sind bei der Version kompatibel zu den standard Raspberry Pis 2/3/4.
Eigenschaft | Wert |
---|---|
Stromverbrauch | 90mW (18mA bei 5V) |
Bricklet-Anschlüsse | 4 |
Abmessungen (B x T x H) | 65 x 30 x 5mm (2,56 x 1,18 x 0,2") |
Gewicht | 12g |
Um mit dem HAT Zero Brick zu beginnen, muss zuerst der Brick Daemon auf dem Raspberry Pi installiert werden. Der Brick Daemon agiert als Proxy zwischen den Bricklet-Anschlüssen des HATs und den API Bindings.
Nachdem der Brick Daemon installiert ist, kann der HAT Zero Brick auf den Raspberry Pi gesteckt und dieser neugestartet werden.
Anschließend kann der Brick Viewer genutzt werden, um sich mit dem HAT Zero Brick und den angeschlossenen Bricklets zu verbinden. Der Brick Viewer kann entweder direkt auf dem Raspberry Pi oder aber auf einem externen PC, der über WLAN Zugriff auf den Raspberry Pi besitzt, installiert werden. Von einem externen PC aus muss sich auf den Hostnamen oder die IP des Raspberry Pis verbunden werden, vom Raspberry Pi aus auf localhost.
Im Brick Viewer sollte ein Tab namens "HAT Zero Brick" und für jedes angeschlossene Bricklet ein weiterer Tab angezeigt werden.
Im HAT Zero Brick Tab des Brick Viewers kann die gemessene USB-Spannung betrachtet werden und die an den HAT Zero angeschlossenen Bricklets werden angezeigt.
Sollte unklar sein, ob der HAT Zero Brick korrekt erkannt wurde, kann ein Blick in den Ordner
/proc/device-tree/hat/
auf dem Raspberry Pi helfen:
cd /proc/device-tree/hat/
echo Name: "$(tr -d '\0'<name)", Product: "$(tr -d '\0'<product)", Product ID: "$(tr -d '\0'<product_id)", Vendor: "$(tr -d '\0'<vendor)"
Dies sollte etwa das folgende ausgeben:
Name: hat, Product: HAT Zero Brick, Product ID: 0x085d, Vendor: Tinkerforge GmbH
Falls der Order nicht exisitiert, oder die Ausgabe nicht korrekt ist, war die Installation nicht erfolgreich. Dann sollte geprüft werden, ob der HAT Zero Brick korrekt verbunden wurde und ob der Raspberry Pi nach dem aufstecken neugestartet wurde.
Das HAT Zero Brick kann zusammen mit einem normalen (nicht-zero) Raspbery Pi 2/3/4 verwendet werden.
Zur Befestigung empfehlen wir die Nutzung eines Raspberry Pi Befestigungskit.
Nutze die Zwei Montagelöcher auf der Rückseite des HATs und des RPi. Die Zwei Montagelöcher auf der Vorderseite des HATs bleiben unbenutzt. Das HAT Zero Brick ist so bereits hinreichend befestigt, es löst sich auch nicht bei Vibrationen. Zwei weitere Abstandshalter und Muttern des Befestigungskits können auf der Vorderseite des RPi genutzt werden um den Aufbau eben zu machen oder woanders zu befestigen.
Zwischen RPi und HAT Zero Brick ist genug Platz um alle vier Bricklet ports mit Bricklets zu verbinden.
Wird Raspbian genutzt, wird der HAT Zero Brick automatisch erkannt und kann verwendet werden. Die Pins werden automatisch für eine Kommunikation mit den Bricklets konfiguriert, indem die gespeicherte HAT-Konfiguration aus dem EEPROM des HAT Zero Bricks gelesen wird.
Wird ein Linux-Image, welches das raspi-config
Framework nicht bietet,
oder ein anderes Board mit Raspberry Pi kompatiblen GPIO-Pinheadern aber anderem Prozessor genutzt,
funktioniert dies nicht automatisch.
In diesem Fall kann der Brick Daemon die notwendige SPI und GPIO Pinkonfiguration vornehmen, falls sie in der Datei /etc/brickd.conf
angegeben wird.
Für ein Standard-Raspberry Pi beispielsweise:
bricklet.group0.spidev = /dev/spidev0.0
bricklet.group0.cs0.driver = gpio
bricklet.group0.cs0.name = gpio27
bricklet.group0.cs0.num = 27
bricklet.group0.cs1.driver = gpio
bricklet.group0.cs1.name = gpio23
bricklet.group0.cs1.num = 23
bricklet.group0.cs2.driver = gpio
bricklet.group0.cs2.name = gpio24
bricklet.group0.cs2.num = 24
bricklet.group0.cs3.driver = gpio
bricklet.group0.cs3.name = gpio22
bricklet.group0.cs3.num = 22
bricklet.group0.cs4.driver = gpio
bricklet.group0.cs4.name = gpio25
bricklet.group0.cs4.num = 25
Als erstes muss das SPI-Device, das genutzt werden soll, konfiguriert werden
(/dev/spidev0.0
für den Raspberry Pi). Anschließend müssen ein GPIO-Treiber,
sowie Name und Nummer des GPIO für jeden Chip Select Pin definiert werden.
Es gibt vier Chip Selects für die vier Bricklet-Anschlüsse und ein Chip Select für
den HAT Zero Brick selbst.
Wird ein komplett anderes Board genutzt, so kann der Schaltplan des Boards Aufschlüsse darüber bieten, wie die Konfiguration angepasst werden muss. tinkerunity.org bietet eine Möglichkeit, Hilfe zu finden.
Siehe Programmierschnittstelle für eine detaillierte Beschreibung.
Sprache | API | Beispiele | Installation |
---|---|---|---|
C/C++ | API | Beispiele | Installation |
C/C++ für Mikrocontroller | API | Beispiele | Installation |
C# | API | Beispiele | Installation |
Delphi/Lazarus | API | Beispiele | Installation |
Go | API | Beispiele | Installation |
Java | API | Beispiele | Installation |
JavaScript | API | Beispiele | Installation |
LabVIEW | API | Installation | |
Mathematica | API | Beispiele | Installation |
MATLAB/Octave | API | Beispiele | Installation |
MQTT | API | Beispiele | Installation |
openHAB | API | Beispiele | Installation |
Perl | API | Beispiele | Installation |
PHP | API | Beispiele | Installation |
Python | API | Beispiele | Installation |
Ruby | API | Beispiele | Installation |
Rust | API | Beispiele | Installation |
Shell | API | Beispiele | Installation |
Visual Basic .NET | API | Beispiele | Installation |
TCP/IP | API | ||
Modbus | API |