
photron
Administrators-
Gesamte Inhalte
3.206 -
Benutzer seit
-
Letzter Besuch
-
Tagessiege
56
Alle erstellten Inhalte von photron
-
Joystick am RED Brick.
Thema antwortete auf photrons FlyingDoc in: Software, Programmierung und externe Tools
FlyingDoc, warum kannst du nicht den normalen Program Schedule Mechnismus mit Always und Continue-After-Error benutzen? -
RED Brick: Blaue LED deaktivieren
Thema antwortete auf photrons ub_marco in: Software, Programmierung und externe Tools
Die blaue LED ist leider nicht per Software steuerbar. Nur die Rote und Grüne können per Software gesteuert werden. -
Das ergibt aber keinen Sinn! Welche Brick Daemon Version hattest du denn vorher installiert? Die 2.2.2-debug1 Version hat keine Änderungen gegenüber 2.2.2, abgesehen von mehr Debugausgabe. Kannst du bitte einmal die originale 2.2.2 Version testen: http://download.tinkerforge.com/tools/brickd/windows/brickd_windows_2_2_2.exe Mit der muss es dann eigentlich auf funktionieren.
-
Komisch, dass beim Anstecken den Bricks nichts im Live Debug Log auftaucht. Dass heißt Windows hat Brick Daemon entweder nicht gesagt, dass ein neues Gerät angeschlossen wurde, oder Brick Daemon hat es nicht verstanden. Die Access Denied Fehler im Event Log sind komisch. Leider fehlt dazu das passende Live Debug Log. Die libusb Bibliothek kann LIBUSB_ERROR_ACCESS an mehreren Stellen zurückgeben, ohne das Debug Log weiß ich nicht wo genau der Fehler herkommt. Hier eine Brick Daemon Version mit mehr Debug Ausgabe. Kannst du diese Version installieren und noch einmal nach den beschriebenen Schritten ein Live Debug Log vom Anstecken des Bricks erstellen? brickd_windows_2_2_2_debug1.exe
-
Andi, es wir auch diese Jahr leider keinen Weihnachtsrabatt geben.
-
Okay da ist was komisch. Führe bitte folgende Schritte aus: - Beende Brick Viewer und alle anderen Programme die mit dem Brick Daemon verbunden sind - Trenne den RED Brick von USB - Starte den Brick Daemon Log Viewer (Startmenu oder Brick Daemon Programm Verzeichnis) - Schalte im View Menu auf "Live Debug Log" um - Stecke den RED Brick an USB an - Warte bis das Log angehalten hat - Speichere das Log über File -> Save und hänge die Datei an Foreneintrag an
-
Data Logger - No devices available at 192.XXX.XXX.XXX
Thema antwortete auf photrons Unexpected in: Software, Programmierung und externe Tools
Die neuere Version war für dich zum Testen, die ist noch nicht released. Hier eine Version des Brick Logger Scripts mit Authentication. brick_logger_2_0_2_b389b417af0a39e61d355b46056820b60c915209.zip -
Windows 7, Vista und XP brauchen einen extra Treiber für Bricks per USB. Dieser Treiber wird durch den Brick Daemon Installer mitinstalliert und Windows sollte ihn automatisch nutzen, wenn du Bricks per USB ansteckst. Taucht der Brick denn im Geräte Manager auf?
-
Data Logger - No devices available at 192.XXX.XXX.XXX
Thema antwortete auf photrons Unexpected in: Software, Programmierung und externe Tools
Die Erklärung ist einfach: der Data Logger kann noch keine Authentication. Teste mal bitte diese Brick Viewer Version: http://download.tinkerforge.com/_stuff/brickv_windows_2_3_2_660769f014465cc53224c7323db5e0bdae07a944.exe -
[Python] NFC Bricklet
Thema antwortete auf photrons fedex in: Software, Programmierung und externe Tools
So funktioniert da ja auch nicht. Du musst zuerst RequestPage() aufrufen. Schau dir mal die Dokumentation für GetPage() und RequestPage() und das "Write/Read Type 2" Beispiel. -
Audio über HDMI geht mit dem RED Brick hardware-mäßig nicht. Über HDMI wird nur Video ausgegeben.
-
Das ist sehr komisch. Hast du das alles mit dem gleichen Tag getestet, oder tritt das auch bei einem anderen Tag auf?
-
Bindings: C/C++ 2.1.8, C# 2.1.7, Delphi/Lazarus 2.1.8, Java 2.1.6, JavaScript 2.0.6, LabVIEW 2.1.6, Mathematica 2.1.6, MATLAB/Octave 2.0.6, Perl 2.1.6, PHP 2.1.6, Python 2.1.6, Ruby 2.1.6, Shell 2.1.6, VB.NET 2.1.6 Add missing constant for 19200 baud to RS232 Bricklet API [all] Add error callback to RS232 Bricklet API [all] Add set_break_condition function to RS232 Bricklet API [all] Add unlimited illuminance range constant to Ambient Light Bricklet 2.0 API [all] Break API to fix threshold min/max type mismatch in Ambient Light, Analog In (2.0), Distance IR/US, Humidity, Linear Poti and Voltage Bricklet API [all] Break API to fix bool return type mismatch in Servo Brick (is_position_reached_callback_enabled and is_velocity_reached_callback_enabled function), Accelerometer Bricklet (is_led_on function) and Load Cell Bricklet (is_led_on function) API [all] Avoid race condition in callback thread destruction [C/C++] Avoid warnings about experimental reference access patterns [Perl] Don't decode non-ASCII strings and chars in Python 3 [Python] Download: C/C++, C#, Delphi/Lazarus, Java, JavaScript, LabVIEW, Mathematica, MATLAB/Octave, Perl, PHP, Python, Ruby, Shell, VB.NET This release brakes API in two places. Programs that use the affected functions have to be adapted. The change is about the parameter and return types of some functions. Because of that only strictly typed languages are affected: C/C++, C#, Delphi/Lazarus, Java and VB.NET. In all cases the changes will reveal themself as compile error, so no change can be missed.
-
Bindings: C/C++ 2.1.8, C# 2.1.7, Delphi/Lazarus 2.1.8, Java 2.1.6, JavaScript 2.0.6, LabVIEW 2.1.6, Mathematica 2.1.6, MATLAB/Octave 2.0.6, Perl 2.1.6, PHP 2.1.6, Python 2.1.6, Ruby 2.1.6, Shell 2.1.6, VB.NET 2.1.6 Fehlenden Konstante für 19200 Baud zur RS232 Bricklet API hinzugefügt [Alle] Error Callback zur RS232 Bricklet API hinzugefügt [Alle] set_break_condition Funktion zur RS232 Bricklet API hinzugefügt [Alle] Unlimited Konstante zur Ambient Light Bricklet 2.0 API hinzugefügt [Alle] API Bruch, um falsche Threshold Min/Max Parametertypen in der Ambient Light, Analog In (2.0), Distance IR/US, Humidity, Linear Poti und Voltage Bricklet API zu korrigieren [Alle] API Bruch, um falsche Rückgabetypen in der Servo Brick (is_position_reached_callback_enabled und is_velocity_reached_callback_enabled Funktion), Accelerometer Bricklet (is_led_on Funktion) und Load Cell Bricklet (is_led_on Funktion) API zu korrigieren [Alle] Race Condition in der Callback Thread Beendigungslogik vermieden [C/C++] Warnungen über experimentelle Referenzzugriffsmuster behoben [Perl] Nicht-ASCII Strings und Zeichen werden in Python 3 nicht mehr fälschlicherweise dekodiert [Python] Download: C/C++, C#, Delphi/Lazarus, Java, JavaScript, LabVIEW, Mathematica, MATLAB/Octave, Perl, PHP, Python, Ruby, Shell, VB.NET Dieses Release bricht API an zwei Stellen. Dies bedeutet, dass Programm, die die betroffenen Funktionen nutzen angepasst werden müssen. Es geht um die Parameter- und Rückgabewerttypen einiger Funktionen. Daher sind nur Programmiersprachen mit strikten Typen betroffen: C/C++, C#, Delphi/Lazarus, Java und VB.NET. In allen Fällen werden sich die Änderungen als Kompilierfehler zeigen, so dass keine Änderungen unbemerkt blieben kann.
-
[Python/Flask][redbrick] Läuft nicht ...
Thema antwortete auf photrons MacDuff in: Software, Programmierung und externe Tools
Das der import nicht klappt könnte daran liegen, dass das aktuelle Verzeichnis nicht das ist in dem deine index.py liegt. Füge mal bitte folgendes vor dem problematischen import ein: import sys import os sys.path.insert(0, os.path.dirname(os.path.realpath(__file__))) Das fügt, dass Verzeichnis in dem deine index.py liegt in den sys.path ein in dem Python nach Modulen sucht. Wenn das nicht hilft, dann kannst du Debug aktivieren, was die Python Exception anzeigen sollte die den 500er Fehler erzeugt: application = Flask(__name__) application.debug = True -
[Python/Flask][redbrick] Läuft nicht ...
Thema antwortete auf photrons MacDuff in: Software, Programmierung und externe Tools
Funktioniert dieses Minimalbeispiel, wenn du es als index.py hochlädst: from flask import Flask application = Flask(__name__) app = application @app.route('/') def index(): return '<html><body>Hello World!</body></html>' -
[Python] keine Sensorwerte mehr
Thema antwortete auf photrons fedex in: Software, Programmierung und externe Tools
Deinem Script fehlt der Aufruf einer der verschiedenen Client Loop Funktionen: https://pypi.python.org/pypi/paho-mqtt#network-loop Dadurch funktioniert dein Skript mehr oder weniger nur zufällig und daher kommt auch das 2 Minuten Problem. Ersetze in deinem Skript raw_input('Press key to exit\n') # Use input() in Python 3 z.B. durch client.loop_forever() -
Der short Array beinhaltet die Bytes, die geschrieben werden sollen. Im Beispiel werden 16 Bytes ab Page 5 geschrieben, dann wieder ausgelesen und wieder ausgegeben. Dabei sollte wieder die gleiche Zahlenfolge bei herum kommen. Das Beispiel schreibt erst ab Page 5, da bei den NFC Tags normalerweise diese ersten paar Pages für Verwaltungsinformationen verwendet werden: http://www.tinkerforge.com/de/doc/Hardware/Bricklets/NFC_RFID.html#page-groszen-und-andere-dinge-die-man-wissen-sollte Funktioniert das Beispiel schon nicht, oder hast du das Beispiel verändert und dann funktioniert es nicht mehr? Was für einen NFC Tag verwendest du?
-
[Python] keine Sensorwerte mehr
Thema antwortete auf photrons fedex in: Software, Programmierung und externe Tools
Wird der Callback denn noch aufgerufen? Verwendest du vielleicht einen MQTT Broker der nach 2 Minuten Schweigen dein Verbindung trennt? -
Ja, das ist eine Unschönheit der API Definition des Accelerometer Bricklets. Das gleiche ist auch beim Load Cell Bricklet passiert. Das hätte ein bool sein sollen, ist aber aus unbekannten Gründen uint8 geworden was in Java als short abgebildet wird. Wie du auf 11 und 12 kommst kann ich nicht nachstellen. Ich bekommen 0 für "LED aus" und 1 für "LED an", so wie erwartet. Wir haben über die Jahre mehrere solcher Unschönheit und teils auch Fehler in der API Definition angesammelt. In der nächste Version der Bindings werden wir alle diese korrigieren. Dies bedeutet einen Änderung/Bruch der bestehenden API, da sich ein paar Parameter- und Rückgabetypen ändern werden. Wir versuchen so etwas immer zu vermeiden. Haben uns aber entschlossen, dass jetzt gesammelt zu korrigieren. Bezüglich des Color Bricklets ist die Lage etwas anders. Das Bricklet gibt 0 für "LED an" zurück. Das lässt sich nicht durch eine Änderung der Bindings korrigieren, da 0 false entspricht und alles andere true ist.
-
Während du im Brick Viewer die Tabs wechselst usw. bliebt das eigentliche Gewicht, das auf der Wägezelle lastet aber gleich? Der Graph im Brick Viewer wird nur aktualisiert, wenn der Tab auch sichtbar ist. Sprich, wenn du die Wägezelle mit 1kg belastet, den Load Cell Tab abwählst, das Gewicht änderst du dann den Load Cell Tab wieder auswählst, dann springt der Graph. Die Änderungen den Gewichts während der Tab nicht sichtbar war wurden nicht aufgezeichnet. Ich nehme an das hier tritt bei dir nicht auf, da das Gewicht auf der Wägezelle konstant bliebt, oder? Die Messung einer Wägezelle erfolgt analog. An zwei Anschlüssen der Wägezelle wird eine Spannung eingespeist und an den zwei anderen Anschlüssen wieder zurück gemessen. Die Wägezelle tritt dabei als veränderlicher "Spannungsteiler" auf. 5m ungeschirmtes Kabel geben eine prima Antenne ab. Dadurch können externe Störungen die Messung beeinflussen. Auch wird der Spannungsabfall über 5m Kabel die Messung verfälschen. Besteht die Möglichkeit, dass du den Aufbau mit einem deutlich kürzeren Kabel zwischen Bricklet und Wägezelle testet?
-
[Python] Python MQTT
Thema antwortete auf photrons fedex in: Software, Programmierung und externe Tools
Du registrierst hier die cb_temperature Funktion für den Temperatur Callback: # Register temperature callback to function cb_temperature t.register_callback(t.CALLBACK_TEMPERATURE, cb_temperature) Die t.CALLBACK_TEMPERATURE Konstante identifiziert den Temperatur Callback, damit register_callback weiss worum es geht. Die Bindings rufen dann deine cb_temperature Funktion auf und übergeben die aktuelle Temperatur sobald das Bricklet eine Änderung der Temperatur meldet. Du kannst also deinen publish() Aufruf in die cb_temperature() Funktion verlegen. -
Du brauchst raw_input(), ansonsten funktionieren das Callback Examples nicht, wie du schon selbst gesehen hast. Python buffered Ausgaben zwischen, dadurch siehst du sie nicht direkt im stdout.log während das Programm läuft. Du kannst Python auf unbuffered stellen. Dazu muss du hier Python -u als Argument übergeben: http://www.tinkerforge.com/de/doc/Hardware/Bricks/RED_Brick_Program_Tab.html#python Um Temperatur Daten an einen Server zu senden kannst du das Callback Example nehmen, raw_input() und ipcon.disconnect() drin lassen und in der cb_temperature() Funktion den Code einfügen, der die Daten an den Server sendet. Dann das modifizierte Beispiel auf den RED Brick laden und laufen lassen.