Hallo,
seit mehreren Wochen kämpfe ich mit einem Phänomen, das ich noch nicht mal einordnen kann, ob es ein Hardware- oder Software-Problem ist oder ob ich schlicht zu viel vom RasPi B verlange.
Ich stelle hier die Frage ein, weil es sich um die 1W-Temperatur-Ordner unter /sys/bus/1w/devices/... handelt.
Aber der Reihe nach.
Seit einem viertel Jahr betreibe ich erfolgreich einen RasPi Modell B zur Temperaturüberwachung meiner Heizung und weiterer Räume. Die GPIOs habe ich in Anlehnung des Tutorials von Raspeprojekt aktiviert. Es sind aktuell 8 Sensoren, 5 Sensoren Heizung (ca. 3m Kabellänge vom RasPi entfernt, dann sternförmig verlegt) und von dort aus 3 weitere Sensoren, max. 8m entfernt. Den Widerstand habe ich auf 3K3 Ohm reduziert.
Außerdem läuft das Skript zum Hoch- und Runterfahren des RasPis.
Funktioniert einwandfrei.
Die Datenerfassung erfolgt nach einer Idee von Martin Kompf, also mit RRD-Tool sowie LightTPD.
Da der RasPi eigentlich gnadenlos unterfordert ist und weil er ohnehin im Schaltschrank untergebracht ist, möchte ich ihn um die Strommessung ergänzen.
Dazu habe ich mich für das Projekt PiEM Feraris Stromzähler entschieden, allerdings mit dem gekauften Gesamtprojekt von TGD-Consulting
Nun habe ich ein Problem, wenn ich parallel zu meiner Temperaturmessung die Strommessung aufrufe. Der Entwickler hat sich auch schon sehr um mein Problem gekümmert, aber irgendwie sind wir nun doch am Ende...
Sein Projekt besteht im Grunde aus 2 in ROBOL geschriebenen Teilen, eines zur Datenerfassung und Aufbereitung sowie ein Webserver, der bei Aufruf GNUPlot-Grafiken erzeugt und anzeigt.
Und hier beginnt das Problem. Beide Bausteine werden beim Booten gestartet und laufen einwandfrei im Hintergrund. Die Datenerfassung meiner Temperaturen und des Stromzählerstandes läuft ohne Probleme.
Erst wenn ich den Webserver der Strommessung mittels http://IP-adresse:8080 aufrufe, verschwinden nach 1...2 Minuten einige Sensorordner unter /sys/bus/1w/devices/...
Nicht alle, aber einige. Das Problem kann nur mittels Neustart beseitigt werden.
Beim Entwickler läuft auch Strom- und Temperaturmessung parallel. Allerdings nicht so vielen Sensoren. Und bei mir klappt es auch mit 4 Sensoren, nicht aber mit 8 Sensoren. Ich habe bereits den Widerstand auf 2K1 Ohm reduziert. Noch weniger traue ich mich nicht.
Es gibt noch einen Unterschied, den der Entwickler entdeckt hat, den wir nicht deuten können. Bei mir im dmesg-Log steht Folgendes:
[ 5.473795] Driver for 1-wire Dallas network protocol.
[ 5.627729] w1-gpio onewire@0: gpio pin 4, external pullup pin -1, parasitic power 0
[ 5.782649] w1_add_master_device: set_pullup requires write_byte or touch_bit, disabling
Bei ihm steht nur
[ 5.489771] Driver for 1-wire Dallas network protocol.
[ 5.658567] w1-gpio onewire@0: gpio pin 4, gpio pullup pin -2
[ 5.777608] w1_add_master_device: set_pullup requires write_byte or touch_bit, disabling
Könnte das von Bedeutung sein?
Oder ist das Modell 1B schlicht überfordert und könnte Modell 2 hardwaremäßig leistungsfähiger sein?
EDIT:
Ich möchte noch was zur Verkabelung der Sensoren sagen. Die Sensoren sind zum Großteil mittels CAT7-Kabel verbunden, wobei DATA und GND ein Kabelpaar sind und die 5V der Strang eines anderen Paares. Die Kabel sind relativ massiv und auch massiv ummantelt.