Jump to content

rtrbt

Administrators
  • Content Count

    601
  • Joined

  • Last visited

  • Days Won

    23

Everything posted by rtrbt

  1. Moin, Am einfachsten ist es, wenn du dir eine weitere SD-Karte nimmst, darauf das Raspberry Pi OS frisch runterlädst (das Image selbst hat noch den 4.19er Kernel), dann Brick Daemon installierst und mit Brick Viewer die HAT-Firmware aktualisierst. Danach sollte es auch mit dem 5.4er Kernel wieder funktionieren.
  2. Ja, die ist es. Die kannst du selbst nachlöten, das ist aber etwas anstrengend. Alternativ kannst du die IMU auch zurückschicken und wir tauschen sie dir aus. Dann müsstest du mal eine Mail an nicolai@tinkerforge.com schreiben.
  3. Getting a concrete accuracy value is not easy, as the IMU Brick uses multiple sensors and a data fusion algorithm to generate it's measurements. We only specify a measurement resolution of 0.0625°, but no measurement accuracy. You can try to find more information in the sensor's datasheet. If you only want to measure the slope, you could also use an Accelerometer Bricklet, but then have to calculate the slope from the acceleration values yourself.
  4. Moin, Taucht die IMU im Gerätemanager im Abschnitt für serielle Schnittstellen auf? (Der Name hängt davon ab welchen Treiber Windows läd, sollte etwas mit Bossa, Atmel oder SAM im Namen sein) Den Symptomen nach könnte es auch sein, dass dir das im Bild rot markierte Bauteil abgerissen ist. In der Hardware-Dokumentation gibt es noch ein paar Bilder aus verschiedenen Winkeln.
  5. Repeater machen da gerne seltsame Probleme, gut möglich, dass das das Problem ist. Du müsstest dafür die 5V-Ader des Kabels auftrennen (die entspricht im Bild dem roten Draht) und das Relay dazwischen hängen, am einfachsten ist es, wenn du einen dieser Stecker nimmst, die beim Industrial Dual Relay mitgeliefert sind, dann musst du theoretisch nicht mal löten, sondern kannst die beiden Enden der Ader in den Stecker stecken.
  6. Kannst du einen Graph des Tagesverlaufs, oder am besten über 48 Stunden aus den letzten Tagen anhängen? Eventuell ist auch ein 48-Stunden-Graph aus dem Mai interessant, falls du die Daten alle noch hast. Ich würde dann hier einen ähnlichen Aufbau hinstellen um Vergleichswerte zu bekommen. Benutzt du die PT100-Werte um den Wert des Bricklets nochmal zu kompensieren? Das CO2-Bricklet misst selbst die Temperatur und Luftfeuchte. Du darfst also nicht die ganze Zeit set_temperature_offset mit dem Wert des PT100 füttern, die Funktion ist dafür da, dass du den Aufbau in ein Gehäus
  7. Moin, Prinzipiell sollte das natürlich nicht passieren. Ist das Problem, dass dein Gerät, dass mit der Wifi-Extension verbunden sein sollte, nicht mal eine Wifi-Verbindung hinbekommt oder kannst du dich mit dem Wifi verbinden, kannst dann aber keine TCP-Verbindung aufbauen? (Das kannst du z.b. mit einem Ping testen) Die Wifi-Extension kann prinzipiell nur 15 Verbindungen aufbauen, je nachdem wie dein Programm funktioniert und ob du mit deinem Gerät immer mal die Empfangsreichweite verlässt, kann es passieren, dass du Verbindungen leakst, also sie auf deiner Seite geschlossen sind, di
  8. Das klingt gut. Damit meinst du einen Restart des Raspberry Pis? Es sollte in /etc/ die Datei tinkerforge_mqtt.cmdline geben. Darin ist Zeile 98 ein auskommentierter init-file-Parameter. Wenn du also #--init-file INIT_FILE durch --init-file /home/dein_username/dein_initfile.txt ersetzt, sollten die Bindings das init-file beim Start lesen. Prinzipiell funktioniert die .cmdline-Datei genauso wie die Kommandozeilenparameter, das heißt wenn du noch andere Parameter hast, die du beim händischen Starten mitgibst, kannst du sie auch da eintragen. Das soll dir nur mi
  9. Nein, das bringt dich vermutlich auch nicht weiter. Mach mal folgendes: Sicherstellen dass der Brick Daemon läuft: systemctl status brickd ausführen, dann muss Active: active (running) kommen Mit dem Brick Viewer verbinden und prüfen, ob das Outdoor Weather Bricklet auftaucht. (Schreib dir mal gleich die UID auf) Die MQTT-Bindings hast du ja schon installiert. Im Anhang ist ein init-file, das funktionieren sollte. Leg dir das mal in dein Home-Verzeichnis. Du musst noch die UID ändern von Fax auf die von deinem Bricklet (vier Mal).
  10. Moin, Ich habe das hier gerade getestet und es funktioniert. Ist das Quad Relay ein 1.0? Falls ja (oder du ein anderes 10-Pol-Bricklet zur Hand hast), häng das mal an das 2m-Kabel. Alternativ kannst du das auch mit einem Multimeter durchmessen. Das Verhalten des Temperatur IR-Bricklets könnte man erklären, wenn das Kabel einen Defekt an Pin 7 hat. Wenn das das Problem ist, kann das Quad Relay, wenn du es an das 2m-Kabel hängst eins der Relays nicht mehr schalten.
  11. Moin, Wie misst du das genau? Also in welchen Intervallen und wird der Graph erzeugt? Von der Anzahl der Messwerte sind das ja nicht Tagesmittel sondern eventuell alle 12 Stunden ein Messwert? Eventuell hast du Pech und es werden in den vergangenen Monaten eher niedrige Messwerte geplottet und später eher hohe. Am besten siehst du dir mal den Verlauf über 1 bis 3 Tage aus dem Mai und von jetzt an, da kann man belastbarere Aussagen machen. Vielleicht siehst du auch Effekte von Corona? Prinzipiell sind >600 ppm schon sehr hoch, mir ist aber spontan nicht klar, ob man "norm
  12. Moin, Hatte ganz vergessen dir zu schreiben. Die Input-Channels auf Contact umzubiegen scheint prinzipiell zu funktionieren, das muss ich jetzt noch dem Generator für alle entsprechenden Bricklets beibringen. Mache ich im Zuge des großen "alle Konfigurationen der Bricklets durchgehen und dabei die deutsche Doku schreiben" gleich mit, wenn ich denn mal dazu komme. Mir ist aber aufgefallen, dass Contacts anscheinend in der PaperUI-Übersicht den aktuellen Zustand nicht anzeigen. Bezüglich der Kühlung: Du kannst dir ja einen openHAB-Channel für die CPU-Temperatur bauen, dafür habe ich sp
  13. Moin, Ich gehe mal die ganzen Posts durch Es reicht wenn du eine Variante davon machst, also entweder das Paket installieren oder die tinkerforge_mqtt händisch kopieren. Das ist etwas fies, die Beispiele, die wir auf der Seite angeben sind nicht das Format, das du als init-file benutzen kannst. Die musst du eher als Anleitung verstehen, was zu tun ist, die Beispiele geben ja auch z.b. an auf welche Topics du subscriben musst, das ergäbe in einem init-file aber keinen Sinn. Das ist interessant, ich würde erwarten, dass MQTT.fx wenn du keinen Payload
  14. Moin, Was passiert mit dem Binding genau, wenn du den Master resettest? Starte die Bindings am besten mal mit --debug, dann sieht man eventuell mehr. Benutzt du für die Temperaturabfrage Callbacks oder Getter?
  15. Moin, Das Outdoor Weather Bricklet wird soweit ich das sehe von dem Paket nicht unterstützt, zumindest laut diesem Issue. Du kannst aber alternativ die MQTT-Bindings benutzen und darüber die Daten in Node-RED bekommen. Gruß, Erik
  16. Moin, Ich muss mal testen, ob das funktioniert, das schiebe ich diese Woche noch ein. Da gibt es bisher noch keine Updates, mein letzter Stand als ich das vor Monaten getestet hatte war, dass aus irgendeinem Grund Things dupliziert werden. Die Spannungsversorgung auf dem HAT schafft theoretisch 4A bei 5V, wird aber bei 3A Dauerlast schon ziemlich heiß. Die Raspberry Pi Foundation schreibt in den Spezifikationen Daraus könnte man jetzt abschätzen, dass sie für den Pi selbst mit 2A Peak-Strom rechnen. Die USB-Geräte können laut diesem Artikel bis zu 1,2A ziehen, d
  17. Den kann ich noch eine Weile laufen lassen, stört in der Ecke keinen. Das heißt hoffentlich, dass es jetzt kein I2C- sondern nur ein Reset-Problem ist. Damit kann man notfalls ja umgehen, wenn die Enumerations ankommen.
  18. Moin, Die Sonderzeichen kannst du über die Hex-Escape-Sequenzen in Strings einfügen, z.b. mit oled.write_line(0, 0, '24.25\xF8C')
  19. Moin, Hast du den 5.4er Kernel installiert? Dann hast du vermutlich dieses Problem. Du kannst also entweder nochmal auf den alten 4.19er Kernel wechseln, die HAT-Firmware aktualisieren und dann wieder auf den 5.4er Kernel gehen, oder du benutzt den dort angehangenen Brick Daemon zum flashen der neuen HAT-Firmware.
  20. Das ist ein Framing-Error, das heißt das ein Paket entweder eine komplett ungültige Länge hatte (z.b. nur ein halber Header) oder dass die Länge im Header nicht zur echten Paketlänge gepasst hat. Das könnte eventuell das letzte Paket sein, das gerade halb gesendet wurde, als das Bricklet sich neu gestartet hat. Ich hätte eher die Hoffnung gehabt, dass da deutlich größere Zahlen stehen, dann hätte man in Richtung defektes Kabel o.Ä. gehen können. So ist das ein eher schwaches Indiz. Der steht seit Tagen hier rum und hat bisher maximal für 13 Sekunden die selbe Temperatur gemessen. Es sc
  21. Normalerweise nur wenn du es aus deinem Programm heraus machst. Wenn du aber z.b. Stromversorgungsprobleme oder sowas hast kann das auch sporadisch passieren. Die (Koprozessor-)Bricklets warten beim Boot eine Sekunde auf eine Enumerate-Anfrage, wenn die nicht kommt schicken sie von sich aus ein Enumerate mit connection_type=..._CONNECTED. Deshalb meinte ich, dass du bei deinem Enumerate-Handler darauf reagieren solltest.
  22. Ja. Die Bricklet-Firmware generiert nur ein Callback-Paket wenn es voll wird, also wenn 30 bzw. 60 Samples im Ringbuffer des Bricklets liegen. Ich glaube, dass du die 300µs nicht kompensieren musst. Zumindest unter der Prämisse, dass du dir ein Signal auf die Accelerometer geben kannst zur Synchronisierung des Starts: Wenn du das kannst und danach die Callback-Pakete verarbeiten kannst, ohne dass die Ringbuffer der Bricklets sich füllen, dann verlierst du keine Messwerte, das heißt vom Startzeitpunkt aus hast du jeweils eine vollständige Messung. Die Messungen kannst du dann zueinander
  23. Nicht unbedingt, die Bricklets haben eine Tick-Rate von 1000Hz, es kann also nur ein Paket pro Millisekunde generiert werden. Das funktioniert im Bricklet folgendermaßen: Es hat einen Ringbuffer für 256 16-Bit-Werte, der vom Sensor über einen Interrupt befüllt wird. Wenn der Ringbuffer voll ist, werden die ältesten Werte überschrieben. Das Callback wird im normalen Bricklet-Tick, also jede Millisekunde generiert, dabei wird nachgesehen, ob ein älteres Callback-Paket noch nicht verschickt werden konnte, falls ja wird es nicht überschrieben. Du bekommst also, wenn du nicht mit den 1
  24. Das ist für mich ein sehr starker Indikator dafür, dass das Bricklet sich resettet. Mir ist nur unklar warum das so oft passiert und warum du die Enumerations nicht siehst, wenn es wieder kommt.
  25. Aus dem Stehgreif würde ich sagen der Grund ist folgender: Bei 1,95MHz brauchst du im Idealfall ~ 300µs um ein (volles) Paket zu übertragen. Das Callback-Polling funktioniert intern so, dass die Bindings vom Bricklet ein Byte Daten abfragen, wenn das 0 ist, dann hat es gerade keine Daten zu senden. Dann wird das nächste Bricklet gepollt. Wenn du jetzt pech hast und Bricklet X hat sein Paket gerade noch nicht bereit, dann werden erst die drei anderen Bricklets abgefragt, bevor es wieder dran kommt. Das kostet im schlimmsten Fall (wenn alle anderen Bricklets Pakete bereit haben) ~900µs, als
×
×
  • Create New...