Jump to content

Stefan

Members
  • Gesamte Inhalte

    76
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von Stefan

  1. Mir ist ein Fehler unterlaufen, sorry. Es muss heißen True und nicht TRUE. Außerdem kann man die Klammer weglassen. while True: # "Seite 1" lcd.clear_display() lcd.write_line(0, 0, 'Seite1') lcd.write_line(1, 0, 'Seite1') lcd.write_line(2, 0, 'Seite1') lcd.write_line(3, 0, 'Seite1') time.sleep(5) # "Seite 2" lcd.clear_display() lcd.write_line(0, 0, 'Seite2') lcd.write_line(1, 0, 'Seite2') lcd.write_line(2, 0, 'Seite2') lcd.write_line(3, 0, 'Seite2') time.sleep(5) # "Seite 3" lcd.clear_display() lcd.write_line(0, 0, 'Seite3') lcd.write_line(1, 0, 'Seite3') lcd.write_line(2, 0, 'Seite3') lcd.write_line(3, 0, 'Seite3') time.sleep(5) # "Seite 4" lcd.clear_display() lcd.write_line(0, 0, 'Seite4') lcd.write_line(1, 0, 'Seite4') lcd.write_line(2, 0, 'Seite4') lcd.write_line(3, 0, 'Seite4') time.sleep(5)
  2. Du kannst um die Seite 1 bis Seite 4 eine Endlosschleife einbauen. Dabei in Python die Einrückungen nicht vergessen. Dein Programm/Thread wird sich dadurch aber nie selbst beenden und muss von dir manuell beendet werden. while (TRUE): # "Seite 1" lcd.clear_display() lcd.write_line(0, 0, 'Seite1') lcd.write_line(1, 0, 'Seite1') lcd.write_line(2, 0, 'Seite1') lcd.write_line(3, 0, 'Seite1') time.sleep(5) # "Seite 2" lcd.clear_display() lcd.write_line(0, 0, 'Seite2') lcd.write_line(1, 0, 'Seite2') lcd.write_line(2, 0, 'Seite2') lcd.write_line(3, 0, 'Seite2') time.sleep(5) # "Seite 3" lcd.clear_display() lcd.write_line(0, 0, 'Seite3') lcd.write_line(1, 0, 'Seite3') lcd.write_line(2, 0, 'Seite3') lcd.write_line(3, 0, 'Seite3') time.sleep(5) # "Seite 4" lcd.clear_display() lcd.write_line(0, 0, 'Seite4') lcd.write_line(1, 0, 'Seite4') lcd.write_line(2, 0, 'Seite4') lcd.write_line(3, 0, 'Seite4') time.sleep(5)
  3. Hallo Theo, ich bin endlich zum ausführlicheren Testen gekommen. Nach ein paar Stunden, manchmal auch erst nach ein paar Tagen, fangen die IO16-Input-Items wild an zu wechseln. Wenn ich mit Brickv die Ports wieder auf Pull-Up einstelle, Openhab läuft weiter, ist wieder alles in Ordnung. Ich vermute, dass sich das Brick reconnected hat, laut Log gab es Timeouts, und dabei werden nicht wieder die Pull-Ups gesetzt. Kann dies sein? Werden eigentlich ausschließlich die Callbacks von dem IO16 Bricklet benutzt oder wird als Backup auch in einem Zeitintervall manuell geschaut, welchen Status die Input-Ports haben? Vielen Dank, Stefan
  4. Die Intertechno IT-1500 Zwischenstecker sind selbstlernend, d.h. du kannst jeden beliebigen Code senden und diese können ihn lernen, wenn sie im Lernmodus sind.
  5. Stefan

    Optokoppler

    Hallo, ich brauche für mein Projekt zwei Optokoppler. Mir fällt es aber schwer passende auszuwählen. Es gibt so viele unzählige Optokoppler und ich habe mit Optokopplern keine Erfahrung. Bisher habe ich immer Relais benutzt. Der erste Optokoppler soll bei Anliegen einer 8 Volt Spannung den anderen Stromkreis (3,3 - 5 Volt / IO16-Bricklet) schließen. Dabei sollte er innerhalb einer Sekunde schalten. Der zweite Optokoppler (ein invertierender Optokoppler) sollte bei Anliegen einer IO16-Bricklet Spannung (3,3 – 5 Volt) einen Stromkreis öffnen, auf dem 8 Volt anliegen. Hierbei ist die Schaltzeit nicht relevant. Am liebsten wäre mir ein Optokoppler mit Gehäuse. Das Industrial Digital In 4 Bricklet und Industrial Quad Relay Bricklet kann ich leider nicht verwenden. Ich hoffe jemand von euch hat davon Ahnung und kann mir weiterhelfen. Im Voraus vielen Dank.
  6. Ohne an der Firmware rumzubasteln wird man vermutlich keine Infrarotsignale senden können. Am besten wäre ein Infrarotfernbedienungs-Bricklet als Ergänzung zum Remote-Switch-Bricklet.
  7. Stefan

    Flankenzähler

    Die API wurde geändert. Der Flankenzähler ist jetzt für Pin 0 und Pin 1 an Port A verfügbar, der jeweilige Pin wird einfach als Parameter übergeben.
  8. Stefan

    Flankenzähler

    Hallo, für das IO16-Bricket wurde ja ein "Flankenzähler für Pin 0 an beiden Ports hinzugefügt" (siehe Veröffentlichung August 28, 2013). Über die API ist aber nur Pin 0 an Port A ansprechbar. Wie kann ich Pin 0 an Port B ansprechen?
  9. Bei mir funktioniert jetzt alles. Vielen Dank Theo für das "Tinkerforge-Openhab-Binding". Es leistet super Arbeit.
  10. Vielen Dank Theo. Funktionieren bei dir alle Pins? Bei mir funktionieren die Pins a0 und a7, a[1-6] funktionieren nicht. Die Pins b[0-7] habe ich noch nicht ausgetestet. Dies kann sehr viele verschiedene Gründe haben. Falls bei dir alles problemlos funktioniert, werde ich ausführlichere Tests durchführen. Da alle anderen Dinge im openhab weiter problemlos funktionieren, kannst du, meiner Meinung nach, das Binding schon committen. openhab.cfg tinkerforge:hosts=192.168.178.23 tinkerforge:io16ina0.uid=io2 tinkerforge:io16ina0.subid=ina0 tinkerforge:io16ina0.type=iosensor tinkerforge:io16ina0.pullUpResistorEnabled=true tinkerforge:io16ina1.uid=io2 tinkerforge:io16ina1.subid=ina1 tinkerforge:io16ina1.type=iosensor tinkerforge:io16ina1.pullUpResistorEnabled=true tinkerforge:io16ina2.uid=io2 tinkerforge:io16ina2.subid=ina3 tinkerforge:io16ina2.type=iosensor tinkerforge:io16ina2.pullUpResistorEnabled=true tinkerforge:io16ina4.uid=io2 tinkerforge:io16ina4.subid=ina4 tinkerforge:io16ina4.type=iosensor tinkerforge:io16ina4.pullUpResistorEnabled=true tinkerforge:io16ina5.uid=io2 tinkerforge:io16ina5.subid=ina5 tinkerforge:io16ina5.type=iosensor tinkerforge:io16ina5.pullUpResistorEnabled=true tinkerforge:io16ina6.uid=io2 tinkerforge:io16ina6.subid=ina6 tinkerforge:io16ina6.type=iosensor tinkerforge:io16ina6.pullUpResistorEnabled=true tinkerforge:io16ina7.uid=io2 tinkerforge:io16ina7.subid=ina7 tinkerforge:io16ina7.type=iosensor tinkerforge:io16ina7.pullUpResistorEnabled=true items.items Contact c1 "c1 [MAP(en.map):%s]" {tinkerforge="uid=io2, subid=ina0"} Contact c2 "c2 [MAP(en.map):%s]" {tinkerforge="uid=io2, subid=ina1"} Contact c3 "c3 [MAP(en.map):%s]" {tinkerforge="uid=io2, subid=ina3"} Contact c4 "c4 [MAP(en.map):%s]" {tinkerforge="uid=io2, subid=ina4"} Contact c5 "c5 [MAP(en.map):%s]" {tinkerforge="uid=io2, subid=ina5"} Contact c6 "c6 [MAP(en.map):%s]" {tinkerforge="uid=io2, subid=ina6"} Contact c7 "c7 [MAP(en.map):%s]" {tinkerforge="uid=io2, subid=ina7"} default.sitemap Text item=c1 Text item=c2 Text item=c3 Text item=c4 Text item=c5 Text item=c6 Text item=c7
  11. In the bricklib/utility/init.c you must comment the both lines led_on(LED_STD_BLUE); led_tick_task(tick_type); out. After compiling and flashing this new firmware, the blue led will be disabled. Firmware compiling tutorial: http://www.tinkerforge.com/en/doc/Software/Firmwares_And_Plugins.html#firmwares-and-plugins
  12. Hi Theo, das hört sich sehr gut an. Vielen Dank. Ich freue mich schon auf das Testen. Könntest du uns noch ein Beispiel geben, wenn du fertig bist, wie man ein IO16-Bricklet einbindet?
  13. In den APIs gibt es immer ein "Threshold" Beispiel. So kannst du die Callbacks feinjustieren.
  14. Um den Sensor direkt auszulesen, brauchst du eine Spannungsquelle um ihn zu betreiben und ein Industrial Digital In 4 Bricklet oder AnalogIn Bricklet um den Wert des Sensors auszulesen (hier muss jedoch sichergestellt werden, dass die Spannung kleiner als 36 Volt ist). Wie viel Spannung benötigt wird oder welches Kabel des Sensors an was angeschlossen werden muss, kann man aus den Daten des Bewegungmelders, meiner Meinung nach, nicht ersehen.
  15. In der PDF Anleitung PIR415.PDF befindet sich auf Seite 2 der Schaltplan. Die Lampe kannst du durch ein Bricklet ersetzen, am besten das Industrial Digital In 4 Bricklet. Dabei ist aber zu beachten, dass es kein Bricklet gibt, welches 220 V verträgt und du die Spannung ersteinmal runtertransformieren musst. Ich würde deswegen 12/24 V Bewegungsmelder empfehlen http://www.tinkerunity.org/forum/index.php/topic,1858.msg12349.html#msg12349. Dies ist auch ungefährlicher. Bei 220 V besteht Lebensgefahr, also darf so eine Schaltung nur von einem authorisierten Fachmann montiert werden.
  16. @Einstein Danke für den Tipp. Diese Vorgehensweise hätte aber zwei Probleme für mich. Ich überwache 20 Pins (2 IO16-Bricklets). Wenn ich für jeden Pin ein extra Shellbefehl aufrufen würde, hätte ich mehr als 7 Verbindungen, die LAN-Extension verträgt aber nur 7 Verbindungen. Wickle ich alle Pins über ein Befehl ab, müsste ich die Ausgabe erst anständig parsen. Deswegen werde ich lieber auf das offizielle Tinkerforge-Binding warten.
  17. Vielen Dank Theo, ich freue mich schon aufs Testen
  18. Vielen Dank Theo für dein Tinkerforge-Binding. Openhab ist damit richtig genial. Mein wichtigstes Bricklet ist das IO16-Bricklet. Ist es geplant dieses Bricklet auch in das Tinkerforge-Binding zu übernehmen? Es wäre cool, wenn man einzelne Pins von den 16 Pins des IO16 auf "input pull up" stellen könnte und mit dem Item 'Switch itemName "itemText" { tinkerforge="uid=uid" port='a', pin="1" }' würde dann auf jede Änderung des Zustandes des gewählten Pins reagiert werden. Die Outputfähigkeit, also einen Pin zu schalten, lässt sich jetzt schon sehr gut mit dem openhab exec-Binding und den Tinkerforge Shell Bindings realisieren: Switch pin1 {exec=">[ON:tinkerforge call io16-bricklet uid set-port-configuration a 1 out true]"}
  19. Das aktive Hub ist eine Conradeigenmarke und heißt "6 Port USB 2.0 Hub mit Ladekabel und starkem Netzteil". @photron Bitte, mich freut es, wenn die Dokumentation noch besser gemacht werden konnte.
  20. Ich fände einen Möglichkeit abzustimmen auch sehr cool. Ein Tinkerforge Infrarot Bricklet um Fernseher und sonstige Geräte zu steuern wäre super. Es sollte ein Infrarotempfänger (für das Einlernen) und ein Infrarotsender enthalten. Zusätzlich sollte er auch Codes aus dem Internet verstehen (wegen diskreten Funktionen - Funktionen, die nicht auf der Fernbedienung implementiert sind). Ich denke, hier ist das Pronto Hex Format führend. Im Moment habe ich ein USB-UIRT (usbuirt.com) aus den USA, der diese Funktionalität bietet. Eure Lösung hätte aber den Vorteil, dass man sie leicht in das Netzwerk einbinden könnte ohne zum Beispiel ein Raspberry Pi davorzuhängen und dass man sie nicht aus den USA bestellen müsste. Ich finde es würde auch super zum Hardware Hacking Set passen.
  21. Meine Verbindung ist jetzt sehr stabil. Vermutlich hat es wirklich an den USB-Kabeln gelegen. Im Moment sieht die funktionierende Konfiguration so aus: 1. MasterBrick: 5m aktive USB Verlängerung von Digitus -> 5m aktive USB Verlängerung von Digitus -> aktives Hub -> 5m aktive USB Verlängerung von Digitus -> 0.2m USB A auf USB mini Kabel von Lindy 2. MasterBrick: 0.5m USB A auf USB mini Kabel von Lindy eventlog.exe ist wirklich super. Bei der Dokumentation bei Brick Daemon (brickd) -> Logging könnte man es erwähnen oder was meint ihr?
  22. Auf Wikipedia http://de.wikipedia.org/wiki/Bewegungsmelder#Verwendung_als_Lichtschalter ist dies gut illustriert (Leuchte muss gegen ein Bricklet ersetzt werden, welches anzeigt, wenn Strom fließt, z.B. Industrial Digital In 4 Bricklet). Als Bewegungsmelder müsste jeder 24 Volt Bewegungsmelder funktionieren, den man einstellen kann, dass er auf Bewegung, unabhängig von der Helligkeit draußen, reagiert. Außerdem musst du noch sicherstellen, dass er mit Strom versorgt wird.
  23. Du musst EABI -> Sourcery CodeBenchlite 2013.05-23 -> IA32 GNU/Linux Installer auswählen. GCC ist hier integriert. "None" bedeutet nicht "keine", sondern etwas anderes. Dies könnte man vielleicht in der Dokumentation erwähnen, ich war am Anfang dadurch auch etwas verwirrt.
  24. Ich denke für die Firmwareentwicklung braucht man solide C-Kenntnisse. Ich finde, dass http://openbook.galileocomputing.de/c_von_a_bis_z/ und das Buch The C Programming Language von Brian W. Kernighan und Dennis M. Ritchie gute Möglichkeiten sind C zu lernen.
  25. Ich habe on: August 20, 2013, 11:27:19 geschrieben wie ich die Firmware kompiliert habe. Wenn du dich an die Tinkerforgeanleitung hälst, dürfte eigentlich nichts schief gehen oder an welchem Punkt hängt es bei dir die Firmware zu kompilieren?
×
×
  • Neu erstellen...