Jump to content

photron

Administrators
  • Gesamte Inhalte

    3.068
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    42

Alle erstellten Inhalte von photron

  1. Das "Problem" an PHP ist so ein bisschen, dass es eigentlich nicht als General Purpose Programmiersprache gedacht ist/war, sondern zur Programmierung von Webseiten gemacht ist. Wir empfehlen typischerweise Python als Sprache für Anfänger/Einsteiger.
  2. Zu python-serial: Das fehlte in der Anleitung für brickv auf Raspberry Pi installieren, ist jetzt korrigiert. Zu brickd: Wenn du den aus dem .deb installiert hast, wird der automatisch beim Hochfahren mitgestartet. Zum Wetterstations Democode: Auf der Seite ist im ersten Abschnitt die Anleitung zur Installation der benötigten Python Bindings verlinkt. In Kurz: Das Zip für Python von der Downloadseite herunterladen und das .egg darin mit easy_install installieren. wget http://download.tinkerforge.com/bindings/python/tinkerforge_python_bindings_latest.zip unzip tinkerforge_python_bindings_latest.zip -d tinkerforge_python_bindings sudo easy_install tinkerforge_python_bindings/tinkerforge.egg Danach kannst du dann den Democode der am Ende der Seite verlinkt ist herunterladen und ausführen: wget https://raw.github.com/Tinkerforge/weather-station/master/write_to_lcd/python/weather_station.py python weather_station.py
  3. Ah, ich hatte im Test-Compile-Script -O2 nicht an und dann gibt GCC diese Warning nicht aus. Ist jetzt im git korrigiert.
  4. Unsere Wetterstation hier in Labor an der Wand ist über eine WIFI Extension angebunden und die läuft seit 7 Wochen durch.
  5. Laut borg ist das normal. Die ResetException() ist das was als erstes ausgeführt wird. main() wird von ResetException() ausgerufen. Du musst dann einfach im Debugger auf Continue oder so klicken denke ich.
  6. Hm, gcc_struct kennt GCC nur für x86. Und ja, gcc_struct sollte auch im Header gesetzt werden, das ist aber nicht kritisch, da das Problem für das ich gcc_struct eingefügt hatte nur die .c Datei betrifft. Als kurzfristigen Workaround kannst du für nicht-Windows Systeme das gcc_struct einfach streichen. In der nächsten Bindingsversion ist dass dann behoben. Welche Warning macht denn die "length = ((PacketHeader *)pending_data)->length;" Zeile?
  7. Temperature und Barometer Bricklet verwenden I2C Sensoren und brauchen daher keinen externen A/D Wandler, sondern Anschluss an einen I2C Bus. Ambient Light und Humidity Bricklet verwenden Analog Sensoren und brauchen einen externen A/D Wandler. Wie das ganze anzuschließen und zu verwenden ist solltest du den Schaltplänen und dem Source Code entnehmen können. Ansonsten einfach fragen
  8. Das Breakout Bricklet ist eigentlich dazu gedacht an die Bricklet Pins eines Bricks zu kommen, es spricht aber nichts dagegen es an ein Bricklet anzuschließen um an dessen Pins zu kommen. Für Bricklets wie das Linear Poti oder das Ambient Light sitzt der A/D Wandler auf dem Brick, nicht auf dem Bricklet selbst. Wenn du diese per GPIO anschließen willst musst du dich schon an deren Pinbelegung halten, z.B. auch einen A/D Wandler bereitstellen. Um welches Bricklet geht es dir denn im speziellen?
  9. Die Leiterplatten und Bauteile liegen jetzt beim Bestücker, der sie in Kürze produzieren wird.
  10. Beide Schaltzustände aktive zu treiben ist ein guter Hinweis, Loetkolben. Alternativ kann statt einem IO-4 Bricklet auch ein Industrial Digital In 4 Bricklet verwenden. Durch die Optokopplung ist das stromgesteuert, was robuster gegen Störungen ist, als die Spannungssteuerung des IO-4 Bricklets.
  11. Plugins: IO-16 Bricklet 2.0.2 Apply debounce period on port b again Downloads: IO-16 Bricklet
  12. Plugins: IO-16 Bricklet 2.0.2 Entprellperiode wird wieder richtig für Port B angewendet Downloads: IO-16 Bricklet
  13. Der Port Extension Chip auf der IO-16 reagiert auf Interrupts und speichert sich diese. Das Bricklet fragt dann den Zustand des Interruptregisters des Port Extension Chip periodisch ab und sendet entsprechende Callbacks. Da sollte eigentlich kein Interrupt verloren gehen. Die Standard Debounce Period sind 100ms. Zwei Interrupts zwischen denen weniger als 100ms liegen werden als einer gewertet. Wenn du schnelle Interruptfolgen mit weniger als 100ms Zeit zwischen den Interrupts erkennen willst musst du die Debounce Period kleiner stellen.
  14. Callbacks werden von einem eigenen Thread abgearbeitet. Unter normalen Umständen sollten Callbacks ohne weitere Verzögerung abgearbeitet werden.
  15. Dass das bei dir so funktioniert liegt daran dass a) du da gerade einen Bug im Plugin des LCD 20x4 Bricklets gefunden hast. 8 als index ist eigentlich nicht zulässig, der Bug führt aber dazu dass das als 0 interpretiert wird und damit den ersten Custom Character wählt. b) in PHP "\10" als oktal interpretiert wird und damit das gleiche meint wie "\x08" nämlich ASCII Code 8. Auf diesem ASCII Code liegt der erste Custom Character. Wie borg schon sagt können wir den ASCII Code 0 nicht nehmen, da der String-Ende bedeutet. Deswegen das Offset von 8 zwischen dem setCustomCharacter index (0-7) und den ASCII Codes (8-15) für die Custom Characters. Du kannst also bei $lcd->writeLine(0, 0, "\10"); bleiben, solltest aber doch $lcd->setCustomCharacter(0,$CC); nehmen, damit dass mit der korrigierten Version des Plugins dann auch noch funktioniert.
  16. Wie sieht denn dein writeLine Aufruf aus? So schreibst du den Custom Character 0: $lcd->writeLine(0, 0, "\x08"); Wobei '\x08' nicht das gleich wie "\x08" ist, denn in '' interpretiert PHP das nicht wie gewünscht.
  17. Hast du den Brick Daemon normal installiert? Dann läuft er schon längst als Service im Hintergrund und du solltest den Brick Daemon gar nicht manuell aus dem Explorer heraus starten. Wenn du den manuell startest werden sich die beiden Instanzen in die Haare komme. Ich denke der "Could not open USB Device" kommt daher, dass der brickd Service diese Gerät schon geöffnet hat und dein manuell gestarteter dass dann nicht mehr darf. Zusammengefasst du musst und sollst im Normalfall den Brick Daemon nicht manuell starten. Der brickd Installer hat sich schon um alles gekümmert. Du musst nur in brickv auf connect klicken. Ich nehme das mal als Hinweis, das brickd meckern sollte wenn man versucht ihn zweimal zu starten
  18. Mechanisch ist das einfach ein 2x Umschalter. Das kann man leicht mit einem Dual Relay Bricklet nachbauen, da ist die Last/Audioseite elektrisch vollständig von der Schaltseite getrennt und man muss sich keine weiteren Sorgen machen. Problematischer wird es mit 2 Quellen auf 3 Zielen. Pluto, ich denke du solltest dir als erstes einmal Gedanken machen wie du eine Satz von Schaltern verbinden musst damit das richtig schaltbar ist, bevor du dir Gedanken über die elektrische Umsetzung machst.
  19. Nochmal zum Transistor: Ich denke mit einer einfachen Schaltung wirst du nicht weit kommen, da Audio eine Wechselspannungssignal (AC) ist und ein Transistor in den einfachen Beschaltungsarten mit Gleichspannung (DC) operiert. Auch ein der UDN 2987 A kann nur mit DC umgehen. Daher ist Loetkolbens Vorschlag einen speziellen Audio-Schalt-IC zu nehmen oder Relais wohl die richtige Idee. Vielmehr kann ich dir da denke ich nicht helfen, dafür habe ich speziell von Audio zu wenig Ahnung.
  20. Okay. Im Datenblatt ist z.B. eine Anwendung den SSM2404P als Umschalter zwischen 2 Quellen für 1 Ziel zu verwenden. Wie man damit jetzt auf einen 2-auf-3 Muxer kommt ist mir spontan nicht klar,
  21. Der SSM2404P ist ein Quad Audio Switch, das der 20 Pins hat hat erstmal nichts zu sagen. Der hat intern 4 Ein/Aus Schalter und ist für Audio gedacht, siehe Datenblatt: http://www.sun-pec.com/Pics/VM/SSM2404P.pdf Problem mit dem IC ist dass der mit +11V bis +24V oder +-5.5V bis +-12V versorgt werden muss. Denn kannst du nciht direkt an eine IO-4 oder IO-16 anklemmen. Prinzipiell ist so ein IC aber nicht so einfach für deinen Fall verwendbar, da er als Ein/Aus Schalter und nicht als Umschalter zwischen Quelle gedacht ist.
  22. First of all, you'll need a Brick to make that setup work, because Bricklets on their own are basically just sensors or actors. The need to be connected to a Brick (that's where the logic is) to get a working system. But then it basically works as you describe it. Let me give you some details: There are different approaches to detect a door opening/closing. a) You could use a Master Brick with an IO-4 Bricklet and a microswitch (or any other kind of push button). The microswitch gets connected to the IO-4 Bricklet. This allows the Master Brick to readout the microswitch status: open or closed. To detect the door status the microswitch is mounted to the door frame in a way that the closed door closes the switch and opening the door also opens it. Now your website can periodically query the status of the microswitch to get the door status. You can also configure the IO-4 Bricklet to send you a callback if the status of the microswitch changes and the you can react on this event. The problem with this is that it requires a continuously running program, but a website doesn't meet this criteria. b) Another approach would be to use a Master Brick with a Distance IR Bricklet and mount the Bricklet to the door frame in a way that it measures different distances depending on the door being opened or closed. Again your website could query for the distance or you could configure a callback for a continuously running program to be informed about changes in the distance. c) There are probably some more ways to do this than just the two There are also different approaches for connection the Master Brick to your PC hosting your website. a) The simplest way is to connect it directly via USB, then the Master Brick and the connected Bricklet is also powered via USB. b) You could also connect a WIFI Extension (that is already available) to the Master Brick. Then your PC can connect to the stack directly via WIFI. Now you need to power the stack. This can be done via an USB power supply connected to the USB port of the Master Brick. Another option is a Step-Down Power Supply that is connected to the bottom of the stack and can handle DC input voltage of 6-27V. You can also supply the power from a battery to USB (5V) or the Step-Down Power Supply (6-27V). How long the battery will last depends on your particular battery, the actual Bricklet used to detect the door status and your WIFI configuration. The power consumption of the different devices can be found in the documentation. A rough guess for the power consumption of this setup is probably about 100-250mA I think, but don't quote me on that c) You could also connect an Ethernet Extension (this one is coming soon) to the Master Brick. Then your PC can connect to the stack directly via Ethernet. The power supply options are the same as with WIFI, but in addition the Ethernet Extension supports Power-over-Ethernet. This allows the stack to be powered directly via the Ethernet cable if you have a PoE injector at hand. Phew, quite long explanation. I hope I didn't overwhelm you with this
  23. Ja. Darum wollte ich Transistoren verwenden oder was vergleichbares. Mit dem IO16 Kann ich ja "nur" schalten oder Messern, aber nicht Durchleiten. Ich könnte mir auch das DualRealy kaufen. Aber davon bräuchte ich dann fünft bis Zehn Stück(nehme ich an) und das wird dann zu Teuer. Einen Transistor kannst du wie einen Schalter benutzen. Das ist eine seiner Funktionen. Wie gut du damit mit einer einfachen Schaltung ein Audiosignal schalten kannst bin ich mir gerade nicht sicher. Mir ist noch nicht ganz klar wie du deine 3 Quellen und 2 Ziele so verbinden können möchtest. Willst du jeweils eine der 3 Quellen an eins der Ziele verbinden, eine andere der 3 Quellen an das andere Ziel und die dritte Quelle hat dann kein Ziel? Q1 -> Z1 Q2 -> Z2 Q3 Q1 -> Z2 Q2 -> Z1 Q3 Q1 Q2 -> Z1 Q3 -> Z2 Q1 Q2 -> Z2 Q3 -> Z1 usw.
×
×
  • Neu erstellen...