Jump to content

treaki

Members
  • Gesamte Inhalte

    25
  • Benutzer seit

  • Letzter Besuch

Posts erstellt von treaki

  1. Hi,

     

    ich plane für einen weit von der Zivilisation entfernes system eine Step down Powersupply an eine autobatterie zu schließen und darüber eine Raspery Pi, einige USB-Geräte (nicht mehr als 1A) und einen kleinen TF-Stack zu betreiben. Die Frage ist ob das so klappt und auch sicher ohne Selbstentzündung (etc..) zuverlässig läuft. meine bedenken:

     

     

    - hält der DC/DC Wandler der Step-Down-Powersupply die starke Spannung/Stromstärke einer 12 V Autobatterie aus???

    - Liefert die Step-Down-Powersupply geglätteten schönen gleichstrom so das die dahinter liegenden Geräte nicht durch schmoren (etc..)

    - Ist es so ohne weiteres möglich den MicroUsb-Stecker für die Raspery-Pi an den grünenen 5V out port der Step-Down-Powersupply zu löten

    - Transportiert die RsPi die Leistung so gut zu den USB Geräten das diese so 1A abnehmen können (meine Theorie: Step-Down-PSU liefert 3A, Pi nimmt sich 700 mA bis 1A weg, es bleiben 2A für die USB-Geräte an der Pi) oder muss ich noch einen USB-Hub mit aktiver Stromversorgung hinter die Pi hängen und diese zusätzlich an die Step-Down-PSU klemmen??

    - Ist es möglich mit der Step-Down-PSU die Spannung der Autobatterie zu messen und zu errechnen wie lange diese noch hält

    - Wie genau leuft das mit Autobatterie minnimalladung übertreten, geht sie kaputt wie ich mal gehört habe??

    - Wie lange würde so etwas überhaupt lauffähig sein bevor die Autobatterie gegen eine volle ausgetauscht werden muss?

     

    ich hoffe ihr könnt mir hier weiterhelfen

     

    gruß treaki

     

  2. hi,

     

    ich wollte eigentlich in den ferinen mir eine wetterstation die weit entfernt von meinen comupter über solar versorgt arbeitet mit der tinkerforge cibi extansion bauen. nun stelle ich fest das aus den meiner ansicht nichtigen grund dass es vereinzelnt zu frequenzstörungen kommt weil andere geräte die frequenzen tot funken die chibi extansion vom markt genommen wurde.

     

    ich selbst wohne ab vom schuss in einem dorf wo man noch nicht mal ordentlichen handyempfang bekommt rechne also nicht mit problemen. daher meine frage: gibt es die möglichkeit diese noch zu bekommen?? habt ihr noch welche auf lager die ihr verkaufen würdet, hätte jemand interesse mir 2 chibi bricks zu verakaufen.

     

    gruß

  3. hi,

     

    bitte fügt doch zu jeder Firmware auf

    http://download.tinkerforge.com/firmwares/

    eine kleine Textdatei namens changelog hinzu in der ihr aufschreibt was in den Versionen geändert wurde!!

    es muss nicht ausführlich sein nur in Stichpunkten. z.B.

     

    distance_ir changelog
    
    version 1.0.0:
    relese date: 08-Dec-2011 10:18
    * first version
    
    version 1.1.0
    relesed: 24-Feb-2012 11:08
    * improved ***
    
    version: 1.1.1
    * improvement of the sampling rate.
    

     

    außerdem wäre es schön wenn die *_latest.bin Dateien nicht einen direkten download sondern eine http 302 Weiterleitung auf die aktuelle Version verwendet wird was den Vorteil hätte das die Datei nach download nicht die Endung *_latest.bin hätte sondern die Versionsnummer.

     

    gruß

  4. hi,

     

    ich bin gerade dabei ein project zu entwickeln welches mit infrarot Entfehrnungssensoren arbeitet. leider sind die geräte von sharp nicht Störungfrei. besonders bei neonröhren und energiespaarlapenlicht sind sie nicht verwendbar. ich hab mal ein bisschin gesucht und konnte außer den sharpsensoren nur diese hier:

     

    http://www.conrad.de/ce/de/product/156449/DISTANZSENSOR-VDM28-8-L-IO73C110122/0231511&ref=list

     

    finden. die sind zwar viel präziser und mit sichtbaren laserlicht auch vorteilhafter allerdings nicht in der Preisklasse für das Projekt. daher meine frage:

    kennt jemand noch andere entfernungssensoren als die von sharp die unentfindlicher aber auch nicht teure als 50-80 euro sind??

     

    danke und

    gruß

  5. hi,

     

    ich bin noch relativ neu in java und versuche ein grafisches (swing) tinkerforge programm zu schreiben. oben im fenster befinden sich 2 Felder für host und port und ein button der je nach status connect oder disconnect anzeigt. mein problem ist allerdings dass ich es nicht hinkriege eine globale ipconnection aufzubauen die in der ganzen klasse läuft. kann mir da jemand helfen??

     

    codschnipsel:

     

    	final JButton btnConnect = new JButton("connect");
    	btnConnect.addActionListener(new ActionListener() {
    		public void actionPerformed(ActionEvent e) {
    			System.out.println("connect/disconnect button pressed");
    			System.out.println("connection="+connection);
    	        IPConnection ipcon = null;
    			if(connection==false){
    
    			System.out.println("start connecting");
    
    			btnConnect.setText("connecting...");
    	        host=txthostename.getText();
    	        port=Integer.parseInt( txtport.getText());
    				// Note: To make the example code cleaner we do not handle exceptions. Exceptions you
    		    //       might normally want to catch are described in the comments below
    		        // Create connection to brickd
    
    	        
    		        try{
    		        	ipcon = new IPConnection(host, port); // Can throw IOException
    		        	
    			        
    			        //System.out.println("Press ctrl+c to exit");
    			        lblDisconnected.setText("Connected");
    			        btnConnect.setText("disconnect");
    			        connection=true;
    			        
    		        	
    		        }catch (IOException e1){
    		        	lblDisconnected.setText("connection failed, Disconnected");
    		        	btnConnect.setText("connect");
    		        	connection=false;
    		        }
    		        
    		        // Register enumerate listener and print incoming information
    		        
    		        ipcon.enumerate(new IPConnection.EnumerateListener() {
    		            public void enumerate(String uid, String name, short stackID, boolean isNew) {
    		                if(isNew) {
    		                    System.out.println("New device:");
    		                    if(name.startsWith("Distance IR Bricklet")){
    		                    	
    		                    }
    		                } else {
    		                    System.out.println("Removed device:");
    		                }
    		                
    		                System.out.println(" Name:     " + name);
    		                System.out.println(" UID:      " + uid);
    		                System.out.println(" Stack ID: " + stackID);
    		            }
    		        });
    		        //ipcon.joinThread();
    		        System.out.println("ending connecting");
    		        
    			}
    		        else{
    		        	System.out.println("starting disconnecting");
    		        	ipcon.destroy();
    		        	lblDisconnected.setText("Disconnected");
    		        	btnConnect.setText("connect");
    		        	connection=false;
    		        	System.out.println("ending disconnecting");
    		        }
    			System.out.println("connection="+connection);
    			System.out.println("end of connect/disconnect button handler");
    		}
    	});
    

     

    ausgabe dess programms:

     

    
    connect/disconnect button pressed
    connection=false
    start connecting
    ending connecting
    connection=true
    end of connect/disconnect button handler
    New device:
    Name:     Master Brick 1.0
    UID:      xxx
    Stack ID: 1
    New device:
    Name:     Distance IR Bricklet 1.0
    UID:      xxx
    Stack ID: 2
    connect/disconnect button pressed
    connection=true
    starting disconnecting
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at main.Main$2.actionPerformed(Main.java:178)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:253)
    at java.awt.Component.processMouseEvent(Component.java:6136)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
    at java.awt.Component.processEvent(Component.java:5901)
    at java.awt.Container.processEvent(Container.java:2105)
    at java.awt.Component.dispatchEventImpl(Component.java:4497)
    at java.awt.Container.dispatchEventImpl(Container.java:2163)
    at java.awt.Component.dispatchEvent(Component.java:4323)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4461)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4125)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4055)
    at java.awt.Container.dispatchEventImpl(Container.java:2149)
    at java.awt.Window.dispatchEventImpl(Window.java:2478)
    at java.awt.Component.dispatchEvent(Component.java:4323)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:649)
    at java.awt.EventQueue.access$000(EventQueue.java:96)
    at java.awt.EventQueue$1.run(EventQueue.java:608)
    at java.awt.EventQueue$1.run(EventQueue.java:606)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:116)
    at java.awt.EventQueue$2.run(EventQueue.java:622)
    at java.awt.EventQueue$2.run(EventQueue.java:620)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:619)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
    
    
    

  6. Hi,

     

    gibt es irgendwo die quelltexte von dem was im Introducing video gezeigt wurde?? Ich habe mir jetzt den Lautstärkeregla mit dem Linear Poti schon nachprogrammiert währe allerdings sehr an dem code des "Art" Projektes mit dem DistanceIR interessiert.

     

    Gruß

     

    import com.tinkerforge.BrickletLinearPoti;
    import com.tinkerforge.IPConnection;
    
    public class ExampleCallbackalsamixer {
    private static final String host = new String("localhost");
    private static final int port = 4223;
    private static final String UID = new String("739"); // Change to your UID
    
    // Note: To make the example code cleaner we do not handle exceptions. Exceptions you
    //       might normally want to catch are described in the commnents below
    public static void main(String args[]) throws Exception {
    	// Create connection to brickd
    	IPConnection ipcon = new IPConnection(host, port); // Can throw IOException
    
    	BrickletLinearPoti poti = new BrickletLinearPoti(UID); // Create device object
    
    	// Add device to ip connection
    	ipcon.addDevice(poti); // Can throw IPConnection.TimeoutException
    	// Don't use device before it is added to a connection
    
    
    	// Set Period for position callback to 0.05s (50ms)
    	// Note: The position callback is only called every second if the 
    	//       position has changed since the last call!
    	poti.setPositionCallbackPeriod(10);
    
    	// Add and implement position listener (called if position changes)
    	poti.addListener(new BrickletLinearPoti.PositionListener() {
    		public void position(int position) {
    			System.out.println("Position: " + position);
    			//Runtime rt = Runtime.getRuntime();
    			//rt.exec("amixer sset Master " + position + "%");
    			//rt.exec("mkdir Test");
    
    {
      try
      {
       Runtime rt = Runtime.getRuntime();
    rt.exec("amixer sset Master " + position + "%");
    
      }
      catch(Exception e)
      {
       System.out.println("Exception fehler beim setzen der lautstärke mit alsa");
      }
    }
    
    
    
    
    		}
    	});
    
    	System.out.println("Press ctrl+c to exit");
    	ipcon.joinThread();
    }
    }
    
    

  7. hi,

     

    alles klar, da hab ich wohl etwas bei der umrechnung falsch gemacht... nach eurer auffassung würde ich dann also 500 abfragen pro sekunde hinbekommen was ich allerdings auch mache (habs auch per callback versucht) bekomme ich trotstem nur maximal 20 werte pro Sekunde also, danke holy, 50 Hz. ich würde allerdings gerne alle 5 ms einen wert kriegen. das mag mit den IO4 bricklet möglich sein aber mit dem distanceIR bekomme ich es nicht hin.

     

    wie hoch ist die maximale abtastfrequenz vom DistanceIR und wenn sie kleiner als 50Hz ist wie kann ich sie nutzen. wenn sie tatsächlich bei 20 abfragen pro sekunde/alle 20 ms liegt. (wie ich hier erreiche) zurück zu meiner ursprünglichen frage: lässt sich da firmware/software noch was machen??

     

    gruß

  8. wider was dazu gelernt ich dachte die infos kämen vom gerät...

     

    ist euer USB Controler denn von GrauTec oder eine Eigenentwicklung. und wurde die USB ID 16d0 von euch "gekauft" so wie Hersteller die ersten 3 bytes einer Ethernet MAC-Adresse kaufen müssen. oder von GrauTec gemietet. oder einfach so verwendet?? oder irre ich mich komplett und das leuft mit den USB vendor IDs komplett anders...

    gruß

  9. wenn hier USB der größte Flaschenhalz ist währe es gut die MasterBrick firmware um die fähigkeit zu erweitern die IOBricklets automatisch mit einer forgegebenen Frequenz anzusteuern. z.B. sage ich meinen MasterBrick

     

    IO4 Port 0 output high;
    wait 1ms;
    IO4 Port 0 output low;
    wait 1ms;
    repeat -1; # immer weiter dammmit bis ich anweisungsausführung stopp sage...

     

    und der macht das dann fröhlich ohne das noch daten über den USB-Bus fließen müssen bis ich stopp sage.

     

    andersherum wäre es klasse wenn man automatisch vorgegebene Schemen erkennen und melden lassen könnte für die die pooling abfrage (von usb nicht von der high level api(usb unterstützt nur pooling wenn ich mich nicht irre))

     

    define signal(01, 1000, array(1,0,0,0,1,1,0); #signalidetifikationsnummer (int), grundtackt mHz (int) (hier 1kHz), Array der Abfolge (bolean)
    listen signals IO4 Port 0;
    

    und er mir dann über USB nur zurück geben würde "Signal 01 beginnt" und "Signal 01 endet" oder so ähnlich...

     

    eine andere Möglichkeit wäre auch die Signale zu cachen und dann wenn der usb bus frei ist zu übertragen.

     

    würde die USB Schnittstelle um einiges entlasten.

     

    nur ein paar Vorschläge für in weiter ferne liegende Erweiterungen der Brickfirmware und der API die einige Projekte dadurch realisierbar machbar werden ließen die jetzt wegen der geringen Abtastrate noch nicht möglich sind..

     

    gruß

     

     

     

  10. hi,

     

    ich hab heute mal mit lsusb angeschaut wie mein MasterBrick angezeigt wird:

     

    treaki@treakis-rechner-debian:~$ lsusb -d 16d0: -v 
    
    Bus 002 Device 021: ID 16d0:063d GrauTec 
    Device Descriptor:
      bLength                18
      bDescriptorType         1
      bcdUSB               2.00
      bDeviceClass          255 Vendor Specific Class
      bDeviceSubClass         0 
      bDeviceProtocol         0 
      bMaxPacketSize0        64
      idVendor           0x16d0 GrauTec
      idProduct          0x063d 
      bcdDevice            1.00
      iManufacturer           1 
      iProduct                2 
      iSerial                 3 
      bNumConfigurations      1
      Configuration Descriptor:
        bLength                 9
        bDescriptorType         2
        wTotalLength           32
        bNumInterfaces          1
        bConfigurationValue     1
        iConfiguration          0 
        bmAttributes         0x80
          (Bus Powered)
        MaxPower              500mA
        Interface Descriptor:
          bLength                 9
          bDescriptorType         4
          bInterfaceNumber        0
          bAlternateSetting       0
          bNumEndpoints           2
          bInterfaceClass       255 Vendor Specific Class
          bInterfaceSubClass      0 
          bInterfaceProtocol      0 
          iInterface              0 
          Endpoint Descriptor:
            bLength                 7
            bDescriptorType         5
            bEndpointAddress     0x84  EP 4 IN
            bmAttributes            2
              Transfer Type            Bulk
              Synch Type               None
              Usage Type               Data
            wMaxPacketSize     0x0040  1x 64 bytes
            bInterval               0
          Endpoint Descriptor:
            bLength                 7
            bDescriptorType         5
            bEndpointAddress     0x05  EP 5 OUT
            bmAttributes            2
              Transfer Type            Bulk
              Synch Type               None
              Usage Type               Data
            wMaxPacketSize     0x0040  1x 64 bytes
            bInterval               0
    can't get device qualifier: Operation not permitted
    can't get debug descriptor: Operation not permitted
    cannot read device status, Operation not permitted (1)
    
    

     

    GrauTec ok... schöner wäre wenn hier auch TinkerForge steht...

     

    google aha GrauTec kommt aus deutschland stellt KFZ kram, Displaytechnick und Kopierschutzsvorichtungen her... na klasse.

     

    wenn man das ganze mit sudo macht sieht man wenigstens den namen ThinkerForge:

     

    treaki@treakis-rechner-debian:~$ sudo lsusb -d 16d0: -v 
    [sudo] password for treaki: 
    
    Bus 002 Device 021: ID 16d0:063d GrauTec 
    Device Descriptor:
      bLength                18
      bDescriptorType         1
      bcdUSB               2.00
      bDeviceClass          255 Vendor Specific Class
      bDeviceSubClass         0 
      bDeviceProtocol         0 
      bMaxPacketSize0        64
      idVendor           0x16d0 GrauTec
      idProduct          0x063d 
      bcdDevice            1.00
      iManufacturer           1 Tinkerforge GmbH
      iProduct                2 Master Brick
      iSerial                 3 aetiNHBnM8w
      bNumConfigurations      1
      Configuration Descriptor:
        bLength                 9
        bDescriptorType         2
        wTotalLength           32
        bNumInterfaces          1
        bConfigurationValue     1
        iConfiguration          0 
        bmAttributes         0x80
          (Bus Powered)
        MaxPower              500mA
        Interface Descriptor:
          bLength                 9
          bDescriptorType         4
          bInterfaceNumber        0
          bAlternateSetting       0
          bNumEndpoints           2
          bInterfaceClass       255 Vendor Specific Class
          bInterfaceSubClass      0 
          bInterfaceProtocol      0 
          iInterface              0 
          Endpoint Descriptor:
            bLength                 7
            bDescriptorType         5
            bEndpointAddress     0x84  EP 4 IN
            bmAttributes            2
              Transfer Type            Bulk
              Synch Type               None
              Usage Type               Data
            wMaxPacketSize     0x0040  1x 64 bytes
            bInterval               0
          Endpoint Descriptor:
            bLength                 7
            bDescriptorType         5
            bEndpointAddress     0x05  EP 5 OUT
            bmAttributes            2
              Transfer Type            Bulk
              Synch Type               None
              Usage Type               Data
            wMaxPacketSize     0x0040  1x 64 bytes
            bInterval               0
    Device Status:     0x0000
      (Bus Powered)
    

     

    daher meine frage wäre es möglich bei der nächsten Hardware oder Firmware version das GrauTec mit ThinkerForge zu überschreiben so das man auch ohne v und ohne root gleich dick fett TinkerForge sieht???

    Nicht:

    treaki@treakis-rechner-debian:~$ lsusb -d 16d0:
    Bus 002 Device 021: ID 16d0:063d GrauTec 
    

     

    sondern:

    treaki@treakis-rechner-debian:~$ lsusb -d 16d0:
    Bus 002 Device 021: ID 16d0:063d TinkerForge.org
    

     

    ist natürlich nicht so wichtig aber wäre natürlich schicker:)

     

    gruß

  11. Hi,

     

    mir fällt gerade auf dass es im shop Produkte gibt die man nur findet wenn man oft genug auf der startseite mit den zufälligen produkten auf refresh drückt... diese kategorielosen produkte lassen sich meiner ansicht nach nur finden wenn man "glück" hat. darunter währen z.B.:

     

    https://shop.tinkerforge.com/micro-switch.html

    https://shop.tinkerforge.com/30-pin-btb-bottom-486.html

    https://shop.tinkerforge.com/3-pole-grey-connector-header.html

    https://shop.tinkerforge.com/30-pin-btb-top-635.html

    https://shop.tinkerforge.com/30-pin-btb-top-635.html

    https://shop.tinkerforge.com/bricklet-connector-header.html

    https://shop.tinkerforge.com/bricklet-connector-crimp-contact.html

    https://shop.tinkerforge.com/bricklet-connector-crimp-socket.html

    https://shop.tinkerforge.com/2-pole-black-connector-header.html

    https://shop.tinkerforge.com/3-pole-grey-connector-header.html

    https://shop.tinkerforge.com/4-pole-green-connector-header.html

     

    warscheinlich noch mehr ich will jetzt nicht ewig durchklicken...

     

    diese produkte sind zwar warscheinlich für "normale Kunden" weniger von interesse allerdings doch erwähnenswert. (z.B. wichtig wenn man sein eigenes bricklet entwickeln will oder schon 5 V zum anlegen hat und keine stepdown powersupply braucht)

     

    Bitte gebt doch diesen Produckten auch in einer Kategorie ein Zuhause dammit sie auch systematisch und nicht nur durch zufall gefunden werden können.

     

    Außerdem frag ich mich die ganze zeit wo die cable based (RS485) master extension zu finden ist die ihr scheinbar (dokumentation) ja schon produziert habt. wenn sie noch nicht serienreif ist könnte man sie ja zu mindestens als beta hardware verkaufen...

     

    gruß

  12. hi ihr zwei,

    erst einmal hut ab für die klasse Idee, die sache ist echt cool.

     

    ich würde mich freuen wenn der Schiebeschalter als tinkerforge unabhängiges teil noch etwas Geseltschaft bekommen würde. So könnte man beispielsweise alles bastelzubehör bei euch bestelleun und müsste nicht für Kabel, Lötzinn und Widerstände nochmal extra zu z.B. Konrad rennen. Außerdem würde ich mich über ein vorgebautes 230 Volt relay als eigenes bricklet freuen wie es im video (kaffemaschiene) gezeigt wurde. Weil so an die 230V Hausstrom Hand anzulegen trau ich mich irgendwie nicht ganz..

     

    gruß und macht weiter so!!!!

×
×
  • Neu erstellen...