Jump to content

photron

Administrators
  • Gesamte Inhalte

    3.125
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    47

Alle erstellten Inhalte von photron

  1. 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
  2. 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?
  3. 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
  4. 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.
  5. Audio über HDMI geht mit dem RED Brick hardware-mäßig nicht. Über HDMI wird nur Video ausgegeben.
  6. Das ist sehr komisch. Hast du das alles mit dem gleichen Tag getestet, oder tritt das auch bei einem anderen Tag auf?
  7. 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.
  8. 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.
  9. 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
  10. 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>'
  11. 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()
  12. 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?
  13. Wird der Callback denn noch aufgerufen? Verwendest du vielleicht einen MQTT Broker der nach 2 Minuten Schweigen dein Verbindung trennt?
  14. 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.
  15. Teste mal bitte, ob es einen Unterschied macht, wenn du den set_wifi_power_mode() Aufruf kurz vor der Problemstelle entfernst.
  16. 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?
  17. 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.
  18. Das Temperature Bricklet hat nicht geantwortet (Timeout). Hast du vielleicht das Temperature Bricklet getauscht und die entsprechende UID in deinem Programm nicht angepasst? Taucht das betroffene Temperature Bricklet noch im Brick Viewer auf? Hast sich vielleicht das Bricklet Kabel gelöst?
  19. 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.
  20. In den Beispielen, die den Bindings beiliegen, ist vor dem ipcon.disconnect() Aufruf ein input() Aufruf, der das Skript an der Stelle warten lässt bis eine Taste gedrückt wurde. Dadurch können die Bindings im Hintergrund eingehende Humidity Callbacks empfangen und an deine cb_humidity weiterreichen. Dein Skript konfiguriert alles um Humidity Callbacks zu empfangen und beendet sich dann. Daher bekommst du keine Ausgabe. Du musst also den input() Aufruf wieder einbauen, oder etwas alternatives, dass den gleichen Zweck erfüllt, das Skript vom sich beenden abzuhalten.
  21. Ich denke nicht, dass es an Spannungsschwankungen am USB Port liegt, denn das Load Cell Bricklet verwendet diese 5V nicht direkt, sondern lokal regulierte 3,3V. Außerdem sagst du ja selbst, dass ein aktiver USB Hub keine Abhilfe bringt. Wie machst du die Kontrollmessung, mit der du erkennst, dass sich das gemessene Gewicht ändert, wenn das Brick Viewer Fenster auf ist? Muss du in Brick Viewer den Tab des Load Cell Bricklets auswählen, oder reicht es auch schon wenn der Setup Tab angezeigt wird?
  22. Hast du noch einen anderen Brick, um testen zu können ob das Problem am Master Brick oder an den Bricklets liegt? Wobei es schon sehr auf den Master Brick hindeutet, dass keines der drei Bricklets funktioniert. Ansonsten melde dich bitte mit deiner Bestellnummer und einem Verweis auf diesen Thread hier bei info@tinkerforge.com. Du bekommst dann einen neuen Master Brick.
  23. Das ist komisch, dass das gleich drei Bricklets gleichzeitig betrifft. Sind vielleicht in irgendeinem der Bricklet Stecker an den Bricklets oder dem Master Brick Beinchen krum, wie auf diesem bild hier? http://www.tinkerforge.com/de/doc/FAQ.html#mein-brick-wird-heisz
  24. Okay, der Master Brick alleine funktioniert also und taucht im Brick Viewer auf. Sobald ein Bricklet angeschlossen ist, dann taucht auch der Master Brick nicht mehr im Brick Viewer auf? Bis du schon mal diesen Punkt im FAQ durchgegangen? http://www.tinkerforge.com/de/doc/FAQ.html#eines-meiner-bricklets-wird-im-brick-viewer-nicht-angezeigt
  25. Ahhh! Okay, du kannst hier am Ende der Seite die paho-mqtt-1.1.tar.gz Datei herunterladen: https://pypi.python.org/pypi/paho-mqtt Diese muss du dann auf's RED Brick übertragen. Am einfachsten lädst du sie mit deinem Programm mit hoch. Dann auf dem RED Brick (im Brick Viewer RED Brick Console Tab) in das bin Verzeichnis deines Programms wechseln: cd programs/<id>/bin <id> ist der Identifier deines Programms der in Brick Viewer angezeigt wird. Dort die paho-mqtt-1.1.tar.gz Datei eintpacken tar -xvf paho-mqtt-1.1.tar.gz Ins entpackte Verzeichnis wechseln: cd paho-mqtt-1.1 und per setup.py installieren: sudo python setup.py install
×
×
  • Neu erstellen...