Posts by AliceDeh

Registriere dich jetzt, um exklusive Vorteile zu genießen! Als registriertes Mitglied kannst du Inhalte herunterladen und profitierst von einem werbefreien Forum.
Mach mit und werde Teil unserer Community!

    Ihr seid der Wahnsinn Leute^^


    Danke für deinen Post und das Bild für die Schaltung!!


    Wenn die Hardware da ist werde ich einen Thread begleitend zum Projekt erstellen und auch hier verlinken.


    Vielen Dank bis dahin!!

    Ok, danke für deine Antowort!


    Mal noch eine andere Frage:


    Ich besitze dieses Breadboard https://www.sparkfun.com/products/9567


    Wenn ich jetzt mehrere Sensoren auf dem Board schalte möchte ich nicht ausversehen die eine mit der anderen Schaltung verbinden.


    Woran erkenne ich zb in Koordinate auf dem Board i 1 den 3.3V Anschluss reinstecke bis wohin er geht? Verstehst du meine Frage? Fließt der Strom dann nur in der i-Reihe? Ziemlich sporadisch ausgedrückt, aber ich weiß nicht wie ich es anders formulieren soll.


    Gruß


    Geht ein beliebiger AD-Wandler oder kannst du einen empfehlen? Kannst du mir auch mehr über diese "Levelshifter" erzählen?


    PS: Mit cat /sys/bus/w1/devices/28-0000065fa6c1/w1_slave gebe ich die Temperatur aus oder über die oben geposteten Skripte.


    Ich würde das gerne über einen Webbrowser ansehen. Ich versuche die Daten mit Nginx abzurufen, aber es funktioniert nicht obwohl ich exakt nach diesem Tutorial gefahren bin http://msxfaq.de/verschiedenes/bastelbude/raspi-1wire.htm oder ist dies jetzt nicht passend?


    Könntest du mir vielleicht einen Link von solcher Hardware schicken?


    Das würde mich freuen. Ich verstehe darunter eine Art "T-Kabel".
    Eine Lötstation habe ich leider nicht. Bin Neuling auf dem Gebiet.
    Habe heute mein erstes Projekt abgeschlossen und den Temperatur-Sensor zum laufen bekommen und kann die Daten auslesen. :)


    Was müsste ich denn zusammenlöten? Kannst du mir das etwas genauer erklären?


    Ich wollte nur eine Fragen im Vorfeld meines Projektes erklären.


    Ich werde die Tage einen Thread eröffnen wo es um dieses Thema geht.


    Dann erkläre ich nochmal detailiert welche Hardware ich beistze und welche Hardware ich vorhabe zu kaufen.


    Ich werde dann natürlich auch den Link zum Thread hier posten!!!


    Das mit dem "Y- oder T-Kabel" klingt schon mal ganz gut. Gibt es solche Kabel auch fertig zu kaufen?


    Ich habe das Raspberry Model B Rev1 und möchte daran https://www.sparkfun.com/products/9569 und https://www.sparkfun.com/products/11050 und https://www.sparkfun.com/products/9395 betreiben.


    Was sagt ihr dazu?

    Grüße Hallo,


    ich habe eine Frage.


    An meinem Raspberry hängt ein DS18B20 Temperatur-Sensor an dem 3,3V Pin.
    Ich möchte gerne noch ein Feuchtigkeits-Sensor und ein LCD Display anbringen.


    Dabei treten 2 Probleme auf:


    Der Feuchtigkeits-Sensor benötigt auch 3,3V Pin und der jetzige an meinem Raspberry ist belegt durch die Versorgung meines Temperatur-Senors.


    Das andere Problem ist, dass selbst wenn ich einen Feuchtigkeits-Sensor nehme der auf 5V läuft würde ich zusätzlich gern noch einen LCD Display anbringen, aber beide Stromversogungs-Pins sind belegt.


    Was mache ich in so einem Fall? Ein weiteres Raspberry kaufen oder kann ich auch mit einer Art "T-Stücke" mir die Pins teilen oder ist das zu brachial?^^


    Ich würde gerne Temp.-Sensor(3.3V) + Feuchtig.-Sensor(3.3V) + LCD(5V) an ein Raspberry hängen.


    Wie würdet ihr das Problem lösen?


    Nette grüße

    Ähm?^^


    Was machen wir nun mit "value_c"? :lol:

    Jawoll!!


    Vielen Dank RasPi-Jo für deine Unterstützung meines Projektes.


    Ich musste in deiner neuen Code-Zeile nur noch "while true" auf while True" ändern und jetzt läuft es. Ich danke dir, meine andere Lösung aus dem Buch war zwar auch korrekt, aber durch deinen Code und deine Tipps weiß ich nun wie ich auch die Werte mehrerer Sensoren anzeigen lassen kann.


    Hier nochmal die korrekten Lösungen.


    MEHRERE SENSOREN: pathes = ( "/sys/bus/w1/devices/28-0000065fa6c1/w1_slave", "", "")




    EIN SENSOR: pathes = ("/sys/bus/w1/devices/28-0000065fa6c1/w1_slave","", "")



    ANDERE LÖSUNG FÜR EINEN (1x) SENSOR:



    Ich danke auch allen andere die sich bemüht haben mir zu helfen.


    Code
    # path and name of the log file
    logfile = '/var/log/heizung/error.log'


    Der Ordner "Heizung" muss natürlich per Hand in "/var/log" erstellt werden. ;)


    PS: Der Code von RasPi-Jo läuft schneller und performanter.
    Die Anzeige nimmt auch die Temperaturänderung schneller war als die zweite Variante.


    Ich erkläre den Thread als


    -----CLOSED-----

    Traceback (most recent call last):
    File "temp_ds18b20.py", line 54, in <module>
    print("temp C=%f\ttemp F=%f\tQuelle=%s"% read_sensor(path))
    File "temp_ds18b20.py", line 42, in read_sensor
    return value_c, value_f, path
    UnboundLocalError: local variable 'value_c' referenced before assignment


    Ok ist erledigt :)


    Was sagst du dazu?


    Hier nochmal der komplette Code:


    Ich korrigiere mich. Deine Posts waren vollkommen korrekt alle gesamt, ich habe sie nur falsch interpretiert.


    Jetzt steh ich nur noch vor einem Problem:



    Was muss ich unten in diesem Code für "datei" einsetzen? Er meckert dort, weil "datei" nicht deklariert ist.


    Was muss für Path rein? Ich habe den kompletten Pfad angegeben wie oben in dem Code. Doch er sagt falsche Syntax /sys/bus/w1/...

    Found it!


    sudo nano /boot/config.txt


    add :


    dtoverlay=w1-gpio


    Das musste ich in die Datei schreiben noch jetzt aknn ich ihn auslesen :) Ich danke für eure Hilfe!!

    RaspiJo: Ich habe versucht deine Schleife nachzubauen.


    def read_sensor(/sys/bus/w1/devices/28-0000065fa6c1):
    value = "U"
    try:
    f = open(/sys/bus/w1/devices/28-0000065fa6c1, "r")
    line = f.readline()
    if re.match(r"([0-9a-f]{2} ){9}: crc=[0-9a-f]{2} YES", line):
    line = f.readline()
    m = re.match(r"([0-9a-f]{2} ){9}t=([+-]?[0-9]+)", line)
    if m:
    value_c = float(m.group(2)) / 1000.0
    value_f = value_c * 9.0 / 5.0 + 32.0
    f.close()
    except (IOError), e:
    print time.strftime("%x %X"), "Error reading", /sys/bus/w1/devices/28-0000065fa6c1, ": ", e
    log('Error reading : No such file or directory:', datei)
    return value_c, value_f, /sys/bus/w1/devices/28-0000065fa6c1


    Ich hoffe mal das klappt jetzt :)


    FUNKTIONIERT
    cd /sys/bus/w1/devices
    cd 28-0000065fa6c1
    cat w1_slave


    HABE ICH IN DEN SYSTEMSTART EINGEFÜGT
    sudo modprobe w1-gpio pullup=1
    sudo modprobe w1-therm

    Syntax Error bei:


    def read_sensor(/sys/bus/w1/devices/28-0000065fa6c1):
    ^ invalid syntax


    Was ist beim Pfad falsch?

    PS:


    import os, glob, time


    os.system(′modprobe w1-gpio′)
    os.system(′modprobe w1-therm′)


    base_dir = ′/sys/bus/w1/devices/′
    device_folder = glob.glob(base_dir + ′28*′)[0]
    device_file = device_folder + ′/w1_slave′


    def read_temp_raw():
    f = open(device_file, ′r′)
    lines = f.readlines()
    f.close()
    return lines


    def read_temp():
    lines = read_temp_raw()
    while lines[0].strip()[-3:] != ′YES′:
    time.sleep(0.2)
    lines = read_temp_raw()
    equals_pos = lines[1].find(′t=′)
    if equals_pos != -1:
    temp_string = lines[1][equals_pos+2:]
    temp_c = float(temp_string) / 1000.0
    temp_f = temp_c * 9.0 / 5.0 + 32.0
    return temp_c, temp_f


    while True:
    print("temp C=%f\ttemp F=%f" % read_temp())
    time.sleep(1)


    Funktioniert absolut klasse! Ich bekomme nun jede Sekunde das genau Ergebnis in C und F angezeigt. Sehr schön :)


    RaspiJo doch was ist mit deiner Schleife? Ich würde auch diese gerne mal testen, aber was stimmt bei dem PFad nicht?


    Gruß


    Dieses Skript ist aus einem Buch. Es muss funktionieren. Weshalb sollte es nicht? Was muss ich ändern?

    Moin Leute :D


    Also es klappt jetzt soweit, nur ist das Problem, dass ich manche Tage über UMTS nun darauf zugreifen kann und manche Tage nicht.
    Ich habe auch zwischendurch mal den Router resetet und neu aufgesetzt, aber das Problem bestand weiterhin.


    Mag sein das es ein Problem seitens der Telekom bzw. des Routers ist oder vielleicht auch nur der DNS Anbieter. Ich fummel einfach mal noch weiter daran rum und melde mich ab und zu mal..^^


    Wenn euch Lösungsvorschläge einfallen, dann bitte sofort posten ;)


    Gruß


    PS: Habe zurzeit auch mal Apache aufgesetzt und ne Website reingehauen /var/ww.
    Ist im Heimnetzwerk unter der internen IP Adresse normal erreichbar, aber nicht von außerhalb wie ich gerade feststelle.


    Habe natürlich auch Port 80 auf 8080 zum Pi weitergeleitet, aber heute ist wieder einer dieser Tage wo es einfach nicht geht. Ich versuche immer vom Handy aus auf ozz-pi.zapto.org zuzugreifen.

    Moin,


    was haltet ihr eigentlich von dieser Schaltung mit diesem Skript: Schaltung


    Und dann mit python folgendes Skript laufen lassen:


    import os, glob, time


    os.system(′modprobe w1-gpio′)
    os.system(′modprobe w1-therm′)


    base_dir = ′/sys/bus/w1/devices/′
    device_folder = glob.glob(base_dir + ′28*′)[0]
    device_file = device_folder + ′/w1_slave′


    def read_temp_raw():
    f = open(device_file, ′r′)
    lines = f.readlines()
    f.close()
    return lines


    def read_temp():
    lines = read_temp_raw()
    while lines[0].strip()[-3:] != ′YES′:
    time.sleep(0.2)
    lines = read_temp_raw()
    equals_pos = lines[1].find(′t=′)
    if equals_pos != -1:
    temp_string = lines[1][equals_pos+2:]
    temp_c = float(temp_string) / 1000.0
    temp_f = temp_c * 9.0 / 5.0 + 32.0
    return temp_c, temp_f


    while True:
    print("temp C=%f\ttemp F=%f" % read_temp())
    time.sleep(1)


    ---------------------------------------------------------------------------------


    $ python temp_DS18B20.py
    temp C=25.187000 temp F=77.336600
    temp C=25.125000 temp F=77.225000
    temp C=25.062000 temp F=77.111600
    temp C=26.312000 temp F=79.361600
    temp C=27.875000 temp F=82.175000
    temp C=28.875000 temp F=83.975000


    PS: Meine Rx- und Tx-Pin's also der eigentliche serielle Port sind freigeschalten und fungieren als Ein- und Ausgang, deswegen liegt das Datenkabel am Tx-Pin an in dem Bild :)

    WoW, danke für eure Beiträge.


    Ich hatte mich immer gewundert weshalb die Leute in den ganzen Videos und Tutorials einen 4,7K Widerstand nehmen .. :)


    Ich bin mal gespannt ob ich das alles fehlerfrei hinbekomme, wenn die Post das ganze Zeug bringt ;)

    (1,15 Volt / 4700 Ohm) * 1000 = ca 0,2 mA


    Heißt für mich, dass 0,2 mA durch den Widerstand nun fließen und der Temperatursensor mit 0,2 mA "betrieben" wird, die in die andere Richtung fließen, is korrekt so ne?