Jump to content

photron

Administrators
  • Gesamte Inhalte

    3.189
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    53

Alle erstellten Inhalte von photron

  1. Dass heißt, für Titanium müssten unsere JavaScript Bindings erweitert werden, damit sie Titanium erkennen und dann die Titanium spezifischen Funktionen für Socket und Buffer verwenden können?
  2. Das JavaScript Browser Callback Beispiel für's Color Bricklet funktioniert hier ohne Probleme, wie es soll. Wie genau testet du das Beispiel? Wenn du am Voltage/Current Bricklet nichts angeschlossen hast, dann ist die Strommessung recht stabil bei 0A. Callbacks für solche Messwerte werden aber nur dann gesendet, wenn sich der Messwert ändert. Wenn der Messwert aber stabil ist, dann wird auch kein Callback gesendet.
  3. Problem gefunden. Illuminance und Color Temperature wurden nur dann neu berechnet, wenn der Color Callback aktiviert war. Das ist jetzt in Color Bricklet Plugin Version 2.0.1 korrigiert. Dein Program sollte also nach einem Update des Color Bricklet Plugins funktionieren wie erwartet. Danke für den Hinweis!
  4. Plugin: Color Bricklet 2.0.1 Always use up-to-date RGB values in color temperature and illuminance calculation, independent of the color callback state Download: Color Bricklet
  5. Plugin: Color Bricklet 2.0.1 Es werden immer aktuelle RGB Werte in der Color Temperature und Illuminance Berechnung genutzt, unabhängig davon, ob der Color Callback aktiviert ist oder nicht Download: Color Bricklet
  6. Du machst da gar nichts falsch! Ich kann das Problem hier reproduzieren, sieht nach einem Problem in der Firmware des Bricklets aus. Muss ich mir genauer ansehen.
  7. Hrm, bin ich etwas ratlos. Mach mal testweise aus dem illuminance/10.0 ein illuminance/10 um zu sehen ob das deinen Unterschied macht.
  8. Welche Version des Compilers verwendest du denn, also was gibt "msc --version" aus? Der Fehler bezieht sich auf Zeichen 77 in Zeile 18. In WeatherStation.cs steht dort: string text = string.Format("Illuminanc {0,6:###.00} lx", illuminance/10.0); Wenn die Tabs als jeweils ein Zeichen gezählt werden dann ist Zeichen 77 die schließende Klammer nach 10.0. Ergibt so richtig keine sinn warum das ein Problem sein sollte. Steht bei dir etwas anderes in Zeile 18 in einfache_Wetterstation.cs?
  9. Did you test this yet? Any feedback on this?
  10. Dass heißt jedes dieser drei Bricklets einzeln am Servo Brick angeschlossen macht kein Problem. Sobald du aber irgendein zweites Bricklet anschließt funktioniert die WLAN Verbindung deutlich schlechter? Ist die Kombination der Bricklets egal, oder gibt es eine spezielle Kombination die das Problem erzeugt? Wie lang sind die Bricklet Kabel die du verwendest? Funktioniert es besser wenn du kürzere Kabel verwendest, unter der Annahme dass du noch nicht die kürzesten Kabel verwendest?
  11. Komische Fehlermeldung, vom Text her. Was ist der genau Text der Fehlermeldung? Hört sich an als ob der System.Net Namespace fehlt. Der kommt aus der System.dll (oder der System.Net.dll (?)), die sollte aber eigentlich automatisch zu deinem C# Projekt hinzugefügt worden sein.
  12. Sprichts du denn das Protokoll auch so wie hier beschrieben: http://www.tinkerforge.com/de/doc/Low_Level_Protocols/Modbus.html#requests-and-responses Sprich pollst du den Slave für Responses nachdem du ihm den Request gesendet hast? Slaves dürfen von sich aus keinen Response senden, sondern nur als Antwort auf einen Request. Edit: Hätte mal richtig lesen sollen. Wie handhabt dein RS485 Wandler den Transmitter und Receiver Enable? Steuerst du das von Hand, oder passiert das automatisch? Wenn der Transmitter auf der Master-Seite aktiviert ist wenn der Slave antwortet dann kann die Antwort verfälscht ankommen.
  13. Welche Bricklets hast du denn am Servo Brick getestet?
  14. Hrm, da ist wohl einiges schief gelaufen mit dieser Funktion. Ich hab mir die Dokumention gar nicht angesehen, sondern die Firmware. Die Dokumention ist schlicht falsch, sorry. Ich habe sie jetzt korrigiert, danke für den Hinweis.
  15. Hast du schon mal getestet, ob es einen Unterschied macht, wenn du den Stack in einer anderen Reihenfolge zusammensteckst? Step-Down und Master müssen ganz unten bleiben, alles andere darüber kannst du beliebig vertauschen. Wenn du nur Master Brick und WIFI Extension verwendest und über USB versorgst, funktioniert dann die WLAN Verbindung auf dauer besser?
  16. is_light_on() ist nicht negiert. is_light_on() gibt keinen bool zurück, sondern einen uint8 mit 2 definierten Werten LIGHT_ON = 0 und LIGHT_OFF = 1. ilor.light = PIN_LED.pio->PIO_PDSR & PIN_LED.mask ? LIGHT_ON : LIGHT_OFF; Wenn du das als bool betrachten willst dann ist das negiert, ja. Man hätte da einen bool zurückgeben können. So ist es aber nicht definiert worden und jetzt ist es zu spät das zu ändern, sorry.
  17. Das init Script wird als root ausgeführt. Funktioniert Folgendes? sudo java -jar /home/pi/FerienHaus.jar
  18. Ein JAR ist keine ausführbare Datei. Die --exec Option des start-stop-daemons erwartet aber eine ausführbare Datei. Es sollte funktionieren, wenn du DAEMON=/home/pi/FerienHaus.jar OPTIONS=--daemon durch DAEMON=java OPTIONS=-jar /home/pi/FerienHaus.jar ersetzt. Unter der Annahme, dass dein FerienHaus.jar einen Main-Class Eintrag im Manifest hat.
  19. Dein Problem liegt hier: $VALUE_ON = (1 << 3); $iqr->setMonoflop($VALUE_ON, 1, 500); Die Signatur ist so: setMonoflop(int $selection_mask, int $value_mask, int $time) Für die selection_mask nimmst du 1 << 3, also eine 1 um 3 Bit nach links geschoben, in Binär 0b1000 (0b als Prefix für Binär, so wie 0x für Hexadezimal). Damit hast du das Relais 3 (von 0 gezählt) ausgewählt. Für die value_mask nimmst du 1, in Binär 0b0001. Damit gibst du für Relais 0 vor dass es eingeschaltet werden soll und alle anderen ausgeschaltet. Da du mit der selection_mask von 0b1000 aber gesagt hast, dass über haupt nur Relais 3 geschaltet werden soll passiert nichts, da Relais 3 schon aus ist. Die selection_mask sagt welche Relais überhaupt geschaltet werden sollen und die value_mask sagt wie geschaltet werden sollen. 0b1000 selection_mask 0b0001 value_mask In der value_mask werden also nur die Stellen betrachtet, für die in der selection_mask eine 1 steht. Du schaltest also Relais 3 aus und alle anderen bleiben unverändert. Um Relais 3 einzuschalten muss es so aussehen: 0b1000 selection_mask 0b1000 value_mask und daher so in PHP: $SELECT_3 = (1 << 3); $VALUE_3_ON = (1 << 3); $iqr->setMonoflop($SELECT_3, $VALUE_3_ON, 500); Bitmasken können verwirrend sein
  20. Leider nein, das hatte ich schon beim eigenen Ausprobieren getestet, Fehlermeldung "adress already in use" Doch doch, das geht, du musst dann nur für den zweiten Listen Aufruf einen anderen Port nehmen. Standardmäßig lauscht Listen auf Port 4217 auf eingehende Verbindungen von NetIO. Hier mit lauscht das zweite Listen auf Port 4218 für die zweite Ethernet Extension: tinkerforge --host 192.168.2.242 --port 4222 listen --port 4218
  21. Wenn du den Listen Modus so startest tinkerforge --host 192.168.2.241 --port 4222 listen dann werden all Befehle die von NetIO eingehen an 192.168.2.241:4222 geschickt. Für deine zweite Ethernet Extension kannst du jetzt die Shell Bindings in zweites Mal im Listen Modus mit der anderen IP Adresse starten. In NetIO verwendet du dann auch zwei verschiedene Connections. Du kannst aber auch die --enable-host und --enable-port Option des Listen Modus nutzen. Dann kannst du von NetIO aus für jeden Befehl --host und --port setzen. Also tinkerforge listen --enable-host --enable-port und dann in NetIO statt "call ..." --host 192.168.2.241 --port 4222 call ...
  22. Okay, nehmen wir mal an die Verschraubung ist wirklich das Problem. Wie fest hast du die Bolzen angezogen? Wenn du die sehr stramm anziehst dann kann es vorkommen, dass du die Platine etwas verbiegst. Vielleicht ist das Verbiegen das eigentliche Problem. Was passiert, wenn du die Bolzen nur sehr locker verschraubst? Eigentlich sollten alle Bauteile auf den Bricks so gesetzt sein, dass du mit den Bolzen in jeglicher Stellung keine Bauteile berühren kannst und damit auch keine Kurzschlüsse machen kannst. Schau dir dennoch mal an ob du nicht irgendwo eine Bolzen hast der ein Bauteil oder ein Lötstelle berührt.
  23. Dass heißt also, ob es funktioniert oder nicht hängt davon ab wie du das ganze mit Strom versorgst? Dein Stack besteht aus Step-Down Power Supply, zwei Master Bricks und einem DC Brick. Wenn du den Stack mit 5V über USB versorgst und den Lüfter mit 12V über den schwarzen Stecker des DC Bricks, dann funktioniert es. Sobald du aber den Stack über die Step-Down Power Supply versorgst geht es nicht mehr. Frage 1: Versorgst du den Lüfter und die Step-Down Power Supply mit dem gleichen Netzteil? Und was ist das überhaupt für ein Netzteil: Spannung, maximaler Ausgangsstrom, etc? Frage 2: Hast du ein zweites Netzteil zur Hand, so dass du als Test Step-Down Power Supply und Lüfter aus zwei verschiedenen Netzteilen versorgen könntest?
  24. Wenn es das Problem aus dem Stepper Brick Thread ist, dann sollte es helfen, wenn du auf allen Brick im Stapel die aktuellen Firmware Versionen hast: Master Brick 2.2.2, DC Brick 2.0.3. Wenn du schon die aktuellen Firmware Versionen verwendest und das Problem besteht weiterhin, dann ist es wahrscheinlich nicht direkt das Problem aus dem Stepper Brick Thread.
  25. Dass heißt, sobald du enable aufrufst wenn der Drive Mode auf Drive/Coast stehst oder du auf Drive/Coast umstellst während enabled=true ist dann startet der DC Brick neu. Der Neustart ist dann daran zu erkennen, dass der Drive Mode auf Drive/Break zurückgesetzt wurde und is-enabled false ausgibt. Ich nehme an, in den Fällen wo get-drive-mode einen Fehler ausgibt, hast du get-drive-mode direkt nach set-drive-mode oder enable aufgerufen, so dass du den DC Brick im Neustart erwischt hast und er noch nicht antwortet konnte. Tritt das Prpblem nur auf, wenn der Lüfter angeschlossen ist, oder auch wenn der Lüfter nicht angeschlossen ist?
×
×
  • Neu erstellen...