Python3 Programmierung GPIO

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo zusammen,

    ich benötige Hilfe bei der Programmierung unter Python
    Das Script füge ich mal hinzu

    Ich möchte die Ausgabe eines DHT22 -> Temperatur und Luftfeuchtigkeit am Bilschirm sichtbar und ich eine Datei geschrieben haben.
    Der Rest mit schalten eines Relais usw funktioniert nur bekomme ich es nicht hin das ganze Ausgabe in einen Datei zu schreiben

    Habe leider keine Erfahrung mit Python
    Ich wäre um jede Hilfe dankbar und für Verbesserungen ebenso

    Vorab besten dank

    Gruß

    Michi

  • Ups sorry

    Script ist jetzt im Anhang
    Automatisch zusammengefügt:


    schon mal die suchmaschine deiner wahl benutzt?

    Ja und nicht nur einmal
    Ich denke ich habe mehrer Versionen probiert

    Einmal editiert, zuletzt von heman (11. April 2017 um 17:41)

  • `hHallo,

    Python kennt bei Dateien den Modus `a` (statt bei dir `r+`), damit werden neue Zeilen automatisch ans Ende angefügt.
    Aber anstatt dir das alles so zusammenbasteln, möchtest du vielleicht einen Blick auf das logging-Modul aus der Standardbibliothek werfen...

    Ein nacktes `try... except` ist immer schlecht, weil du damit selber Fehlermeldungen vor dir versteckst. Wenn man das nutzt, dann sollte man mit dem `except` auch nur die Exception abfangen, die man wirklich abfangen will. Im Moment fängst du _alles_ ob. Also:erst mal weg damit. Dann siehst du auch, dass dein Code diverse Fehler hat.

    Zum Öffnen von Dateien am besten das `with` Statement benutzen - dann kümmert sich Python darum, dass die Datei auch wieder korrekt geschlossen wird.

    `while 1:` ist unpythonisch, schöner ist `while True:`

    Abgesehen davon: willst / musst du _wirklich_ alles vier Sekunden einen Wert loggen? Das ist relativ viel I/O und die Log-Datei wächst relativ schnell. Was wiederum noch ein Grund für das logging-Modul wäre, weil das auch Logrotate unterstützt.

    Gruß, noisefloor

  • Hallo noiseflorr

    erst einmal DANKE für deine Anwort.
    Ich bin jetzt ehrlich zu dir ich verstehe nur Bahnhof da ich von Python keine Ahnung habe und habe mir das ganze Script im Netzt herausgesucht und so gut es ging zusamme gestoppselt
    Es wäre super und ich sehr dankbar von dir wenn du mir das ganze in mein Script einfügen könntest

    Wenn nicht muß ich weiter im Netz suchen

    Schon mal Danke im Voraus.

    Gruß

    Heman
    Automatisch zusammengefügt:
    Hallo
    ich nochmal

    Das mit den 4 Sekunden war nur ein Test um möglichst viele Einträge auf dem Bildschrim und in der LogDatei zu haben

    Einmal editiert, zuletzt von heman (14. April 2017 um 11:53)

  • Ich bin jetzt ehrlich zu dir ich verstehe nur Bahnhof da ich von Python keine Ahnung habe und habe mir das ganze Script im Netzt herausgesucht und so gut es ging zusamme gestoppselt

    Das ist das Problem :fies:
    Warum denken eigentlich alle Anfänger immer sie könnten ganz tolle SW Schnipsel, die sie im Internet gefunden haben ohne programmieren zu können zu ihrem Traumprojekt zusammenbasteln? =(

    IMHO ist hier nicht Symptom-, sondern Problembehandlung erforderlich. -> Du willst mit Python GPIOs steuern und einen Temperatursensor auslesen und loggen, also lern' erstmal Python, sonst wird das nix. Und komm jetzt nicht mit keine Zeit keine Lust :fies:

    LG

    BTW sorry für diesen etwas "grantigen" Post, aber die Einstellung bei manchen geht mir echt auf den Keks :wallbash:

  • Hallo linusg,

    Du sprichst mir aus der Seele...

    Die Frage, die sich mir noch stellt: Muss es unbedingt die Programmiersprache Python sein, von der heman irrtümlich vermutet, darin programmieren zu müssen? Oder würde auch eine anderen Programmiersprache, die heman schon beherrscht, wesentlich einfacher zum Ziel führen?


    heman:
    Programmieren besteht nicht darin, zunächst ähnlichen Code zusammenzusuchen und mit Hilfe Dritter zu einem funktionalen Code zusammenflicken zu lassen.

    Wenn das so wäre: Wie konnte es dann in den 60ern bis Mitte der 90ern (Aufkommen des Internets) des vergangenen Jahrtausends Leuten gelingen, ganze Programmpakete zu entwickeln? Von in C geschriebenen Betriebssystemen mal gar nicht zu reden ... Zigtausend Lines of code (LOC) haben einzelne und Teams lauffähig bekommen.

    Wenn man programmieren möchte - egal in welcher Programmiersprache auf welchem Betriebssystem in welcher Umgebung - muss man zunächst mal die Syntax einer Programmiersprache erlernen, in dem man mit einfachsten Beispielen beginnt. Alles andere kommt später.

    Es gibt sehr gute Programmierer, die noch nie eine GUI-Anwendung geschrieben haben. Warum glaubt dann jeder Anfänger, schon am 2. Tag seiner "Karriere" GUIs programmieren können zu müssen?

    Alles braucht seine Zeit - und alles kommt zu seiner Zeit...

    (Was war jetzt noch mal Zeit?)

    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.

    Einmal editiert, zuletzt von Andreas (14. April 2017 um 12:43)

  • Ich vermute mal, dass heman auch in keiner anderen Programmiersprache grundlegende Erfahrungen hat. Python ist nun wirklich nicht so exotisch, dass man sich nicht reinarbeiten könnte, wenn man vorher mal ein bisschen PHP oder ähnliches ausprobiert hat. Man hilft ja gerne, aber wenn der Eindruck entsteht: "Ich habe keine Ahnung von nix und keine Lust, mir Arbeit zu machen... könnt ihr euch mal schnell für mich zum Affen machen! ", dann geht die Hilfsbereitschaft schnell in den Keller.
    Heman, ein bisschen Mühe musst du dir schon geben.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!


  • Die Frage, die sich mir noch stellt: Muss es unbedingt die Programmiersprache Python sein, von der heman irrtümlich vermutet, darin programmieren zu müssen? Oder würde auch eine anderen Programmiersprache, die heman schon beherrscht, wesentlich einfacher zum Ziel führen?

    Sicher nicht, da darf jeder nehmen was er will :thumbs1: Aber (entschuldige, falls ich falsch liege) nach meinem Gefühl kann er noch gar keine, sonst würde er diesen Praktiken nicht nachgehen.

    Weißt du Heman, wir wollen hier keinen runtermachen, weil er garnicht oder nur mit zweifelhaftem Stil programmieren kann. Leider gibt es diese Fälle aber viel zu oft, so dass man sich hier dann anstatt mit vielleicht sehr interresanten Raspberry Pi spezifischen Problemen mit den Anfängerproblemen der Programmierung in diversen Sprachen rumschlägt. Das ist IMHO nicht nötig: wer ein ambitioniertes Projekt vor sich hat kann, die nötige Zeit und Geduld vorausgesetzt, alles notwendige lernen und dann in der Zukunft viel schneller zum Ziel kommen. Es wird dich nicht verwundern, aber einen DHT22 an den Raspi anzuschließen und in regelmäßigen Abständen die Temperatur in eine Datei zu loggen ist für viele hier eine Sache von 5-10 Minuten, da das selberschreiben des Scripts/Programms mit ein wenig Erfahrung deutlich schneller geht, als irgendwas aus dem WWW zusammen zu Kleistern und dann mühsam (mit Forenhilfe) zu debuggen.

    Nimm dir das bitte zu Herzen oder auch nicht :)

    LG

    EDIT:


    Warum muss dann jeder Anwender am 2. Tag seiner "Karriere" GUIs programmieren können?

    "Muss"
    nicht, ist aber für einen Anfänger in heutiger Zeit (Wieviel % der Windoof Nutzer, die mit dem Raspi anfangen, wissen im Vorraus, was eine Konsole/Terminal/Commandprompt ist) schon was tolles, als nur irgendwelche Zahlenreihen hoch und runter zu coden ;)

  • Wenn ich von absolut nix keine Ahnung habe und nur mit cut + paste "programmieren" kann, dann wäre eigentlich der ursprüngliche Programmautor der richtige Ansprechpartner, wenn das kopierte Programm nicht funktioniert, oder abgeändert werden soll.

    Ohne Eigeninitiative (die mit einem Linux Grundkurs beginnt) ist die Anschaffung eines Pi eigentlich für die Tonne.

    Servus !

    RTFM = Read The Factory Manual, oder so

    Einmal editiert, zuletzt von RTFM (14. April 2017 um 14:15)

  • Hallo zusammen,

    ah da sind wieder jeden Menge Gscheidhaferl im Forum die nichts anderes zu tun haben jemanden eines auf die Mütze zu hauen und blöde Kommentare von sich zu geben
    Ich habe nicht euch um einen Antwort gebeten sonder noisfloor ob es so nett wäre mir mal zu zeigen wo meine Fehler sind da Python für mich NEU ist und ich seinen Ausführung nicht verstehe
    Welche Erfahrungen ich wo und mit was habe kann euch allen schei.... Egal sein und schreibt nur weiter unnütze Kommentare.
    Ich dachte ich bin hier in einem Linux Forum und nicht bei unsachlichen Windows "Profis"

    Danke euch allen und schöne Ostern

    Einmal editiert, zuletzt von heman (16. April 2017 um 10:27)

  • Bei allem Respekt, Heman. Du kommst hier rein, hast keinen blassen Schimmer und maulst dann rum, wenn man dich auffordert, dich mal auf den Allerwertesten zu setzen und dir die elementarsten Grundlagen selbst anzueignen. Lies das passende Kapitel in einem Python-Buch, probier mit eigenen Programmen aus, was funktioniert und was nicht und bau das dann in dein Programm ein. Hier irgendeinen Copy&Paste-Programmcode-Flickenteppich vorzulegen, von dem du selbst nichts verstanden hast, und zu erwarten, dass dir andere die Arbeit machen, ist inakzeptabel.
    Und die Dinge, die noisfloor ausgeführt hat, kannst du auch leicht verstehen, wenn du mal in ein Buch schaust.
    Hier hilft dir jeder gerne, wenn du ein konkretes Problem hast. Aber Fragen in der Art "Ich will zum Mars fliegen, kann mir jemand sagen, wie das geht?" lösen wirklich keine Begeisterung aus!
    Und was der Tritt gegen Windows-User soll, versteht kein Mensch. Wenn du frustriert bist, weil du die einfachsten Dinge nicht gebacken bekommst, dann lass das nicht wahllos an anderen aus.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

    Einmal editiert, zuletzt von Gnom (16. April 2017 um 11:31)

  • Jeder hat mal klein angefangen. Auch ich habe erst im Internet lange rum gesucht, fertige Sachen kopiert und erst später damit angefangen mir meine eigenen Sachen zusammen zu kleistern - aber meistens auch in anderen Scripts geguckt wie es da gemacht wurde.

    Verstehe daher auch nicht so recht wieso hier manche Leute meinen sie müssten derart abgehen. Einzig in Punkto Eigeninitiative müsste auch ich den anderen zustimmen, davon merkt man bei dir (heman) leider nichts. Es wirkt ein bisschen so: "Hier habt ihr mein Script, macht mal fertig!".


    Ich möchte die Ausgabe eines DHT22 -> Temperatur und Luftfeuchtigkeit am Bilschirm sichtbar und ich eine Datei geschrieben haben.
    Der Rest mit schalten eines Relais usw funktioniert nur bekomme ich es nicht hin das ganze Ausgabe in einen Datei zu schreiben

    Womit oder Wie willst du die Werte auf dem Bildschirm darstellen?
    Warum oder Wozu willst du die Werte in eine Datei schreiben?

    Das "try: except:" Konstrukt wie Du es verwendet hast ist so nicht richtig. Mit dem "try: except:" kann man mögliche Fehler abfangen und entsprechend drauf reagieren. Auch kann man beispielsweise auf STRG+C reagieren und dadurch das Script sauber beenden lassen und GPIO's wieder zurücksetzen...

    Dein Versuch ließt sich auch etwas wirr, weil du zum Beispiel bei einem Funktionsaufruf ein Leerzeichen vor " ( " setzt oder "tempstr" so ziemlich komisch aussieht. Mal setzt du zwischen Variable und = ein Leerzeichen, mal aber nicht...
    2x f.close() zu setzen macht auch kein Sinn, ein mal reicht völlig. Aber diesbezüglich macht es auch kein Sinn die Datei im "r+"-Modus zu öffnen, zumindest käme es komisch wenn du neue Werte an den Anfang der Datei einfügen willst - sinniger wäre der Modus "a", du brauchst auch nur schreiben, lesen ist hier überflüssig.

    Also Schritt für Schritt:
    [code=php]
    !/usr/bin/env python3
    [/php]

    Hier fehlt die Raute am Anfang der Zeile damit es auch tatsächlich ein Shebang wird:
    [code=php]
    #!/usr/bin/env python3
    [/php]


    [code=php]
    import Adafruit_DHT as dht
    import RPi.GPIO as gp
    import time
    [/php]

    Kann man machen, ist aber wie ich finde eher unschön.
    Besser:
    [code=php]
    import Adafruit_DHT
    import time
    from RPi import GPIO
    [/php]

    Dadurch ändern sich dann aber auch alle relevanten Zeilen:

    [code=php]gp.setmode(gp.BCM)[/php]
    In:
    [code=php]GPIO.setmode(GPIO.BCM)[/php]

    Wenn man das "try: except:" Konstrukt richtig anwendet und das Script bei drücken von STRG+C sauber beendet, ist folgende Zeile überflüssig:
    [code=php]gp.setwarnings(False)[/php]

    Da wir den import geändert haben ändert sich das hier wieder:
    [code=php]
    gp.setup(18, gp.OUT) #Heizung
    [/php]
    In:
    [code=php]
    GPIO.setup(18, GPIO.OUT) #Heizung
    [/php]

    So und nun kommt der Hauptteil...
    [code=php]
    while 1:
    try:
    [/php]
    ..würde ich andersherum setzen, da hier der Hauptaugenmerk darauf liegt die while durch STRG+C unterbrechen zu können und somit das Script sauber zu beenden..
    [code=php]
    try:
    while True:
    [/php]
    Anmerkung: Ein True ist eine 1, ein False ist eine 0.

    Noch mal dein ganzer while Block:

    [code=php]
    while 1:
    try:

    h,t=dht.read_retry(dht.DHT22, 4)
    datetime = time.strftime("%d.%m.%Y %H:%M:%S")
    tempstr = "Temperatur = {0:0.0f}°C rel.Luftfeuchte={1:0.1F}%".format(t, h)
    print(datetime + " Temperatur={0:0.1f}°C rel.Luftfeuchte={1:0.1f}%".format(t, h))
    f = open ('temperatur.log', 'r+')
    readfile = f.readline(0)
    content = readfile + 'Datum ' + datetime + tempstr + '\n'
    #content = ("readfile + Datum: " + datetime + " tempstr + " '\n')
    f.write = (content)
    f.close()

    f.close()

    except:
    print("Fuehler pruefen")
    # gp.output(15, gp.HIGH)

    if t >=MAX_TEMP:
    print("Heizung aus")
    # gp.output(18, gp.LOW)
    time.sleep(4)
    else:
    print("Heizung an")
    # gp.output(18, gp.HIGH)
    time.sleep(4)
    [/php]

    Wenn ich nun die einzelnen Zeilen korrigiert poste passt die Einrückung nicht mehr - was am Forum liegt... Also beim "copy&paste" bitte selber entsprechend anpassen.

    [code=php]h,t=dht.read_retry(dht.DHT22, 4)[/php]

    Tu dir selbst ein Gefallen und benenne die Variablen entsprechend ihrer Funktion/Sinn. Sowas wie "h" oder "t" geht zwar schnell zu tippen, fördert aber nicht wirklich die Übersichtlichkeit oder spätere Zuordnung was da eigentlich passiert
    Auch müssen wir "dht" anders setzen da wir ja den import geändert haben:

    [code=php]hum, temp = Adafruit_DHT.read_retry(Adafruit_DHT.DHT22, 4)[/php]
    Hierzu noch eine Anmerkung:
    definiere veränderbare Dinge wie hier den GPIO#4 lieber ganz oben im Script als Konstante/Variable damit du später 1) nicht irgendwo im Script etwas verändern musst und 2) sofort siehst "ah den und den Pin brauch ich"

    [code=php]
    tempstr = "Temperatur = {0:0.0f}°C rel.Luftfeuchte={1:0.1F}%".format(t, h)
    print(datetime + " Temperatur={0:0.1f}°C rel.Luftfeuchte={1:0.1f}%".format(t, h))
    [/php]

    Dieses Konstrukt ist ziemlich komisch.
    Ich verstehe schon das du "tempstr" später in die Datei schreiben willst, aber nicht wieso du "tempstr" nicht auch fürs print() verwendest? :s
    Dazu kommt das du {0:0.0f} und {1:0.1F} falsch interpretiert hast. {0:0.0f} sorgt für 2 Dinge: Die erste "0" ist das Index, ":0.0f" behandelt den einzufügenden Wert. Das "f" behandelt sog. float Werte also Zahlenwerte mit Komma bzw im Python-Fall mit Punkt. Dein gesetztes "F" sollte klein geschrieben werden, ist es beim "temp" Wert ja auch - funktioniert zwar auch mit "F" aber warum Chaos schüren?
    Das "0.0f" sorgt dafür dass keine Nachkommastelle des Wertes eingefügt wird. "0.1f" fügt eine Nachkommastelle ein.

    Anpassung:
    [code=php]
    tempstr = "Temperatur = {0:0.0f}°C. rel.Luftfeuchte = {1:0.1f}%" . format(temp, hum)
    print("%s %s" % (datetime, tempstr))
    [/php]..allerdings ist "tempstr" als solches auch etwas blöd gewählt, aber erst mal egal..

    [code=php]
    f = open ('temperatur.log', 'r+')
    readfile = f.readline(0)
    content = readfile + 'Datum ' + datetime + tempstr + '\n'
    #content = ("readfile + Datum: " + datetime + " tempstr + " '\n')
    f.write = (content)
    f.close()

    f.close()
    [/php]
    Hier stören mich eigentlich alle Zeilen.
    Die erste Zeile schon wegen besagtem Leerzeichen zwischen open und ( und wegen des von dir gewählten Modes. "f.write =" wird aber auch nicht funktionieren, du musst die write Methode ausführen, keinen Wert setzen.
    Aber was auch ein ziemlich oft vorkommender Fehler ist: Kein absoluter Pfad zur Datei, denn das wird dir zum Verhängnis wenn du das Script zB über crontab oder /etc/rc.local usw starten willst.
    Durch die falsche Wahl des Modes sind alle nachfolgenden Zeilen auch betroffen...

    Anpassung:
    [code=php]
    f = open('/home/pi/temperatur.log', 'a')
    f.write('%s %s\n' % (datetime, tempstr))
    f.close()
    [/php]

    Das ist so allerdings immer noch unschön. Besser wäre es hier das 'with'-Statement zu verwenden den das kümmert sich selbstständig ums schließen der Datei/etc:
    [code=php]
    with open('/home/pi/temperatur.log', 'a') as f:
    f.write('%s %s\n' % (datetime, tempstr))
    [/php]

    So und nun zum Hauptproblem.... Was hast du hier versucht zu machen?
    [code=php]
    except:
    print("Fuehler pruefen")
    # gp.output(15, gp.HIGH)

    if t >=MAX_TEMP:
    print("Heizung aus")
    # gp.output(18, gp.LOW)
    time.sleep(4)
    else:
    print("Heizung an")
    # gp.output(18, gp.HIGH)
    time.sleep(4)
    [/php]

    Ich schreib das ganze while-Konstrukt mal um:

    [code=php]
    try:
    while True:
    time.sleep(4)
    try:
    hum, temp = Adafruit_DHT.read_retry(Adafruit_DHT.DHT22, 4)
    except:
    print("Fuehler pruefen!")
    GPIO.output(15, GPIO.HIGH)
    continue
    GPIO.output(15, GPIO.LOW)
    tempstr = "Temperatur = {0:0.0f}°C. rel.Luftfeuchte = {1:0.1f}%" . format(temp, hum)
    print("%s %s" % (datetime, tempstr))
    with open('/home/pi/temperatur.log', 'a') as f:
    f.write('%s %s\n' % (datetime, tempstr))
    if temp >= MAX_TEMP:
    print("Heizung aus")
    GPIO.output(18, GPIO.LOW)
    else:
    print("Heizung an")
    GPIO.output(18, GPIO.HIGH)
    except (KeyboardInterrupt, SystemExit):
    GPIO.cleanup()
    print("\nSchliesse Programm.")
    [/php]


    Diesen Beitrag zu erstellen hat mich eine Stunde gekostet. Sollte dir heman also evtl. zu denken geben, wieso die anderen derart schnippisch reagiert haben - denn das ist nicht mal eben so in ner Minute erklärt.

    Wenn du jetzt aber stillschweigend den Code nimmst und nichts mehr postest bestätigst du alle vorherigen schnippisch Reaktionen, denn genau das erleben wir hier täglich etliche male - wir helfen ausführlich und die Hilfesucher verziehen sich undankbar.

  • Hallo
    erst mal danke für deinen Hife und das du dir eine Stunde Zeit genommen hast.
    SUPER FETTES DANKE

    Ich habe das ganze nur mal kurz überflogen und werde es heute Abedn noch genauer ansehen und mir die Fehler zu Herzen nehmen
    Mit dem ganzen möchte ich ein 230 V Heizung steuern und das ggf. Graphisch darstellen ohne per WEP oder einen SQL DB -> deshalb in eine Datei
    Das mit dem "Hash" und mit dem " F" sind Schreibfehler die habe ich schlichtweg übersehen.
    Im Netz habe ich mir nur das Adafruit Script für den DHT22 bei Github kopiert inkl. der Datenblätter und Erklärung , den Rest habe ich mit mit einen Python Buch aus dem Netz selbst erarbeitet.

    Der ganze "Absatz"

    f = open ('temperatur.log', 'r+')
    readfile = f.readline(0)
    content = readfile + 'Datum ' + datetime + tempstr + '\n'
    #content = ("readfile + Datum: " + datetime + " tempstr + " '\n')
    f.write = (content)
    f.close()

    und
    tempstr
    ist gewachsen mit Python Büchern aus dem Netz, da das ganze mit dem schreiben in eine Datei nicht funktioniert hat und schon jeden Menge ausprobiert habe.

    Sorry aber ich denke das sich hier einschließlich mir ALLE etwas im Ton vergriffen haben und kann auch sachliche Kritik einstecken

    Sorry das der Ton nicht OK war.

    Heman

  • Mit dem ganzen möchte ich ein 230 V Heizung steuern und das ggf. Graphisch darstellen ohne per WEP oder einen SQL DB -> deshalb in eine Datei

    Womit möchtest du denn die grafische Darstellung umsetzen?
    Je nachdem womit, würde die extra Datei dann nämlich ggf nicht nötig sein

  • Hi ich nochmal
    das schreiben mit dem "a" Modus habe ich schon getestet aber es wurde immer nur ein Eintrag in die Datei geschrieben und der letzte überschrieben inkl. \n
    Danach habe ich gelesen das es mit "r+"funktionieren soll und dies dann ausprobiert und es ging wieder nicht.

    Gruß
    Heman

  • Siehe dazu: https://www.tutorialspoint.com/python/python_files_io.htm

    Code
    a
    Opens a file for appending. The file pointer is at the end of the file if the file exists. That is, the file is in the append mode. If the file does not exist, it creates a new file for writing.
  • Hi

    mit GNUPlott oder einfach auf einen anderen Rechner per FTP schieben und dort mit Excel
    Aber wenn das schreiben in einen Datei nicht klappt habe ich den gedanke nach hinten vershoben
    Automatisch zusammengefügt:
    Danke für den Link
    Bin gerade am lesen

    Einmal editiert, zuletzt von heman (16. April 2017 um 14:54)

  • Hallo meigrafd,

    nochmals DANKE das du die so aktiv an meinem Bienen Königinnenzucht-Schrank beteiligst

    Ich habe mir jetzt mal einige Tage Zeit genommen und dein Script mal auf den Raspi geschrieben und getestet-

    Wenn ich das Programm ohne
    gp.setwarnings(False)
    ausführe
    bekomme ich folgende Meldung:
    pi@raspberrypi:~ $ schrank_utf.py:10: RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.

    Laut "Google" soll ich das wieder einfügen nur wenn ich dies durchführe kommt am Bildschirm nichts und auch nicht in der Log Datei
    Alles ist Richtig angeschlossen und es läuft kein weiters Script das auf die GPIO zugreift

    Leider hat die suche im Netz/Forum nichts gebracht
    Laut Netz soll das GPIO.cleanup() im Script sein aber es ist ja vorhanden

    Danke nochmals für deine Hilfe
    Automatisch zusammengefügt:
    Hi
    so jetzt ist das Script auch dabei

Jetzt mitmachen!

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