DS18B20 mit Python auslesen

  • Hallo an alle ich versuche einen DS18B20 auszulesen. auslesen klappt auch nun möchte ich das mit Python tuen (anschließend in eine DB Loggen)

    link zur Quelle

    Jedoch klappt das Skript nicht.

    Fehlermeldung:

    Traceback (most recent call last):
    File "temperatur.py", line 27, in <module>
    file = open('/sys/bus/w1/devices/' + str(w1_slave) + '/w1_slave')
    IOError: [Errno 2] No such file or directory: '/sys/bus/w1/devices/28-0214672ec4ff\n/w1_slave'

    Wo kommt denn das \n her im Pfad? :@

    • Offizieller Beitrag

    das \n gehört da nicht hin

    Code
    str(w1_slave).strip()

    schafft auch sofortige Abhilfe, allerdings ist der os.join deutlich hübscher :)

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

  • Nach Kernel 3.18 (Raspbian vor Version vom Februar 2015)
    Das auslesen von DS18x20 Sensoren wird direkt vom Kernel untersützt. Es müssen lediglich die Kernel Module aktiviert werden. Dazu muss in die Datei /boot/config.txt eingetragen werden. Mit
    Quellcode

    • sudo nano /boot/config.txt

    wird der Editor geöffnet, in der Datei muss dann folgendes eingetragen werden:
    Quellcode

    • dtoverlay=w1-gpio


    (einfach in eine leere Zeile am Ende der Datei schreiben).
    Nach dem speichern und einem Neustart des Raspberry Pi werden die Sensoren vom Sensorsender Dienst automatisch erkannt und an den Sensorempfänger gesendet. Die neu erkannten Sensoren werden dann unter raumlose Elemente in der Verwaltung der schaltbaren Elemente angezeigt.

  • Mach mal "$ sudo chmod +x /usr/bin/temp "
    dann geht es weiter.

    Habe mal den obigen Link ausgeführt.
    In der temp Datei ist ein Fehler.
    In Zeile 5 muss es so heißen.

    [font="monospace"]temp=`echo $tempread | egrep -o '[0-9]+$'`[/font]

    Einmal editiert, zuletzt von YellowForest12781 (16. April 2016 um 16:16)

  • endlich wieder etwas Zeit! Jedoch ist mein Fehler leider nicht weg!

    nun habe ich folgenden Fehler:

    Traceback (most recent call last):
    File "temperatur.py", line 36, in <module>
    stringvalue = filecontent.split("n")[1].split(" ")[9]
    IndexError: list index out of range


    Der Quellcode sieht so aus:

    Kann jemand bitte helfen?

  • Hallo tutter,


    Kann jemand bitte helfen?

    Wahrscheinlich kann Dir keiner helfen, denn die Zeile, die fehlerhaft ist, ist in dem Programm-Code nicht enthalten. Und was verborgen istm kann man nicht lesen.

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • :thumbs1: japp da hast du recht! das war auch keine Absicht sorry! hatte gedacht ich habe alles erwischt

    jetzt aber!

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!