Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - adrianbernhard

Pages: [1] 2
1
Anfängerfragen und FAQ / Re: brickd auf fedora installieren
« on: April 11, 2013, 00:49:55 »
jupp. Hat funktioniert. Zwar erst beim dritten Anlauf und nach neuklonen des Quellcodes.
Danke. Die Infos wurden ja nun bei git auch eingepflegt.

2
Anfängerfragen und FAQ / brickd auf fedora installieren
« on: April 10, 2013, 00:04:53 »
Hallo,
ich wollte heute auf 2.0 updaten. Nur gelingt mir nicht mehr auf meinem raspberry pi mit fedora das kompilieren.
Anscheinend findet das make script nicht die richtigen Pfade:
Code: [Select]
Package libusb-1.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libusb-1.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libusb-1.0' found
Package libusb-1.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libusb-1.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libusb-1.0' found
Package libusb-1.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libusb-1.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libusb-1.0' found
Package libudev was not found in the pkg-config search path.
Perhaps you should add the directory containing `libudev.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libudev' found
Package libudev was not found in the pkg-config search path.
Perhaps you should add the directory containing `libudev.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libudev' found
Package libudev was not found in the pkg-config search path.
Perhaps you should add the directory containing `libudev.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libudev' found
make: Warning: File `Makefile' has modification time 14938058 s in the future
CC brick.o
/bin/sh: gcc: Kommando nicht gefunden.
make: *** [brick.o] Fehler 127
Wo kann ich denn die Pfade ändern. Die Lib´s existieren ja (libudev.so.0.13.1 und libusb-1.0.so.0.1.0). Außerdem habe ich es auf dem selben System auch schon einmal gemacht. Da aber über das python script brickd_linux.py. Wie hier beschrieben http://www.tinkerunity.org/forum/index.php/topic,238.msg1054.html#msg1054
Oder bin ich auf dem falschen Weg?

3
Moinsen.

also bei der ersten Softwareversion war ein file logger implementiert worin ich sehen konnte bis wann die Temperaturwerte gespeichert wurden. Dadurch konnte ich sehen, dass der Ausfall zeitlich nicht mit den Schalten der Lasten zusammen hing.

Daraufhin hab eine reduzierte Version nur zum Schalten geschrieben ohne den restlichen Schnickschnack. Um bzw. das LCD Modul auszuschließen.

Bei der Kontrolle der syslog ist mir jedoch aufgefallen, dass diesmal der Pi um 6.25 nicht mehr auf die Netzwerkschnittstelle zugreifen konnte.

Code: [Select]
Oct 12 06:25:53 raspberrypi kernel: [128068.549829] smsc95xx 1-1.1:1.0: eth0: Failed to read register index 0x00000114
Keine Ahnung ob das nun dazu führte, dass der Pi nicht mehr reagierte . D.h. nochmals laufen lass und abwarten.

Nachtrag 31.10:
Zur Zeit hängt es am Raspberry. Er verliert irgendwann die Netzwerkverbindung, ab da geht dann gar nichts mehr. Stundenlanges recherchieren hat mich nicht wirklich schlauer gemacht. Da immer davon die Rede ist dass die Geräte am USB zu viel Saft ziehen. Was ich aber ausschließe.
Nun habe ich mal den Fedora Remix RC2 (Vorher Rasbian) drauf gezogen und brickd, screen, und java installiert.
Schade, das es nicht stabil läuft.
Achja und ich benutze nicht mehr das DualRelay, stattdessen zwei Halbleiterrelais mit IO4.
 

4
Noch ein Nachtrag.
Ich habe letzte Nacht mal eine reduzierte Version meines Programms laufen lassen und es funktioniert dennoch nicht.
Code: [Select]
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package tinker_neu;

import com.tinkerforge.BrickletDualRelay;
import com.tinkerforge.IPConnection;
import com.tinkerforge.IPConnection.TimeoutException;
import java.io.IOException;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;

/**
 *
 * @author adrianbernhard
 */
public class Zeitschaltung {
    public static final String host = "192.168.2.114";
//    public static final String host = "localhost";
    public static final int port = 4223;
    public static final String UID4 = "7FJ";   // Doppel Relay //
    public static final double AnschaltzeitBeleuchtung1 = 9;
    public static final double AusschaltzeitBeleuchtung1 = 14;
    public static final double AnschaltzeitBeleuchtung2 = 17;
    public static final double AusschaltzeitBeleuchtung2 = 22.25;
    public static final double AnschaltzeitSekundär = 1.30;
    public static final double AusschaltzeitSekundär = 8.30;
public static void main (String args[]) throws IOException, TimeoutException, InterruptedException {
int a = 10;
while(a<15)
    {
        try{
            Zeitschaltung.schalten();
            }
        catch (TimeoutException e){
            System.out.println("Verbindungs Fehler/Tinker eingeschlafen");
            }
        Thread.sleep(60000);
    }

}
   
public static void schalten () throws IOException, TimeoutException {
    IPConnection ipcon = new IPConnection(host, port);
    BrickletDualRelay dr = new BrickletDualRelay (UID4);

    ipcon.addDevice(dr);
   
    Calendar.getInstance();
    Date jetzt;
        jetzt = Calendar.getInstance(Locale.GERMAN).getTime();
       
    java.text.SimpleDateFormat sdf1;
        sdf1 = new java.text.SimpleDateFormat("HH.mm");
   
    double aktuelleZeit;
        aktuelleZeit = Double.parseDouble(sdf1.format(jetzt));
   
    boolean relay2;
        relay2 = dr.getState().relay2;     
       
    if (aktuelleZeit >= AnschaltzeitBeleuchtung1 & aktuelleZeit <= AusschaltzeitBeleuchtung1)
            {
        dr.setState(true,relay2);
            }

    else if (aktuelleZeit >= AnschaltzeitBeleuchtung2 & aktuelleZeit <= AusschaltzeitBeleuchtung2)
            {
        dr.setState(true,relay2);
            }
               
    else
            {
        dr.setState(false,relay2);
            }
                   
    boolean relay1;
        relay1 = dr.getState().relay1;
               
    if (aktuelleZeit > AnschaltzeitSekundär & aktuelleZeit < AusschaltzeitSekundär)
            {
            dr.setState(relay1,true);
            }
   
    else
            {
            dr.setState(relay1,false);
            }     
}

}

5
Also beim testen ist mir aufgefallen, dass man nicht gleichzeitig ins LCD schreiben und das Relay schalten sollte. Das passiert nun nicht mehr.
Die Ausfälle traten aber nicht während des Schaltens auf. Sondern irgendwann ohne erkennbaren Zusammenhang. Mal nach 10 minuten mal nach 18 Stunden. Aber bisher hat es keinen Tag ausgehalten. Das mit den Pausen ist noch neu, vielleicht hilft es ja wirklich. War nur ein Idee.


@Die Borg ;)
Das mit dem Kondensator hatte ich schon in einem anderen Thread geklärt und den Fix selber durchgeführt. Das LCD läuft nun super. Das Ausfallen des LCD hatte keine Folgen für das Program, es lief weiter.

Aktualisierung:
Also die Änderungen haben nichts gebracht. Heute Morgen war es wieder vorbei.
Ich werde mal nun nach jeder einzelnen LCD Schreibanweisung eine Pause setzen.


6
Moinsen.

ich habe ein Problem mit der Stabilität meines Programms oder des MasterBricks.

Zunächst mein Aufbau:
1x RaspberryPi steuert ein MasterBrick mit  1x Dualrelay, 1x LCD 20x4, 1x Temperatursensor, 1x Analog In
Alles versorgt über ein Step-down-Power Supply mit 12V 2A Netzteil.
Das dual Relay ist mit je einem Varistor 360V geschützt und dient eigentlich nur als Zeitschaltuhr. Mit dem Analog in habe ich mir ein Wasserthermometer gebaut. d.h. das Programm muss die Umrechnung durchführen. Und das ganze soll dann auf dem LCD angezeigt werden.
Nun funktioniert mein Programm zwar nur ab und zu reagiert die Masterbrick nicht mehr.

Ich habe mittlerweile folgende Massnahmen ergriffen:
- Raspberry hängt jetzt am Kabel und nicht mehr am Wlan-Stick
- die Anlage läuft hinter einem Trenntrafo (ich hatte Störungen im Stromnetz: kurzes Brummen meiner Hifi Anlage, Funkgesteuerte Steckdosen gingen an bzw. aus, gedimmte Lampen sprangen aus usw.) Daher hatte ich das Teil eh noch rumstehen.
- Im Programm habe ich nahezu jede Abfrage des Masterbricks mit Thread.sleep(100) zeitlich getrennt.

Naja da ich die letzten Änderungen erst heute vorgenommen habe kann ich nicht sagen ob es besser geworden ist.
Aber habt Ihr noch Erfahrungswerte? Bzw. gibt es Tipps zur Verbesserung der Stabilität?



7
Hardware / Re: LCD 20x4 steigt aus, warum?
« on: October 08, 2012, 15:49:10 »
Jupp hab jetzt einen 474nF genommen. Bisher läuft er.

8
Hardware / Re: LCD 20x4 steigt aus, warum?
« on: October 08, 2012, 13:39:38 »
also auf dem Board steht 1.1 und ich habe keinen Kondensator an den pins.
Wie groß habt ihr den Kondensator denn dimensioniert? Vielleicht habe ich einen passenden noch da, dann würde ich es selber fixen. Ehe das Modul auf reisen gehen muss.

9
Hardware / Re: LCD 20x4 steigt aus, warum?
« on: October 07, 2012, 18:32:28 »
Bei mir tritt dieser Fehler nun auch auf.
Ich hatte schon einen Aufbau mit thermo und luftfeuchte Bricklets und lcd 20x4 mehrere Wochen am laufen, ohne Probleme.
Nun habe ich einen neuen Aufbau mit doppel Relay/LCD 20x4 und der Step-Down Power Supply. Jetzt geht immer wieder der LCD aus. Ich habe die Relais wie beschrieben mit je einen Varistor 420V abgesichert. Das Programm läuft aber das LCD friert irgendwann ein(zum Teil nach wenigen minuten mal nach Stunden). Dann dimmt die Hintergrundbeleuchtung ab und zeigt gar nichts mehr an.
Ich schreibe sekündlich das LCD neu.


10
Hardware / Re: Fragen zum Step-Down Power Suply
« on: October 04, 2012, 13:10:36 »
Na dann muss ich nochmal in meiner Netzteilkiste kramen.

11
Hardware / Fragen zum Step-Down Power Suply
« on: October 03, 2012, 20:20:41 »
Moinsen zwei Fragen.
Wie empfindlich würde der Step-Down Supply auf 30 Volt Spannung reagieren? Ist der da sehr empfindlich oder etwas "weiter" konstruiert. Hab noch ein 30Volt netzteil (850mA) (damit ich ordentlich Saft habe)

Und da es nicht ausdrücklich beschrieben ist: geht auch eine Wechselspannung. Hab noch ein 60 Watt Netzteil mit 11,5 V AC.

Warum soviel Saft auf der Leitung? Ganz einfach ich ärgere mich noch mit nem 5v 2A über ein USB Hub rum. Da fällt ständig das LCD aus und die Kiste hängt wenn ich meine Relays schalte.
So. Fertich.

12
Hardware / Re: Wunsch: LCD20x4 Buttons
« on: June 02, 2012, 16:36:42 »
@Borg ist mir nicht wichtig. Bin nur beim drüber hinweg surfen darauf gekommen. Bin nur von der Produktbezeichnung ausgegangen. LCD 204B BL und LCD 204B LED. Für Datasheet vergleichen war es mir nicht wichtig genug. ;)

13
Da steht es schon ^^
http://www.tinkerforge.com/doc/Software/Bricklets/DualRelay_Bricklet_Java.html#BrickletDualRelay::getState

(Im setState drüber steht sogar der Hinweis wie man nur eines von beiden schaltet ;))

Oder meinst du, dass nicht klar wird, dass man relay1 von getState() abfragen kann?
Letzteres. Ohne das wissen hatte ich probiert mit State dem ganzen Herr zu werden. Aber dass die Lösung so einfach ist. Naja Anfängerfehler.
Ich hab aber gerade selber nochmal nachgelesen. Aber Stand der Satz:
"The returned object has the public member variables boolean relay1 and boolean relay2." schon letzte Woche drin? Dann hab ich wohl einfach nicht genau gelesen.

14
Hardware / Re: Wunsch: LCD20x4 Buttons
« on: June 02, 2012, 14:03:10 »

15
Ich hab meinen Fehler gefunden.
ich wuste nicht dass mit
Code: [Select]
getState().relay1der Zustand des einzelnen Relais abgefragt werden kann.

p.s. könnte vielleicht in die Dokumentation aufgenommen werden, für noobs wie mich ;)

Pages: [1] 2