Posts by Flixsi

    Hallo,


    nun hat mich das ganze nochmal richtig zum Nachdenken gebracht.

    Zu dem Bootloader finde ich zu Raspberry 3 nichts. Wie beim 4er geht das leider nicht.

    Somit kann ich die GPIOs nur über den GPIO.cleanup() Befehl bereinigen.


    Spannungen kann ich hier aber nicht abschalten. Daher ist die Überlegung, das ich ein kleines Relai dazwischen baue. So ein Skript wird ja eigentlich von oben nach unten durchgearbeitet. Sprich wenn ich oben im allgemeinen Teil das Relai einmal schalten lasse und damit die Spannung der DHTs wegschalte, werden die DHTs ja quasi einmal refresht, was ich derzeit nur schaffe wenn ich den Raspberry komplett ausschalte. Seh ich das richtig?



    Quote


    Deine Adafruit Bibliothek ist auch veraltet. Die hier benutzte CircuitPython DHT wird empfohlen.


    Diese habe ich doch schon in Verwendung =)

    Wird ebenfalls über import adafruit_dht eingebunden oder woher siehst du das ich eine alte verwende?



    Zu dem Thema das Relai 100000 mal einzuschalten, habe ich aufgegriffen und das >5 durch =5 ersetzt. So wird der Ausgang einmal geschaltet, egal wie hoch der Zähler läuft. Sobald der Feuchtigkeitswert wieder unter die Grenze fällt, wird dieser Zähler ja wieder auf 0 gesetzt.


    Vielen Dank für die die Unterstützung hier.

    Hallo Tigerbeere


    ich habe lange gebraucht, dass diese DHTs richtig ausgelesen werden.

    Bin auch nicht so conform mit Linux, bzw bin mehr der Windoof Garfik Mensch, doch für mein Projekt habe ich mich in unbekanntes Tarain gegeben.


    Über den Bootloader habe ich bei Google noch nichts direkt gefunden. Finde immer Anleitungen wie ich von USB Boote, aber das brauch ich ja nicht. Wo kann ich das also einstellen? Macht das überhaupt dann einen Sinn?


    Du sagst ich würde den Sensor 10000 mal starten? Wo mach ich das denn bitte?

    Hatte überlegt, Fehler in eine Log Datei zu schreiben, bzw mir per Mail zu schicken.


    Habe mich nur an beispiele gehalten, wo eben Fehler auch nicht behandelt werden.

    Danke llutz! Das hatte ich übersehen, nehme ich alles zurück und behaupte das Gegenteil. ;)

    Ok, dann ist das auch nicht der Fehler. Was ist dann der Fehler?


    Oder macht es Sinn die Variablen zu leeren vor dem neuen befüllen?


    Oder ist doch ein Fehler im Code?


    Frage ist ja auch, ein reboot hilft nicht nur ein kompletter shutdown bringt ja Abhilfe.

    Hallo,


    hier beide Werte, wie gewünscht.


    Frage ist nur, warum Speicher? Der Wert in der Variablen wird doch immer überschrieben, ist ja nicht gerade ein array was größer werden kann.

    also mit dem Befehl habe ich folgende Ausgabe bekommen:


    Code
    pi@RaspiLuefter:~ $ df -h
    Dateisystem    Größe Benutzt Verf. Verw% Eingehängt auf
    /dev/root        15G    2,2G   12G   16% /
    devtmpfs        459M       0  459M    0% /dev
    tmpfs           464M       0  464M    0% /dev/shm
    tmpfs           464M     12M  452M    3% /run
    tmpfs           5,0M    4,0K  5,0M    1% /run/lock
    tmpfs           464M       0  464M    0% /sys/fs/cgroup
    /dev/mmcblk0p1  253M     53M  200M   21% /boot
    tmpfs            93M       0   93M    0% /run/user/1000

    Hallo,


    einmal der Quellcode und zum anderen, es werden von keinem der beiden DHTs mehr Werte erfasst bzw ausgegeben.

    Hallo zusammen,


    ich bin etwas ratlos.


    Ich habe einen Rasberry 3b+ und habe an ihm 2 DHT22 Sensoren am laufen.

    Diese werden immer wieder abgefragt und ausgewertet. So auch kein Problem.


    Doch nach einigen Tagen kann der Rasberry den Wert nicht mehr auslesen. Ein reboot funktioniert dann auch nicht. Ich muss den Rasberry einmal komplett aus machen und wieder hoch fahren, dann funktioniert es wieder ganz normal ein paar Tage.


    Hintergrund:

    Ich nutze die beiden DHTs um an 2 Stellen die Luftfeuchtigkeit zu messen und wenn diese zu hoch ist, dann wird ein Lüfter angesteuert. Zusätzlich werden die Temperatur und die Luftfeuchtigkeit in eine MySQL Datenbank auf der NAS gesichert.


    Laut Putty habe ich folgende Ausgabe:



    Was muss ich machen, um den Fehler zu beheben?


    Freue mich auf Rückinfo.

    Hast du das in dem Autostart drinnen wenn es nicht funktioniert? Wenn ja du musst mit der Service Unit sicherstellen dass das Netzwerk schon bereit ist

    Das ist ein guter Ansatz.

    Ja es ist im Autostart. Wie stell ich das denn sicher?

    Hallo zusammen,


    ich versteh es nicht und komm nich weiter.


    Ich habe eine .servie Datei diese ist auch laut Status "enabled", doch es funktioniert nicht. Ich habe damm beim Status folgendes Fehlerbild:



    wenn ich die feuchte.py Datei manuell starte, dann klappt es Problemlos und ich bekomme keine Verbindungsprobleme.


    Wo ist da nur der Fehler?


    Code von der feuchte.py:

    Code der feuchte.service:

    Code
    [Unit]
    Description=Startet die Feuchtigkeitsmessung
    
    [Service]
    Type=simple
    User=pi
    ExecStart=/usr/bin/python3 /home/pi/feuchte.py
    
    [Install]
    WantedBy=multi-user.target

    Freue mich auf eure hilfreichen Antworten.


    Flixsi

    Aller Anfang ist schwer - nur nicht verzagen und das Forum gibts ja auch noch ;)


    Freut mich, dass ich/wir helfen konnten.

    Wenn du nach deinem Test dann der Überzeugung bist, dass alles wie gewünscht funktioniert markiere bitte den Thread oben noch als erledigt.

    Hallo,


    würde es gern als erledigt markieren, doch nun steh ich vor neuen Herausforderungen.

    Der Raspi läuft und irgendwann dann nicht mehr. Habe mal geschaut was so anliegt und finde folgendes:



    Was ist denn jetzt wieder falsch?

    Super, habe es jetzt mit User=pi ergänzt und nun scheint es zu funktionieren. Werde es noch genauer bei gelegenheit testen. Aber es scheint jetzt echt geklappt zu haben.

    Was eine schwere Geburt.

    Entferne mal Zeile 7. Bin mir nicht sicher ob 2 x ExecStart vorkommen dürfen und in Zeile 6 bitte das & entfernen.


    Anschließend ausführen und Ausgabe posten

    Code
    systemctl daemon-reload
    systemctl start <unitname>
    systemctl status <unitname>
    journalctl -r -u <unitname>

    Hallo,


    es hat etwas gedauert und das ganze brachte mich weiter. Also laut den Befehlen fehlen ihm die Module und deshalb kann er die Skripte nicht laden oder sehe ich das jetzt falsch?

    Dann ist natürlich jetzt die Frage, die Module sind ja installiert. Wenn ich mich als pi eingeloggt habe und dann starte, dann erkennt er sie ja, nur noch nicht bei Systemstart?

    Habe jetzt auch mal in der Unit versucht, aber es passiert nichts.


    Code
    [Unit]
    Description=Startet die Lüftersteuerung
    
    [Service]
    Type=simple
    ExecStart=/usr/bin/python3 /home/pi/luefter.py &
    ExecStart=/usr/bin/python3 /home/pi/feuchte.py &
    
    [Install]
    WantedBy=multi-user.target

    Und laut dem Befehl sudo systemct1 is-enabled bekomm ich die Antwort enabled.

    Quote

    Das sgt ja nur aus, dass die Skripte nicht funktionieren, aber nicht, dass die nicht laufen.

    Das kann ich nicht bestätigen, wenn ich mich über putty auf den Raspi einwähle und die skripte einzeln starte dann funktionieren sie ja. Ich habe ein weiteres Image, wo ich die luefter.py einzeln am laufen habe, aber auch nur, weil dort der Benutzer Pi automatisch angemeldet wird und durch das anmelden, das skript gestartet wird. Aber dann kann ich keine 2 skripte parallel starten.


    Die PID in die rc.local einfügen?

    Hallo,


    sorry kleiner Copierfehler. Die rc.local hat bereits die & Operatoren.


    Code
     ....
    /usr/bin/python3 /home/pi/luefter.py &
    /usr/bin/python3 /home/pi/feuchte.py &
    
    exit 0