Warnung
Der RED Brick ist leider abgekündigt. Mehrere ICs die auf dem RED Brick verwendet werden sind aktuell nicht mehr verfügbar oder haben extrem lange Lieferzeiten. Daher können wir keine neuen RED Bricks mehr fertigen.
Als möglichen Ersatz empfehlen wir ein Raspberry Pi (Zero) zusammen mit dem HAT (Zero) Brick.
Der Rapid Embedded Development Brick (RED Brick) kann andere Bricks und Bricklets steuern. Die aktuell unterstützten Sprachen: C/C++, C#, Delphi/Lazerus, Java, JavaScript, MATLAB/Octave, Perl, PHP, Python, Ruby, Shell und Visual Basic .NET, können direkt auf dem Brick ausgeführt werden.
Ein Programm, das Bricks und Bricklets steuert, kann auf einem normalen PC oder Mac geschrieben und getestet werden. Anschließend kann es per Knopfdruck auf den RED Brick übertragen und ohne Änderungen auf diesen ausgeführt werden. Es können mehrere Programme gleichzeitig ausgeführt werden. Deren Ausführung kann konfiguriert (direkt nach dem Booten, jede Stunde, etc.) sowie überwacht werden.
Eigene Projekte können somit sehr schnell und einfach realisiert werden. Unseres Wissens nach ist keine, auch nur im Ansatz vergleichbare Lösung, erhältlich.
Für jede unterstützte Programmiersprache sind die Tinkerforge API und häufig genutzte Bibliotheken vorinstalliert. Weitere Bibliotheken können nachinstalliert werden.
Der Brick ist mit einem Micro-HDMI Anschluss ausgestattet, so dass auch Programme mit grafischer Benutzeroberfläche ausgeführt werden können. Eine USB 2.0 Host Schnittstelle kann genutzt werden, um Eingabe- und Zeigegeräte, wie Tastaturen, Mäuse oder Touchscreens, zu nutzen.
Bemerkung
Der RED Brick hat keine Bricklet-Anschlüsse. Um Bricklets anschließen zu können, wird mindestens ein weiterer Brick mit Bricklet-Anschlüssen benötigt, zum Beispiel der Master Brick. Dieser kann wie gewohnt mit dem RED Brick zu einem Stapel verbunden werden.
Mit der Ethernet Master Extension kann der RED Brick um eine Ethernet-Schnittstelle erweitert werden. Die RS485 Master Extension wird ebenfalls unterstützt, so dass auch entfernte Stapel von Bricks und Bricklets vom RED Brick gesteuert werden können.
Fortgeschrittene Nutzer können den Brick mit vollem Zugriff auf dem zugrundeliegenden Debian System nutzen.
Ein Einführungsvideo gibt es auf Youtube:
Eigenschaft | Wert |
---|---|
Prozessor | Allwinner A10s, Cortex A8 1GHz, 3D Mali400 GPU, NEON |
Speicher | 512MB DDR3 SDRAM, Micro-SD-Karte als Flash Speicher |
Anschlüsse | USB 2.0 Host, Micro-HDMI (Typ D), Mini-USB, Stapelverbinder |
Abmessungen (B x T x H) | 40 x 40 x 16mm (1,57 x 1,57 x 0,63") |
Gewicht | 14g |
Stromverbrauch | 0,75W (5V/150mA, Leerlauf); 1,1W (5V/220mA, 100% Last) |
Mit den folgenden Schritten kann der RED Brick getestet werden. Ein Schritt für Schritt Tutorial zum RED Brick steht ebenfalls bereit: RED Brick Tutorial.
Als erstes müssen Brick Daemon und Brick Viewer Software auf einem PC oder Mac installiert werden. Anschließend sollte die vorbereitet Micro-SD-Karte in den Micro-SD-Kartenslot des RED Bricks gesteckt werden. Die Position des Kartenslot und eine Übersicht aller Schnittstellen des Bricks gibt es in der Hardware Beschreibung. SD Karten mit vorinstalliertem Image können in unserem Shop bestellt werden. Ansonsten kann ein passenden SD Karte aber auch selber vorbereitet werden, siehe den Image auf SD Karte kopiert Abschnitt.
Danach ist der RED Brick einsatzbereit und kann mit dem PC oder Mac mit einem Mini-USB Kabel verbunden werden.
Nachdem die Brick Viewer Software gestartet wurde muss auf "Connect" geklickt werden. Ein Tab (Reiter), beschriftet mit "RED Brick", sollte auftauchen. Diesen Tab anklicken.
Auf der linken Seite des Tabs sind weitere Tabs vorhanden. Der "Overview" Tab gibt eine Übersicht über die Auslastung der CPU, die Speicherbelegung und andere Statusinformationen. Erscheinen diese Anzeigen, so bedeute dies, dass der RED Brick wie erwartet funktioniert und Programme hochgeladen werden können. Im Brick Viewer Abschnitt wird beschrieben, wie der RED Brick konfiguriert werden kann und wie Programme hochgeladen werden.
Zusätzlich kann die grafische Nutzerschnittstelle (HDMI) getestet werden. Dazu muss ein Monitor an den HDMI Anschluss und ein USB Hub mit Tastatur und Maus an dem USB Anschluss des RED Bricks angeschlossen werden. Während des Bootvorgangs kann das Starten des LXDE Desktop Environments beobachtet werden, das anschließend wie ein ganz normaler Desktop PC verwendet werden kann.
Auf dem Linux kann man sich mittels Nutzer tf
und Passwort tf
anmelden.
Der tf
Nutzer ist sudoer.
Bemerkung
Aus Sicherheitsgründen kann es sinnvoll sein das Passwort zu ändern. Die Prozedur ist hier beschrieben.
Dieser Abschnitt beschreibt die Konfiguration des RED Bricks mit der Brick Viewer Software. Der RED Brick kann ebenfalls über die RED Brick API konfiguriert werden (nur für Power User gedacht).
Die RED Brick Darstellung im Brick Viewer besteht aus verschiedenen Tabs. Jeder wird nachfolgend im Detail beschrieben. Die UID des RED Bricks, die Position im Stapel, der Name des benutzten Images, Anzahl der Timeouts und das Wort System werden als erstes aufgeführt. Über System kann der Brick Daemon auf dem RED Brick neugestartet werden, oder aber der RED Brick selber neugestartet oder heruntergefahren werden.
Seit Brick Viewer Version 2.3.9 ist es möglich die Tinkerforge Software
(Brick Viewer und die Tinkerforge Bindings) auf dem RED Brick upzudaten.
Der Updateprozess kann im System
Menü gestartet werden.
Falls Updates vorhanden sind werden diese gemeldet.
Nach der Bestätigung vom Nutzer startet das Update.
Einzige Bedingung für das Updaten ist eine funktionierende Internetverbindung auf dem System auf dem der Brick Viewer läuft. Der RED Brick benötigt keine aktive Internetverbindung dafür.
Dieser Tab ist standardmäßig selektiert. Er zeigt die Zeit, die der RED Brick bereits läuft (Uptime), sowie die CPU- und Speicher- Nutzung an. Weiter unten werden die Top-Prozesse nach CPU oder Speichernutzung angezeigt, die aktuell auf dem RED Brick laufen. Die Tabelle Network Interfaces zeigt den Status der aktuell konfigurierten Netzwerkschnittstellen.
Die Liste kann folgende Netzwerkschnittstellen enthalten (X steht für eine Zahl, typischerweise 0):
lo
: Dies ist die sogenannte Loopback-Schnittstelle. Sie ist rein lokal und
dient unter anderem der Kommunikation zwischen Anwenderprogrammen und dem
lokalen Brick Daemon.wlanX
: Dies ist die WLAN-Schnittstelle. Sie wird erzeugt wenn ein WLAN USB
Stick an die USB Host Buchse angeschlossen wird.ethX
: Dies ist eine Ethernet-Schnittstelle. Sie wird erzeugt wenn ein
Ethernet USB Stick an die USB Host Buchse
angeschlossen wird.tfX
: Ist die Ethernet-Schnittstelle, die erzeugt wird, wenn eine
Ethernet Extension auf den RED Brick gesteckt
wird.Die Statusanzeigen werden alle 3 Sekunden automatisch aktualisiert.
Der Settings Tab ist in verschiedene Unterbereiche aufgeteilt.
Im Network Abschnitt dieses Tabs können alle Einstellungen zu Netzwerken vorgenommen werden.
Der Current Network Status Abschnitt zeigt den Status der konfigurierten und aktuell genutzten Netzwerkschnittstelle an. Der angezeigte Status wird automatisch alle 3 Sekunden aktualisiert.
Initial ist der RED Brick für keine Schnittstelle konfiguriert. Er wird initial
von sich aus keine Schnittstelle nutzen, selbst wenn eine vorhanden ist.
Es muss erst eine Schnittstelle im Configuration Abschnitt konfiguriert
werden. Als erstes muss die Schnittstelle gewählt werden. Ein Ethernet USB Stick
wird als ethX
, eine Ethernet Extension als tfX
und ein WLAN USB Stick
als wlanX
angezeigt (X ist eine Zahl). Abhängig von der gewählten
Schnittstelle gibt es verschiedenen Einstellungsoptionen:
Konfiguration einer Ethernet-Schnittstelle:
Nachdem eine Ethernet-Schnittstelle gewählt wurde kann zwischen DHCP oder statischer IP gewählt werden. Klicke anschließend Connect.
Konfiguration einer WLAN-Schnittstelle:
Nachdem eine WLAN-Schnittstelle gewählt wurde, können WLAN-Netze durch Klicken auf den Scan Button gesucht werden. Dies dauert ein paar Sekunden.
Wähle den gewünschten Access Point und gebe den dazugehörigen Key ein. Anschließend muss nur noch zwischen DHCP oder statischer IP Adresse gewählt werden. Durch Klicken auf Connect wird die Verbindung zum Netzwerk hergestellt. Unterstützte WLAN USB Sticks finden sich in unserem Shop.
Ab jetzt verbindet sich der RED Brick nach einem Neustart automatisch über die konfigurierte Schnittstelle.
Im WLAN Access Point Abschnitt (benötigt Image >= 1.4 und Brick Viewer >= 2.2.2) kann der RED Brick in einen WLAN Access Point verwandelt werden. Dieser Abschnitt ist erst verfügbar, wenn der Access Point Service aktiviert ist und ein WLAN USB Stick eingesteckt ist.
Im Access Point Modus stellt der RED Brick einen DHCP und DNS Server zur Verfügung. Diese geben Geräten, die sich mit dem RED Brick verbinden eine IP Adresse und stellt eine Domain zur Verfügung. Die IP Adresse, SSID, WPA Passwort, DHCP Pool, DNS Domain und andere Optionen die von einem Access Point erwartet werden, können konfiguriert werden.
Die aktuellen DHCP Leases werden angezeigt, so dass verbundene Geräte einfach identifiziert werden können.
Im Access Point Modus ist keine externe Netzwerkinfrastruktur notwendig. Smartphone, Tablet oder Laptop können direkt mit dem RED Brick verbunden werden.
Im Mobile Internet Abschnitt (benötigt Image >= 1.7 und Brick Viewer >= 2.2.6) kann eine mobile Internet-Verbindung konfiguriert werden. Dieser Abschnitt ist erst verfügbar, wenn der Mobile Internet Service aktiviert ist und ein 3G USB Stick eingesteckt ist.
Voreinstellungen für verschiedene Mobilfunkbetreiber können über denn "Provider Presets" Knopf ausgewählt werden.
Nach einem Klick auf den "Connect" Knopf wird die Verbindung hergestellt, dies kann einige Minuten dauern. Es muss immer ein SIM Karten PIN eingegeben werden. Ist die PIN auf der SIM Karte deaktiviert worden, so kann eine beliebige PIN angegeben werden.
Wenn WLAN Access Point und Mobile Internet gleichzeitig aktive sind, dann teilt der RED Brick als WLAN Router seine Internet-Verbindung automatisch mit den verbundenen WLAN Teilnehmern.
Die Serverüberwachungs-Funktion (benötigt Image >= 1.6 und Brick Viewer >= 2.2.3) ist für die Zusammenarbeit mit dem Starterkit: Serverraum-Überwachung entworfen worden. Für weitere Details siehe die Dokumentation des Kits.
Im openHAB Abschnitt (benötigt Image >= 1.6 und Brick Viewer >= 2.2.3) kann der openHAB Service auf dem RED Brick konfiguriert werden. Ab Image >= 1.10 und Brick Viewer >= 2.3.11 wird openHAB2 verwendet.
Dieser Abschnitt ist erst verfügbar, wenn der openHAB Service aktiviert ist.
Über die New und Delete Knöpfe können neue .items
, .rules
und
.sitemap
Dateien angelegt und bestehende Dateien wieder gelöscht werden.
Abhängig von der Endung der Datei speichert Brick Viewer sie automatisch im
richtigen openHAB Konfigurationsverzeichnis.
Nachdem Änderungen einer Konfigurationsdatei vorgenommen wurden können diese
über den Apply Changes Knopf gespeichert oder über den Discard Changes
Knopf verworfen werden. Dateien mit ungespeicherten Änderungen werden als
(modified)
angezeigt.
Ein openHAB Konfigurationsbeispiel ist in der Dokumentation des Starterkit: Wetterstation beschrieben.
Im Brick Daemon Abschnitt des Tabs können Einstellungen zum lokalen Brick Daemon vorgenommen werden.
Zu den Konfigurationsmöglichkeiten gehören die Adresse auf dem der Brick Daemon lauscht, der dazugehörige Port, der Port für die Nutzung von WebSockets, das Authentifizierungsgeheimnis und weitere Einstellungen u.a. die Funktion der roten und grünen LED.
WebSockets werden von der Browser-Version der JavaScript Bindings verwendet um Bricks und Bricklets zu steuern.
Im Date/Time Abschnitt kann die Uhr des RED Bricks, mit der Uhr des angeschlossenen PCs, synchronisiert werden. Es gibt keine Batterie auf dem RED Brick, so dass die Uhr nicht weiterläuft, wenn der RED Brick nicht aktiv ist.
Wenn eine Verbindung zum Internet besteht (Ethernet Extension oder WLAN USB Stick), werden Datum und Uhrzeit automatisch mittels NTP gesetzt. Dazu muss nur die Zeitzone gesetzt werden. Diese wird gespeichert und wieder hergestellt, wenn der RED Brick das nächste mal hochfährt.
Falls die Zeit nach dem Booten immer vorhanden sein muss, ein Verbindung zum
Internet aber nicht garantiert werden kann, dann kann auch das
GPS Bricklet 2.0 oder das Real-Time Clock Bricklet 2.0 benutzt werden. Dazu muss nur ein entsprechendes
kleines Programm von GitHub
heruntergeladen und auf den RED Brick geladen werden, um die Uhrzeit
mittels GPS Uhrzeit (gps_time
Programm) oder Real-Time Clock
Uhrzeit (rtc_time
Programm) zu synchronisieren.
Im File System Abschnitt (benötigt Brick Viewer >= 2.2.1) kann das Dateisystem auf der Micro-SD-Karte vergrößert werden.
Abhängig von der Image Größe und der Kapazität der Micro-SD-Karte wird möglicherweise nicht die volle Kapazität der Micro-SD-Karte genutzt. In diesem Fall kann durch eine Vergrößerung des Dateisystems mehr Speicherplatz nutzbar gemacht werden. Wenn das Dateisystem weniger als 95% der Micro-SD-Karte einnimmt dann kann es vergrößert werden. Um dies zu tun einfach den Anweisungen in Brick Viewer folgen.
Im Services Abschnitt (benötigt Image >= 1.4 und Brick Viewer >= 2.2.2) können verschiedene Services des RED Brick ein- und ausgeschaltet werden. Wenn Webserver oder Desktop Umgebung nicht benötigt werden können diese abgeschaltet werden, wodurch der RED Brick schneller bootet. Ebenfalls kann hier der WLAN Access Point Modus eingeschaltet werden, wodurch sich Smartphones und Notebooks direkt mit dem RED Brick verbinden können.
Werden Services geändert und gespeichert, so startet der RED Brick neu. Nach dem Neustart stehen die Änderungen zur Verfügung.
Die Beschreibung des Tabs befindet auf einer separaten Seite.
Wenn der RED Brick mittels Mini-USB Anschluss mit einem
PC verbunden ist, registriert er eine serielle Schnittstelle. Diese Schnittstelle
kann dazu genutzt werden um auf die Linux Shell des RED Bricks zuzugreifen. Dazu
muss nur die entsprechende Schnittstelle gewählt werden und Connect geklickt
werden. Die Schnittstelle ist typischerweise unter Linux /dev/ttyACMX
(X ist
eine Zahl), unter Windows Serial Port X
(X ist Zahl) mit dem Gerätenamen
RED Brick Serial Console
und unter OS X /dev/tty.usbmodemXYZ
, wobei XYZ
ein Teil der UID des RED Bricks ist. Mit dem Nutzer tf
und Passwort
tf
kann man sich einloggen. Falls unbekannt ist welche Schnittstelle die
richtig ist, kann diese durch Ausprobieren bestimmt werden. Es kann notwendig
sein die ENTER Taste zu drücken um die Kommandozeile zu sehen.
Nachfolgend ein Screenshot, das die Konsole bei der Ausführung des Befehls
htop
zeigt.
Ein gutes Shell Tutorial steht auf linuxcommand.org zur Verfügung.
Der Version Tab gibt Informationen über den installierten Brick Daemon, RED Brick API Daemon sowie die installierten Bindings und deren Bibliotheken.
Wenn andere Bibliotheken, wie die Installierten genutzt werden sollen, dann
können diese entweder mit dem eigenen Programm
hochgeladen werden oder aber mittels
apt-get
, pip
, pear
, npm
oder ähnlichen Paketmanagern
installiert werden. Die genannten Paketmanager sind in allen RED Brick Images
vorinstalliert.
Zwei Master Extensions werden vom RED Brick unterstützt: Ethernet Extension und RS485 Extension.
Eine Änderung der Einstellungen einer Extension führt zu einem Neustart des Brick Daemons, d.h. der RED Brick Tab verschwindet kurz aus dem Brick Viewer und taucht kurze Zeit später wieder auf.
Nur die MAC Adresse der Ethernet Extension kann hier geändert werden. Da diese als normale Netzwerkschnittstelle auftaucht, können die Netzwerkeinstellungen im Settings Tab verändert werden.
Die Konfiguration der RS485 Extension ist identisch zu der mit einem Master Brick. Siehe RS485 Extension Dokumentation.
Folgende Baudraten werden bei der Nutzung eines RED Bricks unterstützt: 500000, 250000, 166666, 125000, 100000, 83333, 71428, 62500, 55555, 50000, 45454 und 41666 Baud.
Der Import/Export Tab (benötigt Brick Viewer >= 2.2.2) erlaubt es System Logs und Programme zu importieren und exportieren.
Wähle eine Logdatei und klicke auf Refresh
. Die Logdatei wird vom RED Brick
heruntergeladen und im Brick Viewer angezeigt. Mit Save
kann die Datei
gespeichert werden.
Wähle ein Datei mit zuvor exportierten Programmen (siehe unten) und wähle die
Programme, die importiert werden sollen. Drücke Import
um diese hochzuladen.
Im Export Tab können Programme exportiert werden. Drücke Export
um diese auf
der Festplatte zu speichern.
Die Exportdatei enthält die Konfiguration des Programms, alle Dateien und die Logs die sich über die Zeit angesammelt haben. Wenn das zu exportierende Programm läuft und dauerhaft Dateien schreibt bietet es sich an dieses vor dem Export zu beenden, um teilweise geschriebene Dateien zu verhindern.
Mit dieser Option können Programme exportiert werden und auf anderen RED Bricks importiert (siehe oben) werden.
Wenn der RED Brick mit einem WLAN USB Stick, einer Ethernet Extension oder einer
anderen Netzwerkverbindung ausgestattet ist, kann auf das Web Interface
zugegriffen werden. Das Web Interface ist unter der IP Adresse des RED Bricks
oder unter dessen Hostnamen (Voreinstellung: red-brick
) erreichbar.
Das RED Brick Web Interface zeigt die installierten Programme, deren Logs und Konfiguration, als auch die hochgeladenen Dateien. Seit Image Version 1.6 werden auch die verfügbaren openHAB Sitemaps und ein Link zur Serverüberwachungs Webseite mit aufgeführt.
Neben dem vorinstallierten Web Interface können auch eigene installiert werden.
Es werden Webanwendungen, die in HTML/JavaScript, Python oder PHP geschrieben
sind, unterstützt. Wenn eine index.py
, index.php
oder index.html
Datei hochgeladen wird, so wird diese als Index Datei des binary Ordners genutzt.
Beispiel zur Erklärung: Es soll eine PHP Webseite entwickelt werden, die
Bricks/Bricklets steuert. Dazu wird das PHP Programm EXAMPLE
mit der ID
EXAMPLE-ID
hochgeladen, das eine index.php
als Startpunkt enthält. Wird
anschließend das RED Brick Web Interface aufgerufen und der "Bin" Button der
EXAMPLE
Anwendung geklickt, so wird der Link zu /programs/EXAMPLE-ID/bin
geöffnet. Dieser Link führt direkt die index.php
aus, da diese als Index Datei
des Verzeichnisses fungiert.
Webseiten, die Umwelt-Messungen von einem Temperature/Barometer/Humidity Bricklets anzeigt können somit sehr einfach erstellt werden. Es können aber auch Aktoren, zum Beispiel ein Relay Bricklet, über Buttons gesteuert werden.
Mit dem RED Brick ist es also sehr einfach Web-Anwendungen zu entwickeln, die Hardware steuern.
Wenn eine HTML Datei mit eingebettetem JavaScript hochgeladen wird, können die JavaScript Bindings genutzt werden. Diese sind direkt im Root Verzeichnis verfügbar.
<script src="/Tinkerforge.js" type='text/javascript'></script>
Das JavaScript wird im Browser des Benutzers ausgeführt und nicht auf dem RED Brick. Aus diesem Grund muss sich mit der IP Adresse des RED Bricks verbunden werden und nicht mit localhost!
Auf dem Webserver (Apache) des RED Bricks wird WSGI
(mod_wsgi) von Python genutzt
um Webseiten darzustellen. Dieser ist konfiguriert um eine index.py
als
Startpunkt für ein WSGI Skript zu nutzen. Alle verbreiteten Python Web
Frameworks unterstützen WSGI. Das Flask framework
ist auf dem RED Brick vorinstalliert (beinhaltet
Werkzeug und Jinja).
Ein minimales Flask Web Interface, das auf den RED Brick hochgeladen werden kann,
ist eine index.py
mit folgenden Inhalt:
from flask import Flask # Use Flask framework
application = Flask(__name__) # Function "application" is used by Apache/wsgi
app = application # Use shortcut for routing
@app.route('/')
def index():
return '<html><body>Hello World!</body></html>'
Soll ein Programm Bricks/Bricklets steuern, so müssen nur die Tinkerforge Bindings, wie bei jedem Python Programm, eingebunden werden:
from tinkerforge.ip_connection import IPConnection
from tinkerforge.bricklet_temperature import Temperature
# ...
Das standardmäßig installierte Web Interface auf dem RED Brick nutzt Python/Flask. Der Code steht auf GitHub zur Verfügung.
Es können natürlich auch Templates, statische Dateien und so weiter benutzt werden. Diese können genauso benutzt werden wie in den meisten Flask Tutorials gezeigt.
Der Webserver auf dem RED Brick ist dazu eingerichtet eine index.php
zu
erkennen.
Eine minimale Hallo Welt index.php
könnte wie folgt aussehen:
<?php $greeting = 'Hello World!'; ?>
<html>
<head>
<title>PHP Example</title>
</head>
<body>
<p><?php echo $greeting; ?><p>
<p><?php phpinfo(); ?><p>
</body>
</html>
Um Bricks/Bricklets zu steuern müssen die Tinkerforge Bindings eingebunden werden:
require_once('Tinkerforge/IPConnection.php');
require_once('Tinkerforge/BrickletTemperature.php');
// ...
Das RED Brick Software Image basiert auf Debian und ist auf einer Micro-SD-Karte gespeichert. Zu Anfang gab es das Image in zwei Varianten: Das "Full" und das "Fast" Image. Seit Image Version 1.4 gibt es nur noch ein Image (ehemals das "Full" Image) mit einstellbaren Services (Desktop-Umgebung, Web Server, WLAN Access Point, usw.), die es erlauben das Image an verschiedenen Anforderungen anzupassen.
Das Image verfügt über GPU Treiber und besitzt alle notwendigen Bibliotheken für die Nutzung von grafischen Nutzerschnittstellen (GUIs). Falls aktiviert, startet ein X Server während des Bootvorgangs und das LXDE Desktop Environment wird mit Autologin gestartet. Wenn das eigene Programm eine grafische Nutzerschnittstelle nutzt, so wird diese auf dem Desktop angezeigt. Die Bildschirmauflösung passt sich der Voreinstellung des angeschlossenen HDMI Monitors an. Über LXDE kann diese aber auch konfiguriert werden. Die HDMI-Schnittstelle muss aber nicht benutzt werden und es können auch Programme ohne grafische Nutzerschnittstelle ausgeführt werden.
Neue Software kann installiert werden. Siehe die Beschreibung des Versions Tab, wie neue Software installiert wird.
Eine Liste der vorinstallierten Bibliotheken steht zur Verfügung: Installierte Bibliotheken.
Der Nutzer tf
ist der Standardnutzer auf den Images. Beim Einloggen über die
Konsole oder in LXDE kann dieser Nutzer mit dem Standardpasswort tf
benutzt
werden. Der Nutzer ist ein sudoer, so dass Root-Zugriff mittels:
sudo -s
erhalten werden kann. Die Images können von der Download Seite herunter geladen werden.
Bei dieser Anleitung nehmen wir an, dass ein Debian Linux als Host Plattform genutzt wird.
image
wechseln, die Datei README.rst
öffnen und die
dokumentierten Schritte durchführen.Das Bauen eines Images kann 4-6 Stunden dauern, abhängig von der Leistungsfähigkeit des genutzten Rechners kann es auch deutlich länger dauern.
Zuerst das Image von der Download Seite herunterladen, entpacken und eine geeignete Micro-SD-Karte samt Kartenleser zur Hand haben. Wir empfehlen eine schnelle Karte (z.B. Class 10, > 30MB/s Lesen) mit genügend Speicherplatz (mindestens 8GB).
Wir empfehlen Etcher, um das Image auf die Micro-SD-Karte zu schreiben
Das Standard-Passwort des Benutzers tf
lautet tf
. Um dieses zu ändern
öffnet man den Console Tab. Anschließend wählt
man die korrekte serielle Schnittstelle und klickt auf den Connect Button.
Man wird als Nutzer tf
eingeloggt (die Enter-Taste drücken falls die Konsole
nichts anzeigt). Als nächstes gibt man den Befehl passwd
ein und es wird
nach dem aktuellen Passwort gefragt. Man gibt tf
ein. Anschließend
kann man das neue Passwort eingeben und bestätigen.
Der RED Brick stellt automatisch die richtige Monitor Auflösung für einen angeschlossenen Monitor ein. Dazu wird die Extended Display Identification Data (EDID) Schnittstelle des Monitor verwendet. Allerdings funktioniert EDID nur dann zuverlässig, wenn der Monitor bereits per HDMI anschlossen und eingeschaltet ist bevor der RED Brick bootet.
Wenn der Monitor erst an HDMI angeschlossen wird oder erst eingeschaltet wird, wenn der RED Brick schon läuft, dann kann es passieren, dass EDID nicht richtig funktioniert und eine falsche Auflösung eingestellt wird. Die einfachste Möglichkeit dies zu beheben ist es den RED Brick neuzustarten, sodass der Monitor bereits angeschlossen und eingeschaltet, wenn der RED Brick bootet.
Wenn dies nicht möglich ist und der Monitor erst angeschlossen oder
eingeschaltet werden kann, wenn der RED Brick bereits läuft oder die automatisch
eingestellt Auflösung aus anderen Gründen falsch ist, dann kann die Auflösung
auch manuell mit dem tf-set-resolution
Tool eingestellt werden.
Bemerkung
In Image version 1.10 ist tf-set-resolution nicht mehr verfügbar. Weitere Informationen befinden sich hier.
Um die Monitor Auflösung zu ändern öffnet man den Console Tab. Anschließend wählt man die korrekte serielle
Schnittstelle und klickt auf den Connect Button. Man wird als Nutzer tf
eingeloggt (die Enter-Taste drücken falls die Konsole nichts anzeigt).
Als nächstes gibt man den folgenden Befehl ein (möglicherweise wird nach dem
Passwort für tf gefragt, das Standard-Passwort lautet tf
):
sudo tf-set-resolution hdmi mode <mode-number>
Anstatt <mode-number>
muss die Nummer des Modus angegeben werden, der
aktiviert werden soll. Folgenden manuell setzbare Modi werden derzeit
unterstützt:
Wenn die gewünschte Auflösung nicht in der Liste der setzbaren Modi enthalten ist, dann können wir die Kernel Tabellen um einen neuen Modus erweitern. Dafür müssen wir die relevanten Informationen für den entsprechenden Monitor kennen. Als erstes muss sichergestellt werden, dass beim Booten die Auflösung des Monitors automatisch richtig eingestellt wurde. Dann den folgenden Befehl eingeben:
dmesg | egrep "(PCLK=|disp clks:)"
und uns eine E-Mail (info@tinkerforge.com) mit der Ausgabe des Befehls schicken.
Auf GitHub stehen verschiedene Beispielprogramme zur Verfügung:
Der Taster auf dem RED Brick ist ein Power Button. Wenn dieser länger wie 5 Sekunden gedrückt wird, so schaltet sich der RED Brick ab. Wenn der Brick aus ist, kann dieser über den Button auch wieder eingeschaltet werden. Dazu muss der Button solange gedrückt werden (ca. 3 Sekunden) bis die blaue LED an geht. Der Brick bootet anschließend.
Der RED Brick besitzt drei verschiedene LEDs auf der Oberseite. Eine blaue, eine rote und eine grüne LED.
Ein normaler Bootvorgang verläuft wie folgt:
Die Funktion der grünen und der roten LED kann geändert werden. Diese können zum Beispiel die Ausnutzung der CPU oder der SD Karte anzeigen, anstatt des Heartbeats.
Das Linux System und alle Daten sind auf einer Micro-SD-Karte gespeichert. Der Kartenslot ist auf der Unterseite des Bricks. Micro-SD (1.0), Micro-SDHC (2.0) und Micro-SDXC (3.0) Karten werden unterstützt. Wir empfehlen als Minimum eine Class 10 Micro-SD-Karte mit einer Leserate von mindestens 30MB/s um schnelle Lese- und Schreibvorgänge zu ermöglichen.
Eine Beschreibung der Images befindet sich im Image Abschnitt.
Der RED Brick ist mit einer Standard USB 2.0 (480Mb/s) Typ A Buchse ausgestattet. Mit ihr können USB Geräte mit bis zu 7,5W (5V/1,5A) betrieben werden. Ein Kurzschluss-Schutz schützt den RED Brick und das angeschlossene Gerät. Typische USB Geräte, wie zum Beispiel WLAN oder Ethernet USB Stick, Webcams, Drucker, Tastaturen, Mäuse und USB Touchscreens werden unterstützt, sofern die nötigen Treiber auf dem RED Brick vorhanden sind.
Manche Ethernet oder WLAN Sticks können direkt über den Brick Viewer konfiguriert werden. Unterstützte Sticks bieten wir in unserem Shop an. Andere Geräte müssen ggf. direkt im Linux System konfiguriert werden und können nicht vom Brick Viewer konfiguriert werden.
Über den Mini-USB Anschluss wird der RED Brick vom Brick Viewer gesteuert und konfiguriert. Der RED Brick kann auch über diesen mit Strom versorgt werden.
Mit dem Micro-HDMI Anschluss (auch Typ D genannt), können alle Standard HDMI Monitore und Fernseher mit dem RED Brick verbunden werden. HDMI Ethernet Channel (HEC) wird nicht unterstützt.
Der RED Brick kann bis zu acht andere Bricks über den Stapelstecker steuern. Zusätzlich können bis zu zwei Master Extensions genutzt werden. Aktuell werden nur die RS485 Extension und alle Versionen der Ethernet Extension unterstützt. Jede Extension kann maximal einmal im Stapel verbaut werden. Zwei RS485 oder zwei Ethernet Extensions sind also nicht möglich.
Die WIFI Extension wird zur Zeit nicht unterstützt. Wir empfehlen die Nutzung eines WLAN USB Sticks um den RED Brick ins WLAN zu bringen.
Die Ethernet Extension taucht als normale Ethernet-Schnittstelle des Linux Systems auf. Über eine Step-Down Power Supply kann der RED Brick und die anderen Module des Stapels mit Strom versorgt werden. Dazu muss dieser nur unter den RED Brick gesteckt werden.
Der RED Brick muss mit 5V versorgt werden. Er kann über den Mini-USB Anschluss oder eine Step-Down Power Supply versorgt werden. Ein einzelner RED Brick benötigt bis zu 1,1 Watt, so dass ein typisches 5W (5V/1A) USB Netzteil ausreicht um diesen und zum Beispiel ein Master Brick mit ein paar Bricklets zu versorgen. Bei größeren Aufbauten sollte der Strombedarf berechnet werden und eine geeignete Stromversorgung genutzt werden. Dabei dürfen zusätzlich angeschlossene USB Geräte, die ebenfalls versorgt werden, nicht außer acht gelassen werden.
Q: Ich habe mein RED Brick mit einem Linux PC verbunden. Ich sehe aber
kein /dev/ttyACM0
Gerät um mich mit der seriellen Konsole zu verbinden.
A: Der cdc_acm
Treiber muss geladen werden.
Q: Die rote und blaue LED sind an, aber nichts passiert.
A: Der RED Brick bootet nicht. Überprüfe die Micro-SD-Karte.
Zweite Master Extension funktioniert nicht immer (gelöst)
Die Kernel Konfiguration in Image Version 1.0 ist fehlerhaft. Dadurch kann es bei gleichzeitiger Verwendung zweier Master Extension auf dem RED Brick dazu kommen, dass die zweite Extension nicht immer richtig funktioniert.
Seit Image Version 1.1 ist die Kernel Konfiguration korrigiert, so dass dort dieses Problem nicht mehr auftritt.
C# Programm stürzt beim Starten ab (gelöst)
Image Version 1.0 beinhalten C# Bindings, die versehentlich für CLR Version 4 kompiliert wurde. Mit diesen C# Bindings stürzt Mono ab, wenn das C# Programm für CLR Version 2 kompiliert wurde:
Missing method .ctor in assembly /usr/lib/Tinkerforge.dll, type System.Runtime.Versioning.TargetFrameworkAttribute
Um dieses Problem zu beheben, kann entweder das C# Programm für CLR Version 4 kompiliert, oder in der C# Konfiguration des Programms folgende Zeile:
--runtime=v4.0
als Mono Option hinzugefügt werden.
Dieses Problem betrifft nur Image Version 1.0. Seit Image Version 1.1 sind C# Bindings wieder für CLR Version 2 kompiliert, so dass dort dieses Problem nicht mehr auftritt.
Stapel mit NFC/RFID Bricklet auf RED Brick taucht im Brick Viewer nicht auf (gelöst)
Problematischer Aufbau: Master Brick mit NFC/RFID Bricklet und irgendeinem weiteren Bricklet steckt auf einem RED Brick. Dann taucht nur der RED Brick im Brick Viewer auf, aber sonst kein weitere Brick oder Bricklet aus dem Stapel.
Das Problem wird durch eine Inkompatibilität im NFC/RFID Bricklet Plugin Version 2.0.0 verursacht. Diese Inkompatibilität ist in Plugin Version 2.0.1 behoben.
FPC (Delphi/Lazarus) Library ist nicht Verfügbar auf dem RED Brick (gelöst)
Leider hat sich durch eine Laste-Minute-Änderung ein Bug in die Delphi/Lazarus Bindings eingeschlichen. Aufgrund dieses Bugs sind keine FPC Libraries auf dem RED Brick Image (Version 1.0 und 1.1) vorhanden. Dies wird in Version 1.2 behoben. In der Zwischenzeit kann das Problem über die Konsole gelöst werden:
sudo su
# password = tf
cd /usr/tinkerforge/bindings/delphi/source/
sed -i -e 's/BrickRED//g' Makefile.fpc
export FPCDIR=/usr/lib/fpc/`ls /usr/lib/fpc/ | grep -E [0-9].[0-9].[0-9] | head -n1`
fpcmake
make
make install
Jetzt sollte die FPC Library ordnungsgemäß installiert sein und alles sollte wie erwartet funktionieren!
Dieses Problem tritt nur in Image Version 1.0 und 1.1 auf, es ist seit Image Version 1.2 beseitigt.
Keine Namensauflösung (gelöst)
In Image Version 1.2 steht Standardmäßig keine Namensauflösung (DNS) zur Verfügung. Das Problem kann über die Konsole gelöst werden:
sudo su
# enter password tf
echo "nameserver 8.8.8.8" > /etc/resolv.conf
Dieses Problem tritt nur in Image Version 1.2 auf, es ist seit Image Version 1.3 beseitigt.
Ethernet Extension wird im Extension-Tab angezeigt, aber nicht in den Netzwerkeinstellungen (gelöst)
In Image Version 1.4 kann der RED Brick Probleme haben den Treiber für die Ethernet Extension zu finden. Das Problem kann über die Console gelöst werden:
sudo su
# enter password tf
ln -s /lib/modules/3.4.103+/kernel/drivers/net/ethernet/wiznet/w5x00.ko /lib/modules/3.4.90+/kernel/drivers/net/ethernet/wiznet/
Dieses Problem tritt nur in Image Version 1.4 auf, es ist seit Image Version 1.5 beseitigt.
Display Auflösung kann nicht geändert werden (offen)
In Image Version 1.10 steht durch das Kernel Update von 3.4 auf 4.13 das
tf-set-resolution
Tool nicht mehr zur Verfügung.
Die Auflösung eines angeschlossenen Display kann daher derzeit nicht geändert
werden.
openHAB2 meldet fehlende OSGi Pakete (offen)
In Image Version 1.10 wird openHAB2 verwendet, dass nach der ersten Aktivierung selbst noch OSGi Pakete nachinstalliert. Wenn diese Nachinstallation durch einen Neustart des RED Bricks unterbrochen wird oder keine Internet-Verbindung am RED Brick vorhanden ist, dann kommt openHAB2 in diesen Zustand.
Diese Problem kann vermieden werden indem sichergestellt wird, dass bei der ersten Aktivierung des openHAB Services Internet-Verbindung am RED Brick vorhanden ist und der RED Brick dann nicht während der Nachinstallation neugestartet wird. Der Zustand der Nachinstallation kann auf dem openHAB Webinterface verfolgt werden.
Die Entwicklung des RED Bricks hat fast ein Jahr gedauert und ist in verschiedenen Blog Posts dokumentiert:
Die RED Brick API ist dazu gedacht um für den Brick Viewer die angebotene Funktionalität zu implementieren (Statusinformationen bekommen, Programme managen, etc.). Diese API ist ggf. für Power User interessant, normale Nutzer benötigen diese nicht.
Siehe Programmierschnittstelle für eine detaillierte Beschreibung.
Sprache | API | Beispiele | Installation |
---|---|---|---|
C/C++ | API | Installation | |
C# | API | Installation | |
Delphi/Lazarus | API | Beispiele | Installation |
Go | API | Installation | |
Java | API | Beispiele | Installation |
JavaScript | API | Installation | |
LabVIEW | API | Beispiele | Installation |
Mathematica | API | Installation | |
MATLAB/Octave | API | Installation | |
MQTT | API | Installation | |
openHAB | API | Beispiele | Installation |
Perl | API | Installation | |
PHP | API | Installation | |
Python | API | Beispiele | Installation |
Ruby | API | Installation | |
Rust | API | Installation | |
Shell | API | Installation | |
Visual Basic .NET | API | Installation | |
TCP/IP | API | ||
Modbus | API |