Der Brick Viewer bietet eine graphische Oberfläche um Bricks und Bricklets zu testen. Jedes Gerät hat seine eigenen Tab der die Hauptfunktionen abbildet und erlaubt diese zu steuern.
Darüber hinaus kann der Brick Viewer verwendet werden, um den Analog-Digital-Wandler der Bricks zu kalibrieren und so deren Messqualität zu verbessern, und um Brick Firmwares und Bricklet Plugins zu flashen.
Zuerst muss der Brick Viewer mit dem Brick Daemon oder z.B. einer
WIFI Extension verbunden werden. Dabei kann der Brick
Daemon auf dem gleichen oder einem anderen PC als der Brick Viewer laufen.
Dazu zuerst die IP Adresse des PCs auf dem der Brick Daemons läuft oder die IP
Adresse einer WIFI Extension als Host angeben. Falls Brick Daemon und Viewer
auf dem gleichen PC laufen kann der Standardwert localhost
beibehalten werden.
Nach einem Klick auf den "Connect" Knopf werden die verbunden Bricks und
Bricklets auf je einem eigenen Tab angezeigt und können getestet werden.
Ein Klick auf den "Updates / Flashing" öffnen einen Dialog mit Informationen über verfügbare Updates und der Möglichkeit Bricks und Bricklets neu zu flashen. Der "Advanced Functions" Knopf öffnet einen Dialog zur Kalibrierung des Analog-Digital-Wandler eines Bricks.
Nach dem Start des Brick Viewers und dem Verbinden zu einem Brick Daemon oder einer Master Extension kann überprüft werden ob eine neuere Software für die angeschlossenen Geräte verfügbar ist.
Hierzu muss auf "Updates / Flashing" geklickt werden. Der Dialog zeigt die angeschlossenen Geräte und deren Software stand. Orange unterlegte Einträge können geupdatet werden. Rot unterlegte Einträge müssen geupdatet werden damit sie korrekt funktionieren.
Der Dialog ermöglicht es alle Bricklets gleichzeitig über den Knopf "Auto-Update All Bricklets" auf die neuste Softwareversion zu bringen. Bricks können nicht automatisch auf den neusten Stand gebracht werden (siehe Brick Firmware Flashing).
Wir empfehlen Brick Viewer zum Flashen von Firmwares zu verwenden. Für
Linux System ohne graphische Benutzeroberfläche steht aber auch
brick-flash
zur Verfügung.
Seit Version 1.1.0 kann der Brick Viewer Firmwares auf Bricks flashen. Die jeweils neuste Firmwareversion wird dabei automatisch vom Brick Viewer ermittelt und heruntergeladen. Diese können aber auch manuell im Downloadbereich heruntergeladen werden.
Um einen Brick flashen zu können, muss dieser per USB zu einem PC mit Brick Viewer verbunden sein. Abhängig vom Typ des Brick ist noch Folgendes zu beachten:
Zum Flashen einer neuen Firmware muss der Brick in den Bootloader Modus versetzt werden. Der ESP32 Brick und ESP32 Ethernet Brick werden dazu einfach per USB an den PC angeschlossen.
Für alle anderen 4x4cm Brick müssen dazu folgende Schritte durchgeführt:
Jetzt sollten alle LEDs am 4x4cm Brick aus sein, der Brick sich im Bootloader Modus befinden und am PC sollte eine neue seriellen Schnittstelle auftauchen.
Als nächstes muss der Brick Viewer gestartet und der "Updates / Flashing" Dialog geöffnet werden:
Die "Serial Port" Dropdown-Box zeigt alle verfügbaren seriellen Schnittstellen des PCs an. Diese kann mittels des "Refresh" Knopfes aktualisiert werden, falls keine oder nicht die richtige serielle Schnittstelle aufgelistet wird. Falls der Brick nicht als serielle Schnittstelle auftaucht, befindet sich der Brick entweder nicht im Bootloader Modus, oder das Betriebssystem hat ihn nicht richtig als serielle Schnittstelle erkannt:
atm6124_cdc.inf
aus dem drivers
Unterordner der Brick Viewer
Installation zu installieren, damit ein Brick im Bootloader Modus richtig
als serielle Schnittstelle erkannt wird. Windows 7, 8, 8.1 und 10 erkennt
einen Brick im Bootloader Modus von sich aus als "GPS Camera Detect" oder
"Bossa Program Port" Gerät. Dies ist auch eine serielle Schnittstelle so
das Flashen dennoch möglich ist.Wird die serielle Schnittstelle des Bricks richtig erkannt muss diese nun im Brick Viewer ausgewählt werden, typische Namen sind:
/dev/ttyACM0
oder /dev/ttyUSB0
/dev/tty.usbmodemfd131
Jetzt noch die richtige Firmware für den Brick auswählen. Passend die Einstellungen kann das Flashen per Klick auf den "Save" Knopf gestartet werden. Die aktuelle Firmware für den Brick wird heruntergeladen, auf den Brick geschrieben und dann wieder zurück gelesen, um sicherzustellen, dass das Schreiben der Firmware richtig funktioniert hat.
Falls das Flashen fehlschlägt, sollte zunächst überprüft werden, ob die
richtige serielle Schnittstelle ausgewählt wurde. Wenn Brick Viewer auf Linux
"No permission to open serial port" meldet, dann liegt dies normalerweise
daran, dass der Nutzer nicht der Gruppe dialout
angehört. Um dieses Problem
zu beheben kann entweder der Nutzer der Gruppe dialout
hinzugefügt oder
Brick Viewer als root gestartet werden (sudo brickv
).
Anstatt den Brick Viewer die jeweils neuste Firmware herunterladen zu lassen, kann auch "Custom..." als Firmware gewählt werden und dann die zu flashende Firmware als lokale Datei über den "Browse..." Knopf ausgewählt werden.
Brick Viewer benötigt eine graphische Benutzeroberfläche. Falls Bricks an
Linux Rechnern ohne graphische Benutzeroberfläche geflasht werden sollen kann
brick-flash
verwendet werden. Es steht als Debian Packet
zum Download bereit:
wget --backups=1 https://download.tinkerforge.com/tools/brick_flash/linux/brick-flash_linux_latest.deb
sudo dpkg -i brick-flash_linux_latest.deb
Im Gegensatz zum Brick Viewer lädt brick-flash
die Firmware nicht
automatisch herunter. Die jeweils neusten Firmwares sind hier zu finden. Lade die zu flashende Firmware
herunter, z.B. die neuste Master Brick Firmware:
wget --backups=1 https://download.tinkerforge.com/firmwares/bricks/master/brick_master_firmware_latest.bin
Stelle sicher, dass sich der Brick im Bootloader Modus befindet (siehe Brick
Viewer Abschnitt weiter oben) und bestimme die serielle Schnittstelle des
Bricks. Typischerweise ist dies /dev/ttyACM0
oder /dev/ttyUSB0
.
Jetzt kann brick-flash
mit dem Namen der serielle Schnittstelle und dem
Dateinamen der Firmware ausgeführt werden:
brick-flash -p /dev/ttyACM0 -f brick_master_firmware_latest.bin
Nach dem Flash-Vorgang startet der Brick automatisch neu und verwendet die neue Firmware.
Der Brick Viewer kann auch Plugins auf Bricklets flashen. Hierfür gibt es die Möglichkeit alle Bricklets auf die neuste Version zu bringen (siehe "Auto-Update All Bricklets" unter Aktuellen Stand bestimmen). Alternativ können Bricklets auch einzeln geflasht werden. Die jeweils neuste Plugin-Version wird dabei automatisch vom Brick Viewer ermittelt und heruntergeladen. Diese können aber auch manuell im Downloadbereich heruntergeladen werden.
Um ein Bricklet flashen zu können, muss es an einem Brick angeschlossen sein, der im Brick Viewer aufgelistet ist. Ein Klick auf den "Flashing" Knopf im lässt den passenden Dialog erscheinen:
Als nächstes muss der Brick und dessen Port ausgewählt werden, an dem das zu flashende Bricklet angeschlossen ist, sowie das passenden Plugin für das Bricklet. Passend die Einstellungen kann das Flashen per Klick auf den "Save" Knopf gestartet werden. Jetzt wird das aktuelle Plugin für das Bricklet heruntergeladen, auf das Bricklet geschrieben und dann wieder zurück gelesen, um sicherzustellen, dass das Schreiben des Plugin richtig funktioniert hat. Falls das Flashen scheitert, sollte zunächst überprüft werden, ob der richtige Brick und der richtige Port ausgewählt wurde und ob das Bricklet auch richtig angeschlossen ist.
Anstatt den Brick Viewer das jeweils neuste Plugin herunterladen zu lassen, kann auch "Custom..." als Plugin gewählt werden und dann die zu flashende Plugin als lokale Datei über den "Browse..." Knopf ausgewählt werden.
Darüber hinaus kann die UID des Bricklets ausgelesen und auch neu geschrieben werden. Die UID ist Base58 kodiert, die erlaubten Zeichen umfassen 0-9, a-z und A-Z ohne 0 (Null), I (groß i), O (groß o) und l (klein L). Die einzige weitere Einschränkung ist, dass die UIDs aller Bricklets eindeutig sind.
Bemerkung
Coming soon!
Bemerkung
Dies ist höchstens für alte Bricks mit 10p Bricklet Anschluss notwendig. Es ist nicht notwendig und auch nicht möglich für Bricks mit 7p Bricklet Anschluss.
Bei Problemen mit ungenauen Messungen (z.B. erreicht das Linear Poti Bricklet nicht den Maximalwert oder die Spannungsmessung im Stapel ist ungenau) kann die Kalibrierung des AD-Wandlers Schuld sein.
Der Mikrocontroller auf den Bricks verwendet einen Analog-Digital-Wandler um analoge Spannungen zu messen. Da der AD-Wandler nicht perfekt kalibriert ist kann dieser über den Brick Viewer nachkalibriert werden.
Für die Kalibrierung wird eines der Potentiometer Bricklets (Rotary Poti oder Linear Poti) benötigt. Verbinde es mit dem Brick und rufe den "Advanced Functions" Dialog im Brick Viewer auf:
Wähle den Port aus an dem das Poti Bricklet angeschlossen ist (A-D). Stelle dann das Poti Bricklet ganz nach links und klicke den "Calibrate" Knopf. Stelle das Poti Bricklet ganz nach rechts und klicke wieder den "Calibrate" Knopf. Falls der AD-Wandler nicht passend kalibriert war, dann weichen jetzt der Gain und Offset Wert von den Standardwerten ab (4095 und 0).
Ob die Kalibrierung grundsätzlich funktioniert kann dadurch getestet werden, dass das Poti Bricklet in Mittelstellung gebracht und dann "Calibrate" geklickt wird. Dabei muss sich Gain oder Offset ändern (danach muss der AD-Wandler natürlich wieder korrekt kalibriert werden).
Seit Version 2.3.0 ist ein Logger Teil vom Brick Viewer. Brick Logger kann auch eigenständig betrieben werden. Die Dokumentation befindet sich hier.