Einen wunderschönen guten Morgen.
Ich benutze im Moment "motion", um einen Livestream meiner Logitech C200 Webcam zu realisieren.
Dieser läuft auch perfekt mit einer CPU-Grundlast von "35%".
Nun möchte ich gleichzeitig die Temperatur und die relative Luftfeuchtigkeit meines "DHT22"-Sensors abfragen. Dies funktioniert leider nicht, es wird konstant die Fehlermeldung "Data not good, skip" angezeigt. Sobald ich "motion" beende, klappt die Abfrage wieder ohne Probleme.
Die Daten des Sensors frage ich mit diesem in "C" geschriebenem Porgramm ab:
https://github.com/technion/lol_dht22
Ich war auch schon fleißig im Gespräch mit dem Admin dieser Seite:
http://www.sweetpi.de/blog/436/luftf…berry-pi-messen
... von dem Ich das Tutorial benutzt habe (s. "letzte Kommentare".
In einem ähnlichen Thread hier im Forum wurde vermutet, dass die hohe CPU-Last ausschlaggebend für den Misserfolg der Abfrage ist:
Motion CPU Last und 1Wire Sensoren!
Darauf aufbauend habe ich nach Lösungsmöglichkeiten gesucht:
Folgende Lösungsmöglichkeiten sind dabei schon fehlgeschlagen:
- Erhöhung der Priorität der Abfrage mit "nice -n -20" und gleichzeitiger Reduzierung des "motion-Prozesses" mit "nice -n 19".
- Änderung bestimmter Variablen (delay, delayMicroseconds) in der Konfigurationsdatei für den "DHT22"-Sensor "dht22.c", mit dem Ziel, dem Programm ein bisschen mehr Zeit für die Abfrage zu schaffen. Allerdings bin ich durch den Code auch nicht ganz durchgestiegen, kann also sein, dass ich genau die falschen Werte geändert habe. Die einzelne Abfrage hat aber auf jedenfall länger gedauert, leider immer noch mit dem Fehler "Data not good, skip".
- Aufruf der Wiring-Pi Priorität mit höchster Priorität, wie hier beschrieben:
http://wiringpi.com/reference/prio…ts-and-threads/
Hättet Ihr noch irgendwelche Lösungsvorschläge, oder liege ich mit der Ursache der CPU-Last vielleicht völlig falsch ?
Gruß,
bl4ckOut