Wie kann man 1Wire Temp auslesen und via Internet senden

  • Hallo,

    bin neu hier und neu bei Python.

    Ich würde gern mit dem RPI 3 eine externe Temperatur über 1Wire-Sensor (DS18B20) aufnehmen und an Thingspeak senden.

    Ich habe zwar beides separat schon ausführen können, aber zusammen wollen die einfach nicht. Vielleicht kann mal ein Erfahrener Pythonier drüber schauen und mir helfen.

    Hier der Code zum auslesen:

    Einmal editiert, zuletzt von elektrobot (20. Oktober 2017 um 15:45)

  • Wie kann man 1Wire Temp auslesen und via Internet senden? Schau mal ob du hier fündig wirst!

  • Und den folgenden Code wollte ich so abändern, dass nur die 1Wire-Temp gesendet wird.

    Hier der Sende Code:

    Einmal editiert, zuletzt von elektrobot (20. Oktober 2017 um 15:46)

    • Offizieller Beitrag

    Hallo electrobot,

    #!/home/pi/Schreibtisch/

    soll das ein Shebang sein?:rofl:

    Mal im Ernst, das wird so nichts. Wirf mal einen Blick ins Python-Tutorial und versuche zu verstehen wie diese Sprache funktioniert, wenigstens die Grundlagen solltest Du schon kennen. Das ist nicht böse gemeint, aber so kann man Dir nicht wirklich helfen.

  • Hallo,

    elektrobot: du brauchst die beiden Skripte doch nur hintereinander kopieren, die paar Schleifen rausnehmen, die du nicht brauchst -> fertig. Das ist dann zwar noch nicht "state of the art", aber sollte laufen.

    Wenn du Code postest, dann ist es hilfreich, wenn du die ganzen auskommentierten Zeilen raus nimmst - die stören hier beim Lesen.

    Wo hast du eigentlich den 2. Code her? Stilistisch ist der nämlich eher schlecht, aka unpythonisch. Den hat wohl wer geschrieben, der eher wenig Ahnung von Python hat...

    Gruß, noisefloor

  • Ach hat jemand noch einen Tip wegen den Einrückungen

    Ja, immer mit vier Leerzeichen einrücken. Keinen Tab dafür verwenden. In jeder Zeile nach einer Funktion/Methode/Klasse/Bedingung/Schleife/uvm wird immer mit vier Leerzeilen eingerückt.

    Bspw.:

    Die Punkte sollen hier nur die Leerzeilen repräsentieren! Du kannst dir vielleicht als Stütze am Anfang merken "Immer wenn ein Doppelpunkt ":" erscheint, muss die nächste Zeile eingerückt werden.

    “Don’t comment bad code - rewrite it.”

    Brian Kernighan

    • Offizieller Beitrag

    Das war kein auslachen, sondern Situationskomik! ;)

    Zum Shebang: Hättest Du das Ausrufezeichen weggelassen, dann wäre es (fast immer) ein ganz normaler Kommentar der nicht beachtet wird. Dadurch das diese Zeile auch noch die erste Zeile im Code war mit Ausrufezeichen, wird sie als Shebang gewertet und versucht das Script dem passenden Interpreter zu übergeben. In Deinem Fall existiert aber kein passender in dem Pfad.

    Das war nur grob umschrieben, genaueres steht in meinem Link.

  • Hallo elektrobot.

    Hoffe das du den Mut noch nciht verloren hast.

    Aktuell habe ich 2 Fragen an dich (damit ich dich allenfalls an der richtig Stelle abholen kann):

    1) Wleche Richtung studierst du und für das ist dieses "Projekt"?

    2) Wie weit bist du, was fehlt dir aktuel noch?

    Gruss Dani

  • Hallo,

    meine Antwort mit den beiden Skripten hintereinander war / ist ernst gemeint.

    Das in deinen Posts die Einrückungen nicht stimmen hatte ich auf eine C&P Fehler bzw. die Forensoftware geschoben. Wenn die Skripte auf deinem Rechner wirklich so aussehen, dann fehlen dir die grundlegenden Grundlagen zu Python.

    Hast du schon mal das offizielle Python-Tutorial durchgearbeitet?

    Gruß, noisefloor

  • Also gut wenn es hilft: "Ich studiere Elektrotechnik, speziell Kommunikation" - jetzt ist es raus.

    Und jetzt Hallo Zusammen,

    danke für die Tipps.

    Jetzt habe ich die Einrückungen verstanden, weil bei/nach Eingabe eines Befehls kommt ja kein Zeilenumbruch, sondern ein Umbruch mit Einrückung. Diese habe ich wohl beim herumspielen (nicht wahr genommen) durcheinander gebracht.

    Trotzdem Danke

    Und die Befehle habe ich alle weitestgehend (im WEB) gefunden, aber das verstehen ist teilweise nicht ganz durch - ich melde mich wieder.

    Ja - auf jeden Fall der Code geht jetzt (stelle ich mal rein, wenn ich zeit habe) - auch wenn ich die Funktion der Shebang nicht verstanden habe - ich habe mit Rechtsklick definiert, dass Python 2 mein Code startet und gut.

    Abschließend hätte ich noch eine Frage, weil mein Mitstudent soll die Daten per Netzwerk oder Internet auswerten (graphisch). Er will das aber mit Java machen und hat nach 50 Stunden Youtube und Internetsuche langsam die Schnauze voll. Vielleicht habt Ihr ja Tipps.

    OK Bis dann

Jetzt mitmachen!

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