Dies ist die Beschreibung der Shell API Bindings für das LCD 16x2 Bricklet. Allgemeine Informationen über die Funktionen und technischen Spezifikationen des LCD 16x2 Bricklet sind in dessen Hardware Beschreibung zusammengefasst.
Eine Installationanleitung für die Shell API Bindings ist Teil deren allgemeine Beschreibung.
Der folgende Beispielcode ist Public Domain (CC0 1.0).
Download (example-hello-world.sh)
1#!/bin/sh
2# Connects to localhost:4223 by default, use --host and --port to change this
3
4uid=XYZ # Change XYZ to the UID of your LCD 16x2 Bricklet
5
6# Turn backlight on
7tinkerforge call lcd-16x2-bricklet $uid backlight-on
8
9# Write "Hello World"
10tinkerforge call lcd-16x2-bricklet $uid write-line 0 0 "Hello World"
1#!/bin/sh
2# Connects to localhost:4223 by default, use --host and --port to change this
3
4uid=XYZ # Change XYZ to the UID of your LCD 16x2 Bricklet
5
6# Turn backlight on
7tinkerforge call lcd-16x2-bricklet $uid backlight-on
8
9# Write a string using sed to map to the LCD charset
10# Note: This assumes that the shell supports UTF-8
11tinkerforge call lcd-16x2-bricklet $uid write-line 0 0\
12 "`echo 'Stromstärke: 5µA' | sed 'y/\o134~¥→←°αÄäßεµςρ√¹¤¢ⱠñÖöϴ∞ΩÜüΣπ÷■/\o244\o55\o134\o176\o177\o337\o340\o341\o341\o342\o343\o344\o345\o346\o350\o351\o353\o354\o355\o356\o357\o357\o362\o363\o364\o365\o365\o366\o367\o375\o377/'`"
13
14# Write a string directly including characters from the LCD charset
15tinkerforge call lcd-16x2-bricklet $uid write-line 1 0\
16 "`printf 'Drehzahl: 1000s\xe9'`"
Mögliche Exit Codes für alle tinkerforge Befehle sind:
1: Unterbrochen (Ctrl+C)
2: Syntaxfehler
21: Python 2.5 oder neuer wird benötigt
22: Python argparse Modul fehlt
23: Socket-Fehler
24: Andere Exception
25: Ungültiger Platzhalter in Format-String
26: Authentifizierungsfehler
201: Timeout ist aufgetreten
209: Ungültiger Argumentwert
210: Funktion wird nicht unterstützt
211: Unbekannter Fehler
Allgemeine Optionen des call und des dispatch Befehls sind
hier zu finden. Im Folgenden wird die spezifische
Befehlsstruktur dargestellt.
| Parameter: |
|
|---|
Der call Befehl wird verwendet um eine Funktion des LCD 16x2 Bricklet aufzurufen. Der
Befehl kennt mehrere Optionen:
--help zeigt Hilfe für den spezifischen call Befehl an und endet dann
--list-functions zeigt eine Liste der bekannten Funktionen des LCD 16x2 Bricklet an
und endet dann
| Parameter: |
|
|---|
Der dispatch Befehl wird verwendet um eingehende Callbacks des LCD 16x2 Bricklet
abzufertigen. Der Befehl kennt mehrere Optionen:
--help zeigt Hilfe für den spezifischen dispatch Befehl an und endet
dann
--list-callbacks zeigt eine Liste der bekannten Callbacks des LCD 16x2 Bricklet an
und endet dann
| Parameter: |
|
|---|
Abhängig von der Art der aufzurufenden <function> kennt diese verschiedene
Optionen. Alle Funktionen kennen die folgenden Optionen:
--help zeigt Hilfe für die spezifische <function> an und endet dann
Getter-Funktionen kennen zusätzlich die folgenden Optionen:
--execute <command> Shell-Befehl der für jede eingehende Antwort
ausgeführt wird (siehe den Abschnitt über Ausgabeformatierung für Details)
Setter-Funktionen kennen zusätzlich die folgenden Optionen:
--expect-response fragt Antwort an und wartet auf diese
Mit der --expect-response Option für Setter-Funktionen können Timeouts und
andere Fehlerfälle auch für Aufrufe von Setter-Funktionen detektiert werden.
Das Gerät sendet dann eine Antwort extra für diesen Zweck. Wenn diese Option
für eine Setter-Funktion nicht angegeben ist, dann wird keine Antwort vom
Gerät gesendet und Fehler werden stillschweigend ignoriert, da sie nicht
detektiert werden können.
| Parameter: |
|
|---|
Der abzufertigende <callback> kennt mehrere Optionen:
--help zeigt Hilfe für den spezifische <callback> an und endet dann
--execute <command> Shell-Befehlszeile der für jede eingehende Antwort
ausgeführt wird (siehe den Abschnitt über Ausgabeformatierung für Details)
| Parameter: |
|
|---|---|
| Ausgabe: |
|
Schreibt einen Text in die angegebene Zeile mit einer vorgegebenen Position. Der Text kann maximal 16 Zeichen lang sein.
Beispiel: (0, 5, "Hallo") schreibt Hallo in die Mitte der ersten Zeile des Display.
Das Display nutzt einen speziellen Zeichensatz der alle ASCII Zeichen beinhaltet außer Backslash und Tilde. Der Zeichensatz des LCD beinhaltet weiterhin einige Nicht-ASCII Zeichen, siehe die Zeichensatzspezifikation für Details. Das gezeigte Unicode Beispiel verdeutlicht die Verwendung von Nicht-ASCII Zeichen und wie die Wandlung von Unicode in den LCD Zeichensatz möglich ist.
| Ausgabe: |
|
|---|
Löscht alle Zeichen auf dem Display.
| Ausgabe: |
|
|---|
Aktiviert die Hintergrundbeleuchtung.
| Ausgabe: |
|
|---|
Deaktiviert die Hintergrundbeleuchtung.
| Ausgabe: |
|
|---|
Gibt true zurück wenn die Hintergrundbeleuchtung aktiv ist, sonst false.
| Parameter: |
|
|---|---|
| Ausgabe: |
|
Konfiguriert ob der Cursor (angezeigt als "_") sichtbar ist und ob er
blinkt (angezeigt als blinkender Block). Die Cursor Position ist ein
Zeichen hinter dem zuletzt mit write-line geschriebenen Text.
| Ausgabe: |
|
|---|
Gibt die Konfiguration zurück, wie von set-config gesetzt.
| Parameter: |
|
|---|---|
| Ausgabe: |
|
Gibt true zurück wenn die Taste gedrückt ist.
Wenn auf Tastendrücken und -loslassen reagiert werden soll, wird empfohlen die
button-pressed und button-released Callbacks zu nutzen.
| Parameter: |
|
|---|---|
| Ausgabe: |
|
Das LCD 16x2 Bricklet kann bis zu 8 benutzerdefinierte Buchstaben speichern. Die Buchstaben bestehen aus 5x8 Pixel und sie können über den Index 0-7 adressiert werden. Um die Pixel zu beschreiben, werden die ersten 5 Bit von 8 Bytes verwenden. Zum Beispiel, um den Buchstaben "H" zu erzeugen, sollte das folgende Array gesendet werden:
character[0] = 0b00010001 (Dezimalwert 17)
character[1] = 0b00010001 (Dezimalwert 17)
character[2] = 0b00010001 (Dezimalwert 17)
character[3] = 0b00011111 (Dezimalwert 31)
character[4] = 0b00010001 (Dezimalwert 17)
character[5] = 0b00010001 (Dezimalwert 17)
character[6] = 0b00010001 (Dezimalwert 17)
character[7] = 0b00000000 (Dezimalwert 0)
Die Buchstaben können später mit write-line mit den chars mit
den Byterepräsentationen 8 ("\x08" oder "\u0008") bis 15 ("\x0F" oder
"\u000F") geschrieben werden.
Es ist möglich die benutzerdefinierten Buchstaben im Brick Viewer ab Version 2.0.1 einzustellen.
Benutzerdefinierte Buchstaben werden vom LCD im RAM gespeichert, daher müssen sie nach jedem Start des LCD 16x2 Bricklets gesetzt werden.
Added in version 2.0.1$nbsp;(Plugin).
| Parameter: |
|
|---|---|
| Ausgabe: |
|
Gibt den benutzerdefinierten Buchstaben für den gegebenen
Index zurück, wie von get-custom-character gesetzt.
Added in version 2.0.1$nbsp;(Plugin).
| Ausgabe: |
|
|---|
Gibt die UID, die UID zu der das Bricklet verbunden ist, die Position, die Hard- und Firmware Version sowie den Device Identifier zurück.
Die Position ist 'a', 'b', 'c', 'd', 'e', 'f', 'g' oder 'h' (Bricklet Anschluss). Ein Bricklet hinter einem Isolator Bricklet ist immer an Position 'z'.
Eine Liste der Device Identifier Werte ist hier zu finden.
Callbacks können registriert werden um zeitkritische oder wiederkehrende Daten vom Gerät zu erhalten:
tinkerforge dispatch lcd-16x2-bricklet <uid> example
Die verfügbaren Callbacks werden weiter unten beschrieben.
Bemerkung
Callbacks für wiederkehrende Ereignisse zu verwenden ist immer zu bevorzugen gegenüber der Verwendung von Abfragen. Es wird weniger USB-Bandbreite benutzt und die Latenz ist erheblich geringer, da es keine Paketumlaufzeit gibt.
| Ausgabe: |
|
|---|
Dieser Callback wird ausgelöst, wenn eine Taste gedrückt wird. Der Parameter ist die Nummer der Taste.
| Ausgabe: |
|
|---|
Dieser Callback wird ausgelöst, wenn eine Taste losgelassen wird. Der Parameter ist die Nummer der Taste.