Jump to content

BOBmoraine

Members
  • Gesamte Inhalte

    42
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von BOBmoraine

  1. Moin, also wenn ich den RED im Stack habe (unten) und dann per BrickV über localhost (USB-Kabel steckt am RED) dann sehe ich in BrickV nur den RED-Brick, nicht die angeschlossenen Master/Bricklets. Wenn ich den RED entferne und das USB-Kabel dann an den untersten Master anschliesse, dann sehe ich das wieder ganz normal wie früher. Das selbe mit der Verbindung über IP-Adresse, da sehe ich in BrickV auch nur den RED. Mein Aufbau (von unten nach oben): -Step-Down -RED (fast-Image) -Master (A bis C belegt) -Master (A bis D belegt) -RS485 Extension -Ethernet Extension
  2. Moin, wenn ich beim tf0 Interface eine statische Adresse einstelle, stelle ich dann die selbe Adresse bei Settings -> Brick Deamon ein? http://www.tinkerforge.com/de/doc/Hardware/Bricks/RED_Brick.html#brick-daemon Oder was genau stellt man in dem Punkt ein? Ganz schlau werde ich daraus leider nicht. Und kann es sein das der RED nur funktioniert mit den Extensions wenn der RED ganz unten, dann der/die Master und dann erst die Extensions kommen? Und wie stell ich den RED ein mit der Ethernet Extension, das wenn man sich mit BrickV mit dem RED verbindet (über Ethernet) das man dann die Master inkl. Bricklets sieht?
  3. Moin, die Genauigkeit ist halbwegs egal. Ich hätt vielleicht dazu schreiben sollen was mein Ziel ist... Ich möchte ne kleine Hausautomation bauen. Wie viele ist meine Frau auch Fan von Ikea. Dementsprechend viele Leuchten haben wir z.B. im Wohnzimmer. Nun ist es halt doof jedes mal vorm "Chillen" einmal durch den Raum zu gehen und die Leuchten alle an zu machen. (Und mit Funksteckdosen haben wir eher schlechte Erfahrungen) Ich hab mir nun ne "Schaltkiste" gebaut wo ich z.B. die Leuchten und den Zimmerbrunnen schon dran hängen habe. Aber wie nun ein-/ausschalten? Zeit? Unpraktisch. Bewegungsmelder? Beim extrem-Chillen bewegt man sich ja nicht Nun war meine Idee ne Combo aus Bewegungsmelder und Strommessung. Wenn TV oder Rechner an sind, dann kann auch das Licht an bleiben. Soviel dazu. Ich habe es vorhin mal getestet, und man erkennt definitiv den Unterschied zwischen TV an/aus. Nun kann ich also guten Gewissens den nächsten Master zur Erweiterung bestellen
  4. Guten Morgen, kann ich deinem Text entnehmen das du ein "Voltage/Current Bricklet" zum Auswerten benutzt? Oder hast du das mit beiden getestet?
  5. Moin, ich hab ne Frage bezüglich "Analog In Bricklet" bzw. "Voltage/Current Bricklet" und CT-Sensoren (http://www.exp-tech.de/Sensoren/Beruehrungsloser-Wechselstrom-Messwandler---30A.html): Hat jemand Erfahrung damit? Kann ich diesen Sensor an beiden Briklets betreiben? Oder muss am V/C Briklet zwingend nen Verbraucher nachgeschaltet werden? (Da ich bei beiden Briklets nichts dementsprechendes anderes gefunden habe, gehe ich davon aus, das sie auch Wechselstrom messen können) Hat vielleicht jemand Erfahrung mit sonem Sensor und TF? Ist der so benutzbar oder doch lieber einen Widerstand und evtl. Glättung/Gleichrichtung dazwischen basteln? Danke schonmal für die Antworten
  6. Moin, hat jemand Erfahrung mit Arduino und TF? Kann ich die Digitalen Pins des Arduino mit dem IO16 Bricklet von TF verbinden um Steuersignale auszutauschen? Ich hab irgendwo gelesen das das IO4 nicht geht weil das nur auf 3,3V läuft, aber wie siehts mit dem IO16 aus? Hat das schonmal wer versucht oder hat es im Einsatz und mag seine Erfahrung mit mir teilen?
  7. Ist das in der aktuellen FW2.0.5 noch drin? Bei mir funktioniert das irgendwie nicht... Wenn ich den Stack mit dem PC verbinde und dann auf den Master Brick gehe, sehe ich immer die RS485 zur konfiguration. Die (RS485) scheint immer als Extension 0 konfiguriert sein, aber wenn ich auf Extension 1 WiFi konfigurieren möchte, kommt beim speichern immer die Fehlermeldung: "Could not save extension type". Was mach ich denn falsch? Und was bedeutet "oben/unten" in der Veröffentlichung? Ich habs mal so gedeutet das das über und unter dem Master bedeutet. Richtig?
  8. Nun muss ich mich hier neugierigerweise auch mal einklinken; Hab bisher immer nur mitgelesen und möchte mich erstmal für die vielen Interessanten Vorschläge und Lösungen bedanken. Eine Frage die mich aber brennend interessiert: Wie habt ihr die Temperatur- und Barometer-Bricklets angebracht das sie vernünftig messen, aber zugleich vor Feuchtigkeit geschützt sind?
  9. BOBmoraine

    WLAN-Extension

    Hoffe die beiden Vorposter nehmen mir es nicht übel wenn ich noch eine Frage hinzufüge, habe leider nirgends Antworten gefunden. Die Basisfrage ist: Lassen sich Stacks mit WiFi UND Chibi/RS bauen? Also kann ich einen Raum mit WiFi übebrücken aber dann am anderen Ende des WiFi's den Stack mit Chibi oder RS485 erweitern?
  10. Was sagt denn die ID 0 oder 1 aus bei "Configure Extension Type"? Werde morgen mal Einsteins Vorschlag umsetzen beides erst zu konfigurieren und dann zusammenbauen. Ist es denn geplant WiFi, Chibi und RS485 miteinander kommunizieren zu lassen? Oder ist Chibi definitiv weg vom Fenster? (Gibts ne Rabatt-Aktion? Schicke ein Chibi ein und bekomme dafür nen WiFi günstiger )
  11. BOBmoraine

    Master + Chibi + RS485

    Moin, ich habe mehrere im Haus verteilte Master+Chibi Stacks und wollte die gerne erweitern. Da es das Chibi nicht mehr gibt hatte ich mir erstmal zwei RS485 Extensions bestellt und einen der vorhandenen Master+Chibi Stacks mit einem RS485 erweitert. Habe mir gerade dann die aktuellen Brickd und Brickv Versionen installiert sowie alle Master-Bricks mit aktueller Firmware geflasht. Das Problem welches ich nun habe: wenn ich per Brickview auf den Master+Chibi+RS485 Stack zugreife kann ich nicht mehr die Adresse des Chibi-Bausteins einstellen. (Oder des RS485's, je nachdem welchem von beiden ich die ID 0 mit "Configure Extension Type" gebe) Kann ich nur eine Extension betreiben?
  12. Moin, ne, keine Fehlermeldung oder so. Wurde halt einfach nicht gestartet mein "Konstruktor"
  13. Moin, danke für deinen Vorschlag. Ich hab die do-while Schleife inzwischen dahingehend verändert das sie eine bestimmte Zeit wiederholt wird. Doch auch jetzt noch ändert sich die Temperatur nicht. Um ganz sicher zu sein hab ich dem Listener noch folgenden Befehl hinzugefügt: System.out.println(temperature/100.0); Aber der Listener wird anscheinend kein einziges mal aktiv. Hab ich ihn falsch aufgerufen? Hab ich was übersehen? Ich hoffe mir kann da jemand helfen. Hier nochmal mein kompletter Code: package java_lernen; /** * @(#)ShutdownHook.java * * Spielereien mit Bricks und Schliessen der Verbindung am Programmende * * @author CHaller * @version 1.00 21/04/2012 */ import com.tinkerforge.IPConnection; import com.tinkerforge.BrickletAmbientLight; import com.tinkerforge.BrickletIO4; import com.tinkerforge.BrickletTemperature; import Prog1Tools.IOTools.*; import java.lang.Math.*; import java.util.*; import java.text.*; public class Bricks01 { private static final String host = "localhost"; private static final int port = 4223; private static long Licht = 0; private static long Temperatur = 0; private static long LichtZwischen = 0; private static long TemperaturZwischen = 0; private IPConnection ipcon; private BrickletAmbientLight al; private BrickletIO4 io4; private BrickletTemperature temp; /* Methoden */ private void Bricks01 (){ try { bricksStart(); bricksGrundstellung(); } catch (Exception e) { System.out.println(e.getMessage()); } } private boolean bricksStart() throws Exception { //verbindung aufbauen ipcon = new IPConnection(host, port); // Can throw IOException al = new BrickletAmbientLight("7e7"); // Create device object ipcon.addDevice(al); // Can throw IPConnection.TimeoutException io4 = new BrickletIO4("7aC"); // Create device object ipcon.addDevice(io4); // Can throw IPConnection.TimeoutException temp = new BrickletTemperature("6EN"); // Create device object ipcon.addDevice(temp); // Can throw IPConnection.TimeoutException return true; } //verbindung beenden private void bricksStop() throws Exception { ipcon.destroy(); } //bricks "parametrieren" private void bricksGrundstellung() throws Exception { temp.setTemperatureCallbackPeriod(1000); // Note: The temperature callback is only called every second if the temperature has changed since the last call! temp.addListener(new BrickletTemperature.TemperatureListener() { public void temperature(short temperature) { Temperatur = (long)( temperature/100.0); System.out.println(temperature/100.0); } }); } //Bildschirmausgabe private void Ausgabe() { long date_zwischenzeit; Date date_zwischen = new Date(); date_zwischenzeit = date_zwischen.getTime(); SimpleDateFormat Uhrzeit = new SimpleDateFormat("HH:mm:ss"); System.out.print("Zeit: " + Uhrzeit.format(date_zwischen)); System.out.print(" Temperatur: " + Temperatur + " Grad"); System.out.print(" Helligkeit: " + Licht + " Lux"); System.out.print("\n"); } /* start_methode */ public static void main(String[] args) { Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() { @Override public void run() { System.out.println("Ende"); }})); try { Bricks01 brickTest = new Bricks01(); long date_zwischenzeit; Date date_start = new Date(); long dateStartMilisekunden = date_start.getTime(); long dateEndMilisekunden = dateStartMilisekunden + (20 * 60 * 1000); do { brickTest.Ausgabe(); Date date_zwischen = new Date(); date_zwischenzeit = date_zwischen.getTime(); } while (date_zwischenzeit <= dateEndMilisekunden); System.exit(0); } catch (Exception e) { System.out.println(e.getMessage()); } } } EDIT: OK, mein Fehler, Konstruktoren sind keine Methoden Wenige Zeichen machen doch einen großen Unterschied. Hier der Code mit dem Richtig angewendeten Konstruktor: package java_lernen; /** * @(#)ShutdownHook.java * * Spielereien mit Bricks und Schliessen der Verbindung am Programmende * * @author CHaller * @version 1.00 21/04/2012 */ import com.tinkerforge.IPConnection; import com.tinkerforge.BrickletAmbientLight; import com.tinkerforge.BrickletIO4; import com.tinkerforge.BrickletTemperature; import Prog1Tools.IOTools.*; import java.lang.Math.*; import java.util.*; import java.text.*; public class Bricks01 { private static final String host = "localhost"; private static final int port = 4223; private static long Licht = 0; private static long Temperatur = 0; private static long LichtZwischen = 0; private static long TemperaturZwischen = 0; private IPConnection ipcon; private BrickletAmbientLight al; private BrickletIO4 io4; private BrickletTemperature temp; /* Methoden */ Bricks01(){ try { bricksStart(); bricksGrundstellung(); } catch (Exception e) { System.out.println(e.getMessage()); } } private boolean bricksStart() throws Exception { //verbindung aufbauen ipcon = new IPConnection(host, port); // Can throw IOException al = new BrickletAmbientLight("7e7"); // Create device object ipcon.addDevice(al); // Can throw IPConnection.TimeoutException io4 = new BrickletIO4("7aC"); // Create device object ipcon.addDevice(io4); // Can throw IPConnection.TimeoutException temp = new BrickletTemperature("6EN"); // Create device object ipcon.addDevice(temp); // Can throw IPConnection.TimeoutException return true; } //verbindung beenden private void bricksStop() throws Exception { ipcon.destroy(); } //bricks "parametrieren" private void bricksGrundstellung() throws Exception { System.out.println("Grundstellung"); temp.setTemperatureCallbackPeriod(1000); // Note: The temperature callback is only called every second if the temperature has changed since the last call! temp.addListener(new BrickletTemperature.TemperatureListener() { public void temperature(short temperature) { Temperatur = (long)( temperature/100.0); System.out.println(temperature/100.0); } }); al.setIlluminanceCallbackPeriod(1000); al.addListener(new BrickletAmbientLight.IlluminanceListener() { public void illuminance(int illuminance) { Licht = (long)(illuminance/10.0); System.out.println(illuminance/10.0); } }); } //Bildschirmausgabe private void Ausgabe() { long date_zwischenzeit; Date date_zwischen = new Date(); date_zwischenzeit = date_zwischen.getTime(); SimpleDateFormat Uhrzeit = new SimpleDateFormat("HH:mm:ss"); System.out.print("Zeit: " + Uhrzeit.format(date_zwischen)); System.out.print(" Temperatur: " + Temperatur + " Grad"); System.out.print(" Helligkeit: " + Licht + " Lux"); System.out.print("\n"); } /* start_methode */ public static void main(String[] args) { Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() { @Override public void run() { System.out.println("Ende"); }})); try { Bricks01 brickTest = new Bricks01(); long date_zwischenzeit; Date date_start = new Date(); long dateStartMilisekunden = date_start.getTime(); long dateEndMilisekunden = dateStartMilisekunden + (60 * 1000); do { brickTest.Ausgabe(); Date date_zwischen = new Date(); date_zwischenzeit = date_zwischen.getTime(); } while (date_zwischenzeit <= dateEndMilisekunden); System.exit(0); } catch (Exception e) { System.out.println(e.getMessage()); } } }
  14. Wer weiss Aber zumindest einen Ostfriesen gibts
  15. Moin, ich hab mir die Bricks bestellt und wollte mit denen Java lernen. Ich bekomm es nur nicht hin den Listener einzubauen in meine Klasse, hat da vielleicht jemand Ahnung von? Ich habe folgenden Code: package java_lernen; /** * @(#)ShutdownHook.java * * Spielereien mit Bricks und Schliessen der Verbindung am Programmende * * @author CHaller * @version 1.00 21/04/2012 */ import com.tinkerforge.IPConnection; import com.tinkerforge.BrickletAmbientLight; import com.tinkerforge.BrickletIO4; import com.tinkerforge.BrickletTemperature; import Prog1Tools.IOTools.*; import java.lang.Math.*; import java.util.*; import java.text.*; public class Bricks01 { private static final String host = "localhost"; private static final int port = 4223; private static long Licht = 0; private static long Temperatur = 0; private static long LichtZwischen = 0; private static long TemperaturZwischen = 0; private IPConnection ipcon; private BrickletAmbientLight al; private BrickletIO4 io4; private BrickletTemperature temp; /* Methoden */ private void Bricks01 (){ try { bricksStart(); bricksGrundstellung(); } catch (Exception e) { System.out.println(e.getMessage()); } } private boolean bricksStart() throws Exception { //verbindung aufbauen ipcon = new IPConnection(host, port); // Can throw IOException al = new BrickletAmbientLight("7e7"); // Create device object ipcon.addDevice(al); // Can throw IPConnection.TimeoutException io4 = new BrickletIO4("7aC"); // Create device object ipcon.addDevice(io4); // Can throw IPConnection.TimeoutException temp = new BrickletTemperature("6EN"); // Create device object ipcon.addDevice(temp); // Can throw IPConnection.TimeoutException return true; } //verbindung beenden private void bricksStop() throws Exception { ipcon.destroy(); } //bricks "parametrieren" private void bricksGrundstellung() throws Exception { temp.setTemperatureCallbackPeriod(1000); // Note: The temperature callback is only called every second if the temperature has changed since the last call! temp.addListener(new BrickletTemperature.TemperatureListener() { public void temperature(short temperature) { Temperatur = (long) temperature/100.0; } }); } //Bildschirmausgabe private void Ausgabe() { long date_zwischenzeit; Date date_zwischen = new Date(); date_zwischenzeit = date_zwischen.getTime(); SimpleDateFormat Uhrzeit = new SimpleDateFormat("HH:mm:ss"); System.out.print("Zeit: " + Uhrzeit.format(date_zwischen)); System.out.print(" Temperatur: " + Temperatur + " Grad"); System.out.print(" Helligkeit: " + Licht + " Lux"); System.out.print("\n"); } /* start_methode */ public static void main(String[] args) { Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() { @Override public void run() { System.out.println("Ende"); }})); try { Bricks01 brickTest = new Bricks01(); int i = 0; do { brickTest.Ausgabe(); i++; } while (i<=1000); System.exit(0); } catch (Exception e) { System.out.println(e.getMessage()); } } } Ich hatte mir nun vorgestellt das der listener im Hintergrund der Klasse den Wert von Licht & Temperatur aktualisiert, und ich mit Ausgabe() diesen abfragen kann. Doch irgendwie klappt das nicht. Kann mir da jemand helfen das zum laufen zu bekommen?
  16. Sehr cooles Projekt! Danke für den Hinweis auf den Unterbau, ich hatte schon überlegt nen RC-Panzer zu zerlegen Sehe ich das auf den Bildern richtig das du nur einen Distanz-Sensor hast den du mit Servos rundum drehst? Geht das schnell genug?
×
×
  • Neu erstellen...