Jump to content

Probleme mit „OLED 128x64 Bricklet 2.0"


mfranke
 Share

Recommended Posts

Hallo, wir haben mehrerer Tinkerforge Stapel im Einsatz.

 

Hauptsächlich bestehen diese aus:

* RedBrick

* MasterBrick

* OLED 128x64 Bricklet 2.0

* Thermocouple Bricklet 2.0

* CAN Bricklet 2.0

 

Gesteuert wird alles über ein Python3 Skript. Es werden aktuelle Werte auf dem Display angezeigt und über CAN versendet.

 

Problem:

Wir haben beobachtet, dass manchmal bei dem ein oder anderen Aufbau, nach 1-2 Tagen Betriebszeit, das Display nicht mehr aktualisiert wird. Es bleibt ein alter Wert stehen.

 

Das Skript läuft Problemlos (es werden Daten über CAN übermittelt). In der Log Datei werden keine Fehler angezeigt. Verbinden wir uns mit dem Brickviewer wird das Display nicht mehr angezeigt. Nach einem Neustart funktioniert alles wieder einwandfrei.

 

Uns fehlt aktuell eine Idee wie wir dieses Problem beheben können.

 

Über Tipps und Ideen würden wir uns sehr freuen.

Beste Grüße

 

Link to comment
Share on other sites

46 minutes ago, mfranke said:

Nach einem Neustart funktioniert alles wieder einwandfrei.

Was heißt Neustart hier? Per Software Reboot des RED Brick, oder Reset des Master Bricks, oder Power Cycle durch Unterbrechung der Stromversorgung des ganzen Aufbaus?

Sind alle Firmwares auf den Bricks und Bricklets aktuell?

Die Vermutung ist, dass das OLED Bricklet abstürzt. Dass es auch nicht mehr im Brick Viewer auftaucht, heißt, dass es nicht mehr auf Anfragen antwortet.

Da das Programm weiter läuft und keine Fehler auftreten gehe ich davon aus, dass Timeout-Fehler behandelt werden. Das Programm also damit umgehen kann, wenn das Bricklet nicht mehr antwortet.

Link to comment
Share on other sites

vor 1 Stunde schrieb photron:

Was heißt Neustart hier? Per Software Reboot des RED Brick, oder Reset des Master Bricks, oder Power Cycle durch Unterbrechung der Stromversorgung des ganzen Aufbaus?

Sind alle Firmwares auf den Bricks und Bricklets aktuell?

Die Vermutung ist, dass das OLED Bricklet abstürzt. Dass es auch nicht mehr im Brick Viewer auftaucht, heißt, dass es nicht mehr auf Anfragen antwortet.

Da das Programm weiter läuft und keine Fehler auftreten gehe ich davon aus, dass Timeout-Fehler behandelt werden. Das Programm also damit umgehen kann, wenn das Bricklet nicht mehr antwortet.

Neustart:

* im sinne von Stromversorgung unterbrechen.

 

Versionen:

* RedBrick ist auf 1.15 (aktuell 1.15+)

* MasterBrick ist auf 2.4.10 (aktuell 2.5.0)

* Wo finde ich die Changelogs?

 

Fehlerbehandlung:

* Ein Timeout Fehler wird behandelt. Dabei wird eine Log Message geschrieben. Diese Ausgabe steht aber nicht im Log. Wenn das Display manuell im laufenden Betrieb abgesteckt wird erscheint sie aber. Da liegt das große Fragezeichen. Es laufen aktuell noch Versuche.

 

Frage:

* Kann der RedBrick via Python neugestartet werden?

 

 

 

Edited by mfranke
Link to comment
Share on other sites

14 minutes ago, mfranke said:

Wo finde ich die Changelogs?

https://www.tinkerforge.com/de/doc/Downloads.html

Erwarten würde ich ein Problem im OLED Bricklet selbst. Es gibt in den letzten Firmware Versionen aber keine offensichtlich relevanten Änderungen. Die Frage nach aktueller Firmware zielt darauf ab zu vermeiden einen alten, bereits behobenen Bug, zu suchen.

Ist die Firmware auf dem OLED Bricklet aktuell?

Das Timeout-Verhalten ist unerwartet. Dass nach dem Auftreten des Problems das OLED Bricklet nicht mehr in Brick Viewer auftaucht deute darauf hin, dass das Bricklet die Kommunikation eingestellt hat. Das hier würde ich genauer betrachten.

1 hour ago, mfranke said:

Kann der RedBrick via Python neugestartet werden?

Ja, der RED Brick ist intern einfach ein Debian Linux. Du kannst also einfach reboot aufrufen. Da die Programm auf dem RED Brick aber als User tf laufen musst du das so machen:

os.system('echo tf | sudo -S -p "" reboot')

Wobei ich nicht erwarte, das das hier hilft.

Link to comment
Share on other sites

Alle Bricklets sind auf dem aktuellsten Stand. Red- und MasterBrick wird nachgezogen.

 

Der Neustart war eine erste Idee das Problem erst einmal abzufangen, insofern ein Timeout auftritt.

 

Was könnte noch bei der Analyse helfen? Was können wir genauer betrachten?

 

Das Problem ist bisher bei 3 Displays (von 10) aufgetreten.

 

Wir werden das Verhalten weiterhin beobachten und dokumentieren.

 

Danke schon mal für die Hilfe.

 

 

 

 

Link to comment
Share on other sites

Interessant ist das widersprüchliche Timeout verhalten.

Ruf am Anfang mal set_response_expected_all(True) auf das OLED Bricklet Objekt auf. Das ändert nichts am Bricklet selbst, sondern gibt dem Bindings Objekt vor für alle Aufrufe auch eine Antwort anzufragen, da sonst nicht alle Funktionen eine Antwort auf Protokollebene erhalten, wenn keine notwendig ist.

Seit kurzem hat der Brick Viewer einen Health Viewer, der die Fehlerzähler aller angeschlossenen Bricks und Bricklets anzeigt. Normalerweise sollte Zähler alle 0 sein. Du könntest mal beobachten wie sich die bei dir verhalten, im Fehlerfall und im Normalfall. Für Bricks werden diese Zähler für ihre Ports aufgeschlüsselt angezeigt. Selbst wenn das OLED Bricklet nicht mehr im Brick Viewer auftaucht kannst du zumindest noch die Fehlerzähler für dessen Port ansehen.

Interessant wäre vielleicht auch das Programm ansehen zu können, wenn du das vorzeigen kannst/willst.

Link to comment
Share on other sites

  • 1 month later...

Hallo

Wir haben immer noch Probleme mit 3 Systemen. Wir haben alles Geupdated.

Auch den Red Brick, was ewig dauert. Es lief auch alles durch, nur bei einem Aufbau gab es Probleme mit den Pearl Bindings.

Die Displays steigen sporadisch aus (frieren ein). Gestern Abend sind alle 3 Systeme eingefroren.

Ein System besteht aus:

 

Step-Down Power Supply

Red Brick

Masterbrick

- CAN Bricklet 2.0

- OLED 128x64 Bricklet 2.0

- Thermocouple Bricklet 2.0

 

Insgesamt haben wir über 10 Systeme. Bei den anderen friert das Display auch ab und zu mal ein, da bekommen wir aber ein Timeout und dann starten wir den Red Brick neu. Das ist zwar eine unschöne Lösung, da ich der Meinung bin das nichts einfrieren sollte, aber es ist erstmal eine Lösung.

3 Systeme machen aber besonders viel Ärger. Wenn diese eingefrieren, dann blinkt an dem Master Brick die blaue LED nur noch alle 20sec. Nomrlaerweise blinkt die mehrfach pro sec. Und am Red Brick blinkt Garnichts mehr.

In dem Eingefrorenen Zustand kann man per USB weder zu dem Red noch zu dem Master Brick eine Verbindung zu dem Brickviewer aufbauen.  

Rest am Masterbrick zeigt auch keine Auswirkungen.

Man kann den Resetknopf am Redbrick lange drücken und dann startet er nach erneuten Drücken wieder neu.

Dann geht alles wieder.

Wenn man dann in die Log Files schaut, dann ist dort nichts verzeichnet.

Gruß Rocco

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...