Jump to content

borg

Administrators
  • Gesamte Inhalte

    3.625
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    61

Alle erstellten Inhalte von borg

  1. Was heißt sind nicht vollständig? Sind die Daten in einem Paket kaputt oder werden die 3ms nicht erreicht? Um die Werte immer zu bekommen kannst du ein Threshold Callback nutzen und den Threshold einfach so setzen das er immer auslöst. Zum Durchsatz: Ist der Master Brick auf dem aktuellsten Stand? Was ist alles am Master Brick/Stapel angeschlossen? Was verwendet ihr zum auslesen (Raspberry Pi oder RED Brick oder PC)?
  2. Die erste Idee die ich dazu hab: Die WIFI Extension hat nur eine begrenzte Anzahl von Sockets die geöffnet werden können. Kann es sein dass ein Programm neue IPConnections aufmacht ohne die alten zu schließen? Kann man die WIFI Extension wenn sie nicht mehr erreichbar ist noch pingen?
  3. The governor will automatically scale between 432 MHz and 1 GHz depending on the load, so it should run with 1 GHz even if the governor is configured as "on demand". The idea was that maybe the scaling doesn't work properly with OpenHAB. I will put it on the todo list to test it again with the newest RED Brick image and OpenHAB version to see if it is so slow for us too. But it will be a few days until i can work on it.
  4. With RED Brick image version 1.10 we updated the Linux kernel as well as OpenHAB to the newest version. Unfortunately the scheduling in the Linux kernel got less efficient for our single core processor (that is what you see with the 30% cpu time taken by brickd) and at the same time the new OpenHAB version is slower... That probably explains why everything is a bit slower, however it should work in principle and the site-map should show up etc. With the new image we also introduced support for the cpu-scaling governor. By default it is configured as "ondemand", which means that the cpu is scaled down to 432 MHz and only increased to the full 1GHz if necessary. You can change it to always use the full 1GHz with Does that help for your use case?
  5. Oh, da gibt es ein Missverständnis. Das Bricklet selbst hat eine UID die du Ändern kannst. Die nutzt du wenn du das Objekt für das Bricklet erstellst. Die Wetterstationen selbst haben auch eine eindeutige ID (in diesem Fall eine zahl zwischen 0 und 255). Diese wird von der Wetterstation vergeben und kann leider nicht geändert werden. Da haben wir keinerlei Kontrolle drüber Du kannst in deinem Programm die IDs per get_station_identifiers() anfragen und daraus dynamisch die ID nutzen zur Verfügung stehende ID nutzen. Wenn in deiner Umgebung mehrere Wetterstationen musst du leider einmal händisch die korrekte neu hinzugekommene ID auswählen.
  6. The 1-Wire Bricklet is on the next production panel. It will be released in 2-3 weeks.
  7. Die Standardeinstellungen sind eigentlich schon OK. Wie schnell dreht denn der Motor wenn er aufhört zu laufen? Du könntest noch einmal "Interpolate" ausstellen damit er auch wirklich Vollschritte macht und im Zweifelsfall die "Thresholds" alle auf 0 setzen damit er nicht den Stealth-Modus verwendet. Ansonsten ist es wenn hohe Geschwindigkeiten/Drehmomente erreicht werden sollen immer vom Vorteil eine möglichst hohe Spannung zu nutzen. Wenn du die Möglichkeit hast könntest du also auch eine höhere Spannung testen (bis zu maximal 46V).
  8. Für den Anfang reicht es wenn du den "Maximum Motor Current" korrekt einstellst, den "Motor Run Current" auf das Maximum stellst und dann mit der Schrittauflösung/Geschwindigkeit/Beschleunigung rumspielst. Wenn der Motor einfach nur brummt kann es sein dass die Beschleunigung zu schnell ist oder auch der Motor nicht so schnell nicht drehen kann mit dem eingestellten Strom. Welche Spannung hat deine Stromversorgung?
  9. Der Aufruf von ipcon_connect stellt eine TCP/IP Verbindung zum Brick Daemon her, zu dem Zeitpunkt wird noch nicht über USB kommuniziert. Passt die UID? Wenn du statt dem Callback einen Getter aufrufst, bekommst du ein Timeout oder einen anderen Fehler?
  10. Welche "Step Resolution" nutzt du denn? Standardmäßig steht die auf 256, wenn du die auf 1 stellst dreht der Motor 256x so schnell.
  11. Strange! Maybe it doesn't deliver enough power for the RED Brick?
  12. Funktionieren die 10poligen Bricklets denn an einem anderen Brick? Bei den 10poligen Bricklets wird ja die Firmware aus dem EEPROM des Bricklets gelesen in den Flash des Bricks geschrieben und auf dem Brick ausgeführt. Das scheint hier fehlzuschlagen. Ich sehe da eigentlich nur 3 mögliche Gründe: * Der Flash des Master Bricks ist hinüber und lässt sich nicht mehr beschreiben. * Die Firmware auf dem Bricklet ist nicht OK. * Die I2C Pins des Master Bricks die zum auslesen des EEPROMs genutzt werden sind nicht OK (krumme Pinne im Bricklet-Stecker o.ä.). Wenn du die Bricks einschickst schauen wir uns diese natürlich an. Edit: Wenn das flashen des Bricks nicht mehr funktioniert (die Version bleibt auf der alten), deutet das natürlich eventuell wirklich darauf hin das der Flash defekt ist? Haben wir bisher noch nie gehabt. Wurde der Stapel oft neu gestartet?
  13. Oh indeed. The newest RED Brick image is newer then the newest Brick Viewer release. But there is nothing in the newest RED Brick image that shouldn't work in Brick Viewer, so this isn't the problem here. This is strange! Can you check if the Brick on top of the RED Brick has a good connection to it? Or maybe the USB cable connected to the RED Brick is not OK? If you sometimes get timeouts and sometimes it runs smoothly for a longer time, it sounds to me like there might be a loose connection or similar perhaps?
  14. Hab gerade einen Master Brick 1.1 sowie Master Brick 2.0 mit der neuesten Master Brick Firmware und unterschiedlichen Bricklets getestet (7p/10p). Ich kann keine Probleme feststellen. Wenn du sagst die "alten 10poligen legen den Master Brick lahm", wie macht sich das bemerkbar? Geht die blaue LED aus? Funktionieren die Bricklets wenn du die Firmware des Bricks "downgradest"? Wie alt ist die Firmware der alten Bricklets, kannst du die eventuell aktualisieren (das geht im Zweifelsfall per Hotplug, also erst Master Brick starten, dann Bricklet anschließen und dann Port/Firmware händisch auswählen im Brick Viewer).
  15. Ich probiere das morgen aus. Aber zumindest das hier kann ich mir nicht so recht vorstellen. Die Version ist als #define fest im Code, ich kann mir nicht erklären wie die sich nach einiger Zeit ändern soll?!
  16. Did you try to update the Brick Viewer as the text in your screenshot suggests?
  17. Wie sehen denn die Bibliotheken genau aus? rufen die sowas wie send/recv auf und du kannst das send/recv selbst implementieren oder nutzen sie direkt /dev/ttyXXX vom Linux? Ersteres sollte sich relativ einfach mit einem Wrapper auf die TF API umbiegen lassen. Falls es letzteres ist müsstest du ein Script schreiben welches so eine serielle Schnittstelle simuliert und nach hinten raus mit dem Bricklet spricht. In fertig haben wir sowas aktuell leider nicht, wäre aber eine coole Sache .
  18. Die Niederschlags-Angabe in mm bezieht sich auf die Zeit seitdem die Batterie drin ist. Um den Niederschlag im Zeitraum eine Stunde zu bestimmen nimmst du den aktuellen Wert und speicherst ihn, holst dir dann eine Stunde später einen neuen Wert und ziehst den gespeicherten davon ab. Das Ergebnis ist der Niederschlag in der letzten Stunde. So kannst du Problemlos den Niederschlag in beliebigen Zeiträumen bestimmen. Die Windgeschwindigkeit ist die aktuelle Windgeschwindigkeit wenn das Datenpaket verschickt wird und die Windböengeschwindigkeit ist die maximale Windgeschwindigkeit seit dem letzten Datenpaket (es wird ca. 1x pro Minute ein Paket verschickt).
  19. Well, if no tag is there you will get into the state STATE_REQUEST_TAG_ID_ERROR and you have to run requestTagID from there again. I attached a working program that runs in a loop. Please note: All of the steps can create an error. For example: What happens if someone removes the card after the authentication but before the page was read? In this case you probably want to scan for a tag again. You have to handle all of these states if you want it to be robust. ExampleScanForTags.java
  20. See attachment. Edit: Dont forget to change the UID back to yours. ExampleScanForTags.java
  21. Hi, it works after a few tweaks: olaf@pc2:~/build20/java$ javac -cp Tinkerforge.jar:. ExampleScanForTags.java olaf@pc2:~/build20/java$ java -cp Tinkerforge.jar:. ExampleScanForTags Press key to exit Found tag of type 0 with ID [6d b8 97 f7] Ready page ready [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] The Problem with your code is that you call "nr.requestTagID(currentTagType);" every time that the Bricklet is in idle state. But it goes into idle state after it reaches any of the new states. So you call requestTagID in a loop. For me it started to work immediately after i commented out the if(idle) {...} block.
  22. Wir ersetzen ja aktuell alle Bricklets durch neue Varianten (Umstellung von EEPROM auf Co-Prozessor). Die neuen Bricklets werden alle die neue API bekommen. Das dauert also noch ein wenig bis alles umgestellt ist (ungefähr bis Ende des Jahres).
  23. Looking at your code, you do: nr.authenticateMifareClassicPage(5, (short) 0,keys); nr.requestPage(5); short[] data=nr.getPage(); System.out.println(Arrays.toString(data)); I think you should first call nr.authenticateMifareClassicPage(5, (short) 0,keys); then in the state STATE_AUTHENTICATING_MIFARE_CLASSIC_PAGE_READY call nr.requestPage(5); and then in the state STATE_REQUEST_PAGE_READY call short[] data=nr.getPage(); System.out.println(Arrays.toString(data)); Does it work when you do that?
  24. Also die Funktion sollte auf jeden Fall aufgerufen werden. Wenn du zum Testen ein print in die "cb_rotary2_press"-Funktion machst, kommt diese print wenn du den Knopf drückst oder nicht?
  25. Strange, do you now what kind of mifare classic tag you have? Is it something special? Do you have a second one you could test with?
×
×
  • Neu erstellen...