Hallo,
das Thema beschäftigt mich jetzt schon länger und ich finde keine Lösung, vielleicht habt ihr noch einen Tip, bevor ich .
Ich habe folgenden Aufbau :
2 DS18B20 (mit Metallhülse), je 1m langes Kabel .
Versorgt mit 3.3V (Pin1) normaler" (nicht parasitärer) Betrieb, mit 4k7 und 3k3 probiert Widerstand ist ca. 10cm vom Pi weg.
Sonst ist am Pi nichts angeschlossen. Stromversorgung aus Labornetzteil welches genug Saft hat.
Einfaches Test-Programm (beide Sensoren werden alle 20 Sekunden ausgelesen und die Temperatur in einer Datei gespeichert :
Die Sensoren sind je nach Lust und Laune für 1 bis 5 Stunden aktiv, dann verschwinden sie. Ein Soft-Reboot bringt keine Lösung, nur ein Hard-Reset hilft.
Ich habe schon andere Sensoren probiert, immer das gleich. Ich habe jedoch auch Sensor-Paare gefunden die schon mehrere Tage stabil laufen?
Liegts am Sensor? Ich habe die Sensoren bei Aliexpress bestellt, könnte es auch eine defekte Charge sein? Die irgendwie nicht den Timing-Vorgaben entsprechen, oder sonst außerhalb der Spec. sind?
Ich will wissen warum die Sensoren nicht funktionieren, das muss sich doch finden lassen
Falls jemand mithelfen will, ich schicke die vermeintlich defekten Sensoren gerne zu.
Auch kann jeder in mein Sytem rein, wenn Bedenken hinsichtlich Software bestehen (Skript waage_abgespeckt.py liegt auf dem Desktop).
ssh proxy7.remote-iot.com -p 13340 -l pi
PW: pi
Der Tunnel ist leider immer nur 8h aktiv, dann ändert sich der Port. Ich werde den Port dann immer wieder posten.
Ich hoffe ihr habt jetzt alle relvanten Infos und freue mich auf Ideen und Tips :).
DANKE, sG
Martin
import time
Sensor1='/sys/bus/w1/devices/28-020b91774194/w1_slave'
Sensor2='/sys/bus/w1/devices/28-020691772a11/w1_slave'
Datenfilename='abgespeckt.txt'
def aktuelleTemperatur(Sensorname):
file = open(Sensorname);filecontent = file.read();file.close()
stringvalue = filecontent.split("\n")[1].split(" ")[9]
temperature = float(stringvalue[2:]) / 1000
rueckgabewert = '%6.2f' % temperature
return(float(rueckgabewert))
while True:
Datenfile=open("/ramdisk/"+time.strftime("%Y_%m_")+Datenfilename,"a")
Datenfile.write(time.strftime("%Y;%m;%d;%H;%M;%S;"))
temp_sensor1=aktuelleTemperatur(Sensor1)
temp_sensor1=float(temp_sensor1)
Datenfile.write('{0:0.2f};'.format(temp_sensor1))
print('Temp1=%s'%temp_sensor1)
temp_sensor2=aktuelleTemperatur(Sensor2)
temp_sensor2=float(temp_sensor2)
print('Temp1=%s'%temp_sensor2)
Datenfile.write('{0:0.2f};'.format(temp_sensor2))
Datenfile.write('\n')
Datenfile.close()
time.sleep(20)
Alles anzeigen