Jump to content

photron

Administrators
  • Content Count

    2733
  • Joined

  • Last visited

  • Days Won

    12

Everything posted by photron

  1. systemd-timesyncd als NTP Client ist normalerweise installiert und ist eigentlich auch bei Raspbian dabei. Aber systemd-timesyncd ist eine simple minimale SNTP Implementierung. Das reicht für viele Zwecke. Aber ich habe auch schon festgestellt, dass systemd-timesyncd absolute nicht damit klar kommt, wenn die Internetverbindung schlecht ist, dann kommt keine sinnvolle Zeitsynchronisierung zustande. Für ntpd und chronyd ist das aber kein Problem. Interessant, wäre trotzdem zu sehen was passiert, wenn du alle NTP Dienste deaktivierst, damit zu erkennen ist, was die RTC da wirklich tut, denn
  2. Die Doku ist da etwas ungenau, das ist ein Super-Cap, keine Batterie. Leider hält der auf der aktuellen HAT Version 1.4 nicht besonders lange vor, bedingt durch den zu großen Leckstrom einer Diode. Das Problem ist auf der nächsten Hat Version 1.5 behoben. Es sollte eigentlich folgendes passieren: Das Raspberry Pi erkennt den HAT Brick und lädt den Kernel Treiber für den RTC Chip PCF8523. Der Kernel führt aber kein hwclock --hctosys aus, um die Systemzeit von der RTC Zeit zu setzen, dazu müsste der Kernel mit CONFIG_RTC_HCTOSYS=y gebaut sein, was bei Raspbian aber nicht der Fall ist. Jetzt
  3. Okay, dass bestätigt, dass irgendwo her ein Packet kommt, das an den HAT Brick geschickt wird und der dies als Abschaltbefehl für die Bricklets versteht. Das brickd.log verwirrt uns hier. Das Log quillt über an Warnungen dieser Art: Broadcasting response (...) because no client/zombie has a matching pending request Brick Daemon hat eine Antwort von der Hardware empfangen, für die es keine offene Anfrage gibt. Teilweise sind dies Antworten, die offensichtlich korrupt sind (unbekannte UID, ungültige Länge oder unbekannte Funktions-ID). Viele andere Antworten sind aber so ohne Kont
  4. Der HAT Brick flasht sich etwas ungewöhnlich. Du schließt den nicht per USB an, der micro USB Anschluss ist nur für Strom. Sondern du lässt den HAT Brick auf dem Raspberry Pi stecken, verbindest dich dann mit Brick Viewer zum Raspberry Pi und wählst auf den Update/Flashing Dialog den Bricklet Tab aus. Dort wählst du als Parent None und kannst dann als Port den HAT Brick auswählen. Dort wählst du als Plugin Custom aus und kannst dann die Firmware Datei über den Browse Knopf auswählen und der Flash Knopf die Firmwae flashen. Mit dem HAT Brick hat sich die Trennung zwischen Bricks und Brickl
  5. Teste auch mal bitte die angehängte Firmware 2.0.3 für den HAT Brick. Diese Version legt die set_bricklet_power Funktion tot, um zu verifizieren, dass es wirklich ein fälschlicher Aufruf dieser Funktion ist, der das Problem erzeugt. hat-brick-firmware-203.zbin
  6. Willst du damit sagen, dass du das Problem nicht nur an einem, sondern an zwei Aufbauten hast? Update auch mal bitte alle Tinkerforge Software. Also Brick Viewer auf 2.4.13, Brick Daemon auf dem Raspberry Pi auf 2.4.1 und C/C++ auf 2.1.19. Mir ist kein Bug bekannt in den alten Versionen der zum Problem passt, aber ich möchte vermeiden, dass wir hier alte bereits behobene Bugs suchen. Kannst du bitte das /var/log/brickd.log vom Raspberry Pi hier anhängen, vielleicht steht dort etwas interessantes drin. Welche Kernel Version hast du auf dem Raspberry Pi laufen (was gibt "uname -a"
  7. Hast du da einfach eine UID Kollision? Schau mal bitte das alle Bricks und Bricklets unterschiedliche UIDs haben.
  8. Zusätzlich könntest du das Programm in Valgrind laufen lassen. Valgrind dient u.a. dazu Speicherkorruption zu finden.
  9. Das sieht so aus als ob dein Programm da unabsichtlicherweise hat_set_bricklet_power(hat, false) aufruft. Ein industrial_dual_relay_set_monoflop(...) Aufruf für Channel 0 wird bei passend korrumpierter UID als hat_set_bricklet_power(hat, false) verstanden, da beide Funktionen die Funktions-ID 3 haben und der Channel 0 Parameter als false interpretiert werden kann. Daher wäre es interessant zu sehen (z.B. per Wireshark auf localhost), ob dein Programm wirklich diesen korrumpierten Aufruf schickt.
  10. Interessant! Zwischen dem 5V Regler und dem 5V Ausgängen zu den Bricklets sitzt ein TPS22975 Leistungsschalter, über den der HAT Brick die Versorgung der Bricklets abschalten kann. Der TPS22975 Chip hat auch einen Überlastschutz. Entweder schaltet der HAT Brick die 5V Versorgung willentlich ab, was er nicht von sich aus tut, sondern nur beim Aufruf der entsprechenden API Funktion, oder der Überlastschutz des Chips greift ein. Tritt das Problem auch auf, wenn der Display nicht über den Bricklet Port versorgt wird? Bzw. was ist der minimalste Aufbau mit dem das Problem auftritt? Ü
  11. Es wundert mich, dass du das 24V Netzteil mit 20V misst. Kannst du ein Foto vom Gesamtaufbau zeigen? Die 5V für die Bricklets und das Raspberry Pi können vom HAT Brick geschaltet werden. Die 3 großen Kondensatoren neben der micro USB Buchse auf dem HAT bilden die Ausgangskapazität des 5V Reglers. Könntest du dort auch mal die 5V messen (die Masseseite hat den schwarzen Balken) an einem der 3 Kondensatoren? Die Frage ist, ob der HAT Brick die 5V abschaltet (5V nur an den Bricklet Ports weg), oder ob der 5V Regler an sich einbricht (5V am Kondensator weg). Geht dann auch die Statu
  12. Woran machst du fest, dass das Raspberry Pi an bleibt? Das Raspberry Pi wird aber über den HAT Brick versorgt, oder versorgst du das Raspberry Pi unabhängig vom HAT?
  13. Du hast im Brick Viewer dem Haken für "Use Authentication" gesetzt, Authentication in Brick Daemon aber nicht konfiguriert. Nimm mal den Haken für "Use Authentication" im Brick Viewer wieder weg.
  14. Ich habe das Brick Viewer UI mal so abgewandelt, dass man den Port nicht so einfach aus Versehen verstellen kann.
  15. Tritt das Problem auch auf, wenn an den Relaisausgängen nichts angeschlossen ist? Wie häufig tritt das Problem auf? Eher alle 10 oder eher alle 1000 Schaltvorgänge? Wie werden die LEDs mit Strom versorgt? Auch über das 24V Netzteil? Wenn ja, wie viel Leistung nehmen die LEDs auf? Bricht vielleicht durch das Schalten der LEDs die Spannung des Netzteils zusammen? Geht auch das Raspberry Pi mit aus? In welcher zeitlichen Folge und mit welcher Frequenz werden die Relais geschaltet? Werden die abwechselnd oder alle gleichzeitig geschaltet?
  16. Was schaltest du denn mit den Industrial Dual Relais? Hast du da induktive Lasten dran, aber z.B. keine Freilaufdiode, Varistor oder Snubber verbaut?
  17. Der Standardport ist 4223, nicht 4224.
  18. Entsprechend dieses Diagramms: https://www.tinkerforge.com/de/doc/Hardware/Bricks/Silent_Stepper_Brick.html#anschlussmoglichkeit Am schwarzen 2-Pol Stecker schließt du die Stromversorgung für den Motor an, am grünen 4-Pol Stecker die beiden Wicklungen des Motors. Das sind am Motor im M12 Motor Stecker die Signale A/, A, B, B/. Der M12 Encoder Stecker am Motor bleibt unbelegt.
  19. Der Schrittmotor hat einen Nennstrom von 4,2A, der Stepper Brick leistet aber maximal 2,5A und der Silent Stepper Brick maximal 1,6A. Du kannst den Schrittmotor an den Bricks betreiben, der Motor wird aber nicht volle Kraft entfalten können.
  20. Brick Viewer scheint da ein Usability Problem zu haben. Du bist nicht der erste, der in letzter Zeit mit dem Connect Knopf Probleme hat. Wir werden das abändern, so dass die Funktion des Connect Knopfes klarer wird.
  21. Und genau davon hätte ich gerne ein Bild. Wie sieht dein Brick Viewer aus, wenn es nicht funktioniert. Du klickst aber schon auf den großen Connect Kopf, oben in Brick Viewer, so dass sich der Knopf auf Disconnect ändert?
  22. Mir ist unklar was du mit "keine Grafik angezeigt" meinst. Meinst du die Bricks und Bricklets tauchen in Brick Viewer gar nicht auf, oder tauchen die Bricklets auf, aber die Graphen bleiben leer? Kannst du vielleicht einen Screenshot zeigen?
  23. Das könnte mit einem Bug in Brick Viewer zusammenhängen, der in Brick Viewer Version 2.4.13 behoben wurde. Der Bug führte dazu, dass als Reaktion auf ein Enumerate Callback eines RED Bricks ein weiteres Enumerate ausgelöst wurde. Teste daher bitte mal, ob das Problem mit Brick Viewer Version 2.4.13 noch besteht.
  24. Das ist an sich das richtige vorgehen, funktioniert allerdings nicht, weil cron und redapid (der Dienst der die Programme verwaltet und startet) in der falschen Reihenfolge starten können. Dadurch versucht dann der cron Eintrag den Startbefehle für dein Programm an redapid zu senden bevor redapid läuft. Das steht auf der TODO List das mal zu verbessern. Der Workaround dafür ist den Programmstart auf "Always" zu stellen, "Continue after error" abzuwählen und dein Programm mit einem Exit Code ungleich 0 enden zu lassen .
  25. Bindings: MQTT 2.0.11 Add --cmdline-file, --broker-tls-secure, --no-debug, --symbolic-response, --hide-payload and --no-init-file commandline options Download: MQTT
×
×
  • Create New...